@@ -200,10 +200,8 @@ void TissueSegmentation::runNeuralNetwork(SpatialDataObject::pointer image) {
200200 // auto output = finish->runAndGetOutputData<Image>();
201201 addOutputData (0 , output);
202202 } else if (auto patch = std::dynamic_pointer_cast<Image>(image)) {
203- // Input image is a patch
204- input = patch;
205203 // If patch is smaller then input size of neural network; run as is
206- if (patch->getWidth () < width || patch->getHeight () << height) {
204+ if (patch->getWidth () < width || patch->getHeight () < height) {
207205 segmentation->connect (patch);
208206 auto output = segmentation->runAndGetOutputData <Image>();
209207 addOutputData (0 , output);
@@ -213,9 +211,14 @@ void TissueSegmentation::runNeuralNetwork(SpatialDataObject::pointer image) {
213211 segmentation->connect (generator);
214212
215213 auto stitcher = PatchStitcher::create ()->connect (segmentation);
214+
215+ auto output = stitcher->runAndGetOutputData <SpatialDataObject>();
216+ do {
217+ output = stitcher->runAndGetOutputData <SpatialDataObject>();
218+ } while (!output->isLastFrame ());
216219 // Run until finished
217- auto finish = RunUntilFinished::create ()->connect (stitcher);
218- auto output = finish->runAndGetOutputData <Image>();
220+ // auto finish = RunUntilFinished::create()->connect(stitcher);
221+ // auto output = finish->runAndGetOutputData<Image>();
219222 addOutputData (0 , output);
220223 }
221224 } else {
0 commit comments