Skip to content
Snippets Groups Projects
Commit 61dc01be authored by jakubs's avatar jakubs
Browse files

BIS-104 allow using different feature vector types

SVN: 26718
parent 77155922
No related branches found
No related tags found
No related merge requests found
...@@ -90,12 +90,6 @@ public class FeatureVectorContainerDataSet extends DataSet<DataSetInformation> i ...@@ -90,12 +90,6 @@ public class FeatureVectorContainerDataSet extends DataSet<DataSetInformation> i
} }
} }
@Override
public void setDataSetType(String dataSetTypeCode)
{
throw new IllegalStateException(
"It is illegal to manually set dataSetType of the feature vector dataset.");
}
@Override @Override
public void setPropertyValue(String propertyCode, String propertyValue) public void setPropertyValue(String propertyCode, String propertyValue)
......
...@@ -517,8 +517,23 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr ...@@ -517,8 +517,23 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr
private FeatureVectorContainerDataSet createFeatureVectorContainerDataSet( private FeatureVectorContainerDataSet createFeatureVectorContainerDataSet(
FeatureVectorDataSet mainDataset) FeatureVectorDataSet mainDataset)
{ {
String dataSetTypeCode = mainDataset.getDataSetType();
if (!isHCSAnalysisDataSetType(dataSetTypeCode))
{
throw UserFailureException
.fromTemplate(
"Feature vector data set type should conform to the HCS_ANALYSIS_* pattern, but was %s",
dataSetTypeCode);
}
String containerDatasetTypeCode = String containerDatasetTypeCode =
ScreeningConstants.DEFAULT_ANALYSIS_WELL_CONTAINER_DATASET_TYPE; ScreeningConstants.HCS_ANALYSIS_PREFIX
+ ScreeningConstants.IMAGE_CONTAINER_DATASET_TYPE_MARKER
+ dataSetTypeCode
.substring(ScreeningConstants.HCS_ANALYSIS_PREFIX.length());
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
FeatureVectorContainerDataSet containerDataSet = FeatureVectorContainerDataSet containerDataSet =
(FeatureVectorContainerDataSet) createNewDataSet( (FeatureVectorContainerDataSet) createNewDataSet(
...@@ -573,6 +588,27 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr ...@@ -573,6 +588,27 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr
&& false == dataSetTypeCode.contains(MICROSCOPY_CONTAINER_TYPE_SUBSTRING); && false == dataSetTypeCode.contains(MICROSCOPY_CONTAINER_TYPE_SUBSTRING);
} }
private static boolean isHCSAnalysisDataSetType(String mainDatasetTypeCode)
{
String prefix = ScreeningConstants.HCS_ANALYSIS_PREFIX;
if (mainDatasetTypeCode.startsWith(prefix))
{
if (mainDatasetTypeCode
.contains(ScreeningConstants.IMAGE_CONTAINER_DATASET_TYPE_MARKER))
{
throw UserFailureException
.fromTemplate(
"The specified analysis dataset type '%s' should not be of container type, but contains '%s' in the type code.",
mainDatasetTypeCode,
ScreeningConstants.IMAGE_CONTAINER_DATASET_TYPE_MARKER);
}
return true;
} else
{
return false;
}
}
private static String findContainerDatasetTypeCode( private static String findContainerDatasetTypeCode(
DataSetInformation imageDataSetInformation) DataSetInformation imageDataSetInformation)
{ {
...@@ -595,7 +631,7 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr ...@@ -595,7 +631,7 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr
ScreeningConstants.MICROSCOPY_IMAGE_SAMPLE_TYPE_PATTERN); ScreeningConstants.MICROSCOPY_IMAGE_SAMPLE_TYPE_PATTERN);
} }
} }
private static String findThumbnailsDatasetTypeCode( private static String findThumbnailsDatasetTypeCode(
DataSetInformation imageDataSetInformation) DataSetInformation imageDataSetInformation)
{ {
......
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