Commit ff8ebb8ac626dce1ed991d8887f8ce86d0795d64

Authored by Charles Otto
1 parent f04a4fa4

Fix -multiProcess enroll and compare

Sadly, using setPropertyRecursive to set things interacts poorly with
ProcessWrapper (because child processes are constructed as needed, using
a string to build their algorithms) so drop that for now.
Showing 1 changed file with 5 additions and 5 deletions
openbr/core/core.cpp
@@ -168,9 +168,9 @@ struct AlgorithmCore @@ -168,9 +168,9 @@ struct AlgorithmCore
168 downcast->init(); 168 downcast->init();
169 } 169 }
170 else { 170 else {
171 - pipeDesc = "ProcessWrapper("+transformString+")"+pipeDesc; 171 + pipeDesc = "ProcessWrapper("+transformString+")+"+pipeDesc;
172 if (fileExclusion) 172 if (fileExclusion)
173 - pipeDesc = "FileExclusion(" + gallery.flat() +")" + pipeDesc; 173 + pipeDesc = "FileExclusion(" + gallery.flat() +")+" + pipeDesc;
174 174
175 basePipe.reset(Transform::make(pipeDesc,NULL)); 175 basePipe.reset(Transform::make(pipeDesc,NULL));
176 } 176 }
@@ -436,10 +436,11 @@ struct AlgorithmCore @@ -436,10 +436,11 @@ struct AlgorithmCore
436 // Incoming templates are compared against the templates in the gallery, and the output is the resulting score 436 // Incoming templates are compared against the templates in the gallery, and the output is the resulting score
437 // vector. 437 // vector.
438 QString compareRegionDesc; 438 QString compareRegionDesc;
  439 +
439 if (this->galleryCompareString.isEmpty() ) 440 if (this->galleryCompareString.isEmpty() )
440 - compareRegionDesc = "Pipe([GalleryCompare("+Globals->algorithm+")])"; 441 + compareRegionDesc = "Pipe([GalleryCompare("+Globals->algorithm+",galleryName="+colEnrolledGallery.flat()+")])";
441 else 442 else
442 - compareRegionDesc = "Pipe(["+galleryCompareString+"])"; 443 + compareRegionDesc = "Pipe(["+galleryCompareString+"(galleryName="+colEnrolledGallery.flat()+")])";
443 444
444 QScopedPointer<Transform> compareRegion; 445 QScopedPointer<Transform> compareRegion;
445 // If we need to enroll the row set, we add the current algorithm's enrollment transform before the 446 // If we need to enroll the row set, we add the current algorithm's enrollment transform before the
@@ -469,7 +470,6 @@ struct AlgorithmCore @@ -469,7 +470,6 @@ struct AlgorithmCore
469 // At this point, compareRegion is a transform, which optionally does enrollment, then compares the row 470 // At this point, compareRegion is a transform, which optionally does enrollment, then compares the row
470 // set against the column set. If in multi-process mode, the enrollment and comparison are wrapped in a 471 // set against the column set. If in multi-process mode, the enrollment and comparison are wrapped in a
471 // ProcessWrapper transform, and will be transparently run in multiple processes. 472 // ProcessWrapper transform, and will be transparently run in multiple processes.
472 - compareRegion->setPropertyRecursive("galleryName", colEnrolledGallery.flat());  
473 473
474 // We also need to add Output and progress counting to the algorithm we are building, so we will assign them to 474 // We also need to add Output and progress counting to the algorithm we are building, so we will assign them to
475 // two stages of a pipe. 475 // two stages of a pipe.