X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkRelativePositionList.txx;h=8d89e9fd364320d058ec1ba6ad88950ea9e12e58;hb=HEAD;hp=39cc272cd1156253b4578efa45b30f1a0789d0b0;hpb=06cf3eb32f6aa7c31ebc1192d5dadd5385763fdb;p=clitk.git diff --git a/segmentation/clitkRelativePositionList.txx b/segmentation/clitkRelativePositionList.txx index 39cc272..8d89e9f 100644 --- a/segmentation/clitkRelativePositionList.txx +++ b/segmentation/clitkRelativePositionList.txx @@ -21,7 +21,11 @@ //-------------------------------------------------------------------- template clitk::RelativePositionList:: -RelativePositionList() { +RelativePositionList(): + clitk::FilterBase(), + clitk::FilterWithAnatomicalFeatureDatabaseManagement(), + itk::ImageToImageFilter() +{ ComputeOverlapFlagOff(); } //-------------------------------------------------------------------- @@ -154,24 +158,37 @@ GenerateOutputInformation() { // Get input m_working_input = dynamic_cast(itk::ProcessObject::GetInput(0)); + std::string s = GetInputName(); + + // Debug + if (GetDisplayUsedStructuresOnlyFlag()) { + for(uint i=0; i(sname, "_S", " "); + std::string text = "["+sname+"] "; if (mArgsInfoList[i].orientation_given) text += std::string(mArgsInfoList[i].orientation_arg[0])+" "; else text = text+"("+toString(mArgsInfoList[i].angle1_arg)+" "+ toString(mArgsInfoList[i].angle2_arg)+" "+ (mArgsInfoList[i].inverse_flag?"true":"false")+") "; text = text+mArgsInfoList[i].object_arg+" "+toString(mArgsInfoList[i].threshold_arg); if (mArgsInfoList[i].sliceBySlice_flag) { - text += " slice by slice"; + text += " SbS"; } else text += " 3D"; - text += " spacing=" + toString(mArgsInfoList[i].spacing_arg); + text += " sp=" + toString(mArgsInfoList[i].spacing_arg)+" "; - StartNewStep(text); + StartNewStep(text, false); // no endl typename RelPosFilterType::Pointer relPosFilter; // Is it slice by slice or 3D ? @@ -184,6 +201,7 @@ GenerateOutputInformation() { f->SetUniqueConnectedComponentBySliceFlag(mArgsInfoList[i].uniqueCCL_flag); f->SetObjectCCLSelectionFlag(mArgsInfoList[i].uniqueObjectCCL_flag); f->IgnoreEmptySliceObjectFlagOn(); + f->SetVerboseSlicesFlag(mArgsInfoList[i].verboseSlices_flag); //f->SetObjectCCLSelectionDimension(0); //f->SetObjectCCLSelectionDirection(-1); //f->SetAutoCropFlag(false); @@ -213,7 +231,7 @@ GenerateOutputInformation() { filter->SetInput(1, m_reference); filter->Update(); } - + std::cout << std::endl; } } //-------------------------------------------------------------------- @@ -246,9 +264,12 @@ SetFilterOptions(typename RelPosFilterType::Pointer filter, ArgsInfoType & optio ImagePointer object = GetAFDB()->template GetImage(options.object_arg); filter->SetInputObject(object); filter->WriteStepFlagOff(); + filter->SetRadius(options.radius_arg); + if (options.writeStep_flag) filter->WriteStepFlagOn(); filter->SetVerboseImageSizeFlag(GetVerboseImageSizeFlag()); filter->SetFuzzyThreshold(options.threshold_arg); filter->SetInverseOrientationFlag(options.inverse_flag); // MUST BE BEFORE AddOrientationTypeString + filter->SetFastFlag(options.fastFlag_flag); if (options.orientation_given == 1) { for(uint i=0; iSetAutoCropFlag(!options.noAutoCrop_flag); } //-------------------------------------------------------------------- + +