Skip to content

Commit 2b8b044

Browse files
committed
Fixed a bug in PatchGenerator and TissueSegmentation
1 parent d3a7cb5 commit 2b8b044

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

source/FAST/Algorithms/ImagePatch/PatchGenerator.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,7 @@ void PatchGenerator::generateStream() {
311311
previousPatch->setFrameData("streaming", "yes"); // Since we are not propagating frame data, we have to set this
312312
try {
313313
addOutputData(0, previousPatch, false, false);
314+
frameAdded();
314315
} catch(ThreadStopped &e) {
315316

316317
}

source/FAST/Algorithms/TissueSegmentation/TissueSegmentation.cpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,19 @@ void TissueSegmentation::runNeuralNetwork(SpatialDataObject::pointer image) {
192192

193193
auto stitcher = PatchStitcher::create()->connect(segmentation);
194194

195+
// Run until finished
196+
/*
195197
auto output = stitcher->runAndGetOutputData<SpatialDataObject>();
196198
do {
197199
output = stitcher->runAndGetOutputData<SpatialDataObject>();
198200
} while(!output->isLastFrame());
199-
// Run until finished
200-
//auto finish = RunUntilFinished::create()->connect(stitcher);
201-
//auto output = finish->runAndGetOutputData<Image>();
201+
*/
202+
auto finish = RunUntilFinished::create()->connect(stitcher);
203+
auto output = finish->runAndGetOutputData<Image>();
202204
addOutputData(0, output);
203205
} else if(auto patch = std::dynamic_pointer_cast<Image>(image)) {
204206
// If patch is smaller then input size of neural network; run as is
205-
if(patch->getWidth() < width || patch->getHeight() < height) {
207+
if(patch->getWidth() <= width || patch->getHeight() <= height) {
206208
segmentation->connect(patch);
207209
auto output = segmentation->runAndGetOutputData<Image>();
208210
addOutputData(0, output);
@@ -213,13 +215,15 @@ void TissueSegmentation::runNeuralNetwork(SpatialDataObject::pointer image) {
213215

214216
auto stitcher = PatchStitcher::create()->connect(segmentation);
215217

216-
auto output = stitcher->runAndGetOutputData<SpatialDataObject>();
218+
// Run until finished
219+
/*
220+
SpatialDataObject::pointer output;
217221
do {
218222
output = stitcher->runAndGetOutputData<SpatialDataObject>();
219223
} while(!output->isLastFrame());
220-
// Run until finished
221-
//auto finish = RunUntilFinished::create()->connect(stitcher);
222-
//auto output = finish->runAndGetOutputData<Image>();
224+
*/
225+
auto finish = RunUntilFinished::create()->connect(stitcher);
226+
auto output = finish->runAndGetOutputData<SpatialDataObject>();
223227
addOutputData(0, output);
224228
}
225229
} else {

0 commit comments

Comments
 (0)