@@ -213,16 +213,23 @@ ImageType::Pointer CemrgAtrialTools::RemoveNoiseFromAutomaticSegmentation(QStrin
213213 keepObjs->SetAttribute (LabelShapeKeepNObjImgFilterType::LabelObjectType::NUMBER_OF_PIXELS);
214214 keepObjs->Update ();
215215
216- return keepObjs->GetOutput ();
217- }
216+ ImageType::Pointer outIm = keepObjs->GetOutput ();
217+ IteratorType imIter (outIm, outIm-> GetLargestPossibleRegion ());
218218
219- ImageType::Pointer CemrgAtrialTools::CleanAutomaticSegmentation (QString dir, QString segName, QString cleanName){
220- QString inputPath = dir + " /" + segName;
221- ImageType::Pointer orgSegImage = LoadImage (inputPath);
222- ImageType::Pointer atriumCoarse = RemoveNoiseFromAutomaticSegmentation (dir, segName);
219+ imIter.GoToBegin ();
220+ while (!imIter.IsAtEnd ()){
221+ float value = (imIter.Get () > 0 ) ? 1 : 0 ;
222+ imIter.Set (value);
223+
224+ ++imIter;
225+ }
223226
227+ return outIm;
228+ }
229+
230+ void CemrgAtrialTools::QuickBinarise (ImageType::Pointer imToBin){
224231 // binarise to 1, 0
225- IteratorType imIter (atriumCoarse, atriumCoarse ->GetLargestPossibleRegion ());
232+ IteratorType imIter (imToBin, imToBin ->GetLargestPossibleRegion ());
226233
227234 imIter.GoToBegin ();
228235 while (!imIter.IsAtEnd ()){
@@ -231,6 +238,12 @@ ImageType::Pointer CemrgAtrialTools::CleanAutomaticSegmentation(QString dir, QSt
231238
232239 ++imIter;
233240 }
241+ }
242+
243+ ImageType::Pointer CemrgAtrialTools::CleanAutomaticSegmentation (QString dir, QString segName, QString cleanName){
244+ QString inputPath = dir + " /" + segName;
245+ ImageType::Pointer orgSegImage = LoadImage (inputPath);
246+ ImageType::Pointer atriumCoarse = RemoveNoiseFromAutomaticSegmentation (dir, segName);
234247
235248 if (!cleanName.isEmpty ()){
236249 SaveImageToDisk (atriumCoarse, dir, cleanName);
0 commit comments