Skip to content

Commit f17343d

Browse files
committed
changed test to create new algorithm only when the mask changes
1 parent ceef2dd commit f17343d

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

colormipsearch-api/src/test/java/org/janelia/colormipsearch/cds/Shape2DMatchColorDepthSearchAlgorithmTest.java

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ public void overExpressesMaskExpression() {
6262

6363
@Test
6464
public void computeShapeScore() {
65-
ImageRegionDefinition excludedRegions = ImageTestUtils.getExcludedRegions();
66-
6765
class TestData {
6866
final String emCDM;
6967
final String lmCDM;
@@ -88,6 +86,13 @@ class TestData {
8886
21608L,
8987
false
9088
),
89+
new TestData(
90+
"src/test/resources/colormipsearch/api/cdsearch/ems/12191_JRC2018U.tif",
91+
"src/test/resources/colormipsearch/api/cdsearch/lms/VT016795_115C08_AE_01-20200221_61_I2-m-CH1_01.tif",
92+
"src/test/resources/colormipsearch/api/cdsearch/grad/VT016795_115C08_AE_01-20200221_61_I2-m-CH1_01.png",
93+
46447L,
94+
true
95+
),
9196
new TestData(
9297
"src/test/resources/colormipsearch/api/cdsearch/ems/12191_JRC2018U_FL.tif",
9398
"src/test/resources/colormipsearch/api/cdsearch/lms/VT033614_127B01_AE_01-20171124_64_H6-f-CH2_01.tif",
@@ -102,36 +107,36 @@ class TestData {
102107
110050L,
103108
true
104109
),
105-
new TestData(
106-
"src/test/resources/colormipsearch/api/cdsearch/ems/12191_JRC2018U.tif",
107-
"src/test/resources/colormipsearch/api/cdsearch/lms/VT016795_115C08_AE_01-20200221_61_I2-m-CH1_01.tif",
108-
"src/test/resources/colormipsearch/api/cdsearch/grad/VT016795_115C08_AE_01-20200221_61_I2-m-CH1_01.png",
109-
46447L,
110-
true
111-
),
112110
};
111+
ImageRegionDefinition excludedRegions = ImageTestUtils.getExcludedRegions();
112+
ColorDepthSearchAlgorithmProvider<ShapeMatchScore> shapeScoreAlgorithmProvider = ColorDepthSearchAlgorithmProviderFactory.createShapeMatchCDSAlgorithmProvider(
113+
true,
114+
null,
115+
excludedRegions
116+
);
117+
int testQueryThreshold = 20;
118+
String prevEM = null;
119+
ColorDepthSearchAlgorithm<ShapeMatchScore> shape2DScoreAlgorithm = null;
113120
for (TestData td : testData) {
114121
long start = System.currentTimeMillis();
115-
ImagePlus emQueryImage = new Opener().openTiff(td.emCDM, 1);
122+
if (!td.emCDM.equals(prevEM)) {
123+
LOG.info("Create new score algorithm for new mask: {}", td.emCDM);
124+
ImagePlus emQueryImage = new Opener().openTiff(td.emCDM, 1);
125+
ImageArray<?> queryImageArray = ImageArrayUtils.fromImagePlus(emQueryImage);
126+
shape2DScoreAlgorithm = shapeScoreAlgorithmProvider.createColorDepthQuerySearchAlgorithmWithDefaultParams(
127+
queryImageArray,
128+
testQueryThreshold,
129+
0
130+
);
131+
prevEM = td.emCDM;
132+
}
116133
ImagePlus lmTargetImage = new Opener().openTiff(td.lmCDM, 1);
117134
ImagePlus lmTargetGradImage = new Opener().openImage(td.lmGrad);
118135

119-
ImageArray<?> queryImageArray = ImageArrayUtils.fromImagePlus(emQueryImage);
120136
ImageArray<?> targetImageArray = ImageArrayUtils.fromImagePlus(lmTargetImage);
121137
ImageArray<?> targetGradImageArray = ImageArrayUtils.fromImagePlus(lmTargetGradImage);
138+
ImageTransformation clearIgnoredRegions = ImageTransformation.clearRegion(excludedRegions.getRegion(targetImageArray));
122139

123-
ColorDepthSearchAlgorithmProvider<ShapeMatchScore> shapeScoreAlgorithmProvider = ColorDepthSearchAlgorithmProviderFactory.createShapeMatchCDSAlgorithmProvider(
124-
true,
125-
null,
126-
excludedRegions
127-
);
128-
int testQueryThreshold = 20;
129-
ColorDepthSearchAlgorithm<ShapeMatchScore> shape2DScoreAlgorithm = shapeScoreAlgorithmProvider.createColorDepthQuerySearchAlgorithmWithDefaultParams(
130-
queryImageArray,
131-
testQueryThreshold,
132-
0
133-
);
134-
ImageTransformation clearIgnoredRegions = ImageTransformation.clearRegion(excludedRegions.getRegion(queryImageArray));
135140
long endInit = System.currentTimeMillis();
136141
LOG.info("Initialized shape score between {} and {} in {} secs - mem used {}M",
137142
td.emCDM,
@@ -150,7 +155,6 @@ class TestData {
150155
targetImageArray,
151156
variantSuppliers
152157
);
153-
154158
long end = System.currentTimeMillis();
155159
assertNotNull(td.emCDM + " vs " + td.lmCDM, shapeMatchScore);
156160
assertTrue(td.emCDM + " vs " + td.lmCDM, shapeMatchScore.getGradientAreaGap() != -1);

0 commit comments

Comments
 (0)