X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkExtractMediastinumGenericFilter.txx;h=1760cac938e9508ce651dd1b942b24a99277279b;hb=3651402ef8b7936f79264cba79c284343c704aa2;hp=5a2cead88c52d7d32527c9e7e3f66bdd3fec7f45;hpb=e008d74b0ecdc4ca2eaae8c429901a78f9ef5c31;p=clitk.git diff --git a/segmentation/clitkExtractMediastinumGenericFilter.txx b/segmentation/clitkExtractMediastinumGenericFilter.txx index 5a2cead..1760cac 100644 --- a/segmentation/clitkExtractMediastinumGenericFilter.txx +++ b/segmentation/clitkExtractMediastinumGenericFilter.txx @@ -23,7 +23,8 @@ //-------------------------------------------------------------------- template -clitk::ExtractMediastinumGenericFilter::ExtractMediastinumGenericFilter(): +clitk::ExtractMediastinumGenericFilter:: +ExtractMediastinumGenericFilter(): ImageToImageGenericFilter("ExtractMediastinum") { // Default values @@ -36,31 +37,55 @@ clitk::ExtractMediastinumGenericFilter::ExtractMediastinumGenericF //-------------------------------------------------------------------- template template -void clitk::ExtractMediastinumGenericFilter::InitializeImageType() +void +clitk::ExtractMediastinumGenericFilter:: +InitializeImageType() { - ADD_IMAGE_TYPE(Dim, uchar); - // ADD_IMAGE_TYPE(Dim, short); - // ADD_IMAGE_TYPE(Dim, int); - // ADD_IMAGE_TYPE(Dim, float); + ADD_IMAGE_TYPE(Dim, short); } //-------------------------------------------------------------------- //-------------------------------------------------------------------- template -void clitk::ExtractMediastinumGenericFilter::SetArgsInfo(const ArgsInfoType & a) +void +clitk::ExtractMediastinumGenericFilter:: +SetArgsInfo(const ArgsInfoType & a) { mArgsInfo=a; SetIOVerbose(mArgsInfo.verbose_flag); if (mArgsInfo.imagetypes_flag) this->PrintAvailableImageTypes(); - if (mArgsInfo.patient_given) AddInputFilename(mArgsInfo.patient_arg); - if (mArgsInfo.lung_given) AddInputFilename(mArgsInfo.lung_arg); - if (mArgsInfo.bones_given) AddInputFilename(mArgsInfo.bones_arg); + if (mArgsInfo.input_given) AddInputFilename(mArgsInfo.input_arg); if (mArgsInfo.output_given) AddOutputFilename(mArgsInfo.output_arg); } //-------------------------------------------------------------------- +//-------------------------------------------------------------------- +template +template +void +clitk::ExtractMediastinumGenericFilter:: +SetOptionsFromArgsInfoToFilter(FilterType * f) +{ + f->SetVerboseOptionFlag(mArgsInfo.verbose_flag); + f->SetVerboseStepFlag(mArgsInfo.verboseStep_flag); + f->SetWriteStepFlag(mArgsInfo.writeStep_flag); + f->SetAFDBFilename(mArgsInfo.afdb_arg); + f->SetOutputMediastinumFilename(mArgsInfo.output_arg); + f->SetVerboseMemoryFlag(mArgsInfo.verboseMemory_flag); + + f->SetUseBones(mArgsInfo.useBones_flag); + f->SetIntermediateSpacing(mArgsInfo.spacing_arg); + f->SetFuzzyThreshold1(mArgsInfo.fuzzy1_arg); + f->SetFuzzyThreshold2(mArgsInfo.fuzzy2_arg); + f->SetFuzzyThreshold3(mArgsInfo.fuzzy3_arg); + f->SetUpperThreshold(mArgsInfo.upper_arg); + f->SetLowerThreshold(mArgsInfo.lower_arg); +} +//-------------------------------------------------------------------- + + //-------------------------------------------------------------------- // Update with the number of dimensions and the pixeltype //-------------------------------------------------------------------- @@ -69,33 +94,22 @@ template void clitk::ExtractMediastinumGenericFilter::UpdateWithInputImageType() { // Reading input - typename ImageType::Pointer patient = this->template GetInput(0); - typename ImageType::Pointer lung = this->template GetInput(1); - typename ImageType::Pointer bones = this->template GetInput(2); + typename ImageType::Pointer input = this->template GetInput(0); // Create filter typedef clitk::ExtractMediastinumFilter FilterType; typename FilterType::Pointer filter = FilterType::New(); // Set global Options - filter->SetInputPatientLabelImage(patient, mArgsInfo.patientBG_arg); - filter->SetInputLungLabelImage(lung, mArgsInfo.lungBG_arg, mArgsInfo.lungRight_arg, mArgsInfo.lungLeft_arg); - filter->SetInputBonesLabelImage(bones, mArgsInfo.bonesBG_arg); - filter->SetArgsInfo(mArgsInfo); + filter->SetInput(input); + SetOptionsFromArgsInfoToFilter(filter); // Go ! filter->Update(); - - // Check if error - if (filter->HasError()) { - SetLastError(filter->GetLastError()); - // No output - return; - } // Write/Save results - typename ImageType::Pointer output = filter->GetOutput(); - this->template SetNextOutput(output); + typename FilterType::MaskImageType::Pointer output = filter->GetOutput(); + this->template SetNextOutput(output); } //--------------------------------------------------------------------