Skip to content
Snippets Groups Projects
Commit 09cd223d authored by tpylak's avatar tpylak
Browse files

LMS-2069 iBrain2 dropboxes: cell-level data, small improvements

SVN: 20347
parent 65a6ac97
No related merge requests found
......@@ -184,7 +184,7 @@ class RegistrationConfirmationUtils:
# --------------
def setPropertiesAndRegister(imageDataset, iBrain2DatasetId, metadataParser, incoming, service, factory):
def setImageDatasetPropertiesAndRegister(imageDataset, iBrain2DatasetId, metadataParser, incoming, service, factory):
imageRegistrationDetails = factory.createImageRegistrationDetails(imageDataset, incoming)
for propertyCode, value in metadataParser.getDatasetPropertiesIter():
imageRegistrationDetails.setPropertyValue(propertyCode, value)
......@@ -193,11 +193,31 @@ def setPropertiesAndRegister(imageDataset, iBrain2DatasetId, metadataParser, inc
dataset = tr.createNewDataSet(imageRegistrationDetails)
dataset.setParentDatasets([metadataParser.getParentDatasetPermId()])
imageDataSetFolder = tr.moveFile(incoming.getPath(), dataset)
ok = tr.commit()
if ok:
print "success", iBrain2DatasetId
if tr.commit():
createSuccessStatus(iBrain2DatasetId, dataset, incoming.getPath())
def registerDerivedBlackBoxDataset(state, service, factory, incoming, metadataParser, datasetType, fileFormatType):
iBrain2DatasetId = metadataParser.getIBrain2DatasetId()
openbisDatasetParent = metadataParser.getParentDatasetPermId()
(space, plate) = tryGetConnectedPlate(state, openbisDatasetParent, iBrain2DatasetId, incoming.getPath())
if plate == None:
return
transaction = service.transaction(incoming, factory)
dataset = transaction.createNewDataSet()
dataset.setDataSetType(datasetType)
dataset.setFileFormatType(fileFormatType)
dataset.setSample(transaction.getSample('/'+space+'/'+plate))
dataset.setMeasuredData(False)
for propertyCode, value in metadataParser.getDatasetPropertiesIter():
dataset.setPropertyValue(propertyCode, value)
dataset.setParentDatasets([metadataParser.getParentDatasetPermId()])
transaction.moveFile(incoming.getPath(), dataset)
if transaction.commit():
createSuccessStatus(iBrain2DatasetId, dataset, incoming.getPath())
"""
Returns:
(plateSpace, plateCode) tuple for the plate connected with the specified dataset
......@@ -214,6 +234,7 @@ def tryGetConnectedPlate(state, openbisDatasetId, iBrain2DatasetId, incomingPath
errorMsg = "No plate is connected to the dataset: "+openbisDatasetId+"."
else:
errorMsg = "Dataset does not exist or is not accessible: "+openbisDatasetId+". Maybe the dataset has not been registered yet. Try again later."
print errorMsg
RegistrationConfirmationUtils().createFailureStatus(iBrain2DatasetId, errorMsg, incomingPath)
return (None, None)
......
#! /usr/bin/env python
import commonImageDropbox
import commonDropbox
reload(commonImageDropbox)
reload(commonDropbox)
# Global variable where we set the iBrain2 id of the dataset at the beginning,
# so that the rollback can use it as well.
iBrain2DatasetId = None
def rollback_transaction(service, transaction, algorithmRunner, throwable):
commonDropbox.createFailureStatus(iBrain2DatasetId, throwable, incoming)
if incoming.isDirectory():
metadataParser = commonDropbox.DerivedDatasetMetadataParser(incoming.getPath())
iBrain2DatasetId = metadataParser.getIBrain2DatasetId()
commonDropbox.registerDerivedBlackBoxDataset(state, service, factory, incoming, metadataParser, 'HCS_ANALYSIS_CELL_FEATURES_CSV', 'CSV')
\ No newline at end of file
#! /usr/bin/env python
import commonImageDropbox
import commonDropbox
reload(commonImageDropbox)
reload(commonDropbox)
# Global variable where we set the iBrain2 id of the dataset at the beginning,
# so that the rollback can use it as well.
iBrain2DatasetId = None
def rollback_transaction(service, transaction, algorithmRunner, throwable):
commonDropbox.createFailureStatus(iBrain2DatasetId, throwable, incoming)
if incoming.isDirectory():
metadataParser = commonDropbox.DerivedDatasetMetadataParser(incoming.getPath())
iBrain2DatasetId = metadataParser.getIBrain2DatasetId()
commonDropbox.registerDerivedBlackBoxDataset(state, service, factory, incoming, metadataParser, 'HCS_ANALYSIS_CELL_FEATURES_MAT', 'MAT')
#! /usr/bin/env python
import commonImageDropbox
import commonDropbox
reload(commonImageDropbox)
reload(commonDropbox)
# Global variable where we set the iBrain2 id of the dataset at the beginning,
# so that the rollback can use it as well.
iBrain2DatasetId = None
def register(incomingPath):
metadataParser = commonDropbox.DerivedDatasetMetadataParser(incomingPath)
iBrain2DatasetId = metadataParser.getIBrain2DatasetId()
openbisDatasetParent = metadataParser.getParentDatasetPermId()
(space, plate) = commonDropbox.tryGetConnectedPlate(state, openbisDatasetParent, iBrain2DatasetId, incomingPath)
if plate == None:
return
imageDataset = commonImageDropbox.IBrain2ImageDataSetConfig()
imageDataset.setOverviewImageDatasetType()
imageDataset.setPlate(space, plate)
imageDataset.setFileFormatType("JPG")
imageDataset.setRecognizedImageExtensions(["jpg", "jpeg", "png", "gif"])
imageDataset.setStoreChannelsOnExperimentLevel(False)
imageDataset.setGenerateThumbnails(True)
imageDataset.setMaxThumbnailWidthAndHeight(imageDataset.THUMBANAIL_SIZE)
commonDropbox.setPropertiesAndRegister(imageDataset, iBrain2DatasetId, metadataParser, incoming, service, factory)
def rollback_transaction(service, transaction, algorithmRunner, throwable):
commonDropbox.createFailureStatus(iBrain2DatasetId, throwable, incoming)
if incoming.isDirectory():
register(incoming.getPath())
\ No newline at end of file
......@@ -12,6 +12,7 @@ iBrain2DatasetId = None
def register(incomingPath):
metadataParser = commonDropbox.DerivedDatasetMetadataParser(incomingPath)
global iBrain2DatasetId
iBrain2DatasetId = metadataParser.getIBrain2DatasetId()
openbisDatasetParent = metadataParser.getParentDatasetPermId()
......@@ -28,7 +29,7 @@ def register(incomingPath):
imageDataset.setGenerateThumbnails(True)
imageDataset.setMaxThumbnailWidthAndHeight(imageDataset.THUMBANAIL_SIZE)
commonDropbox.setPropertiesAndRegister(imageDataset, iBrain2DatasetId, metadataParser, incoming, service, factory)
commonDropbox.setImageDatasetPropertiesAndRegister(imageDataset, iBrain2DatasetId, metadataParser, incoming, service, factory)
def rollback_transaction(service, transaction, algorithmRunner, throwable):
commonDropbox.createFailureStatus(iBrain2DatasetId, throwable, incoming)
......
......@@ -33,10 +33,9 @@ def register(incomingPath):
imageDataset.setStoreChannelsOnExperimentLevel(False)
imageDataset.setOriginalDataStorageFormat(OriginalDataStorageFormat.HDF5)
commonDropbox.setPropertiesAndRegister(imageDataset, iBrain2DatasetId, metadataParser, incoming, service, factory)
commonDropbox.setImageDatasetPropertiesAndRegister(imageDataset, iBrain2DatasetId, metadataParser, incoming, service, factory)
def rollback_transaction(service, transaction, algorithmRunner, throwable):
print 'failure', iBrain2DatasetId
commonDropbox.createFailureStatus(iBrain2DatasetId, throwable, incoming)
if incoming.isDirectory():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment