X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=itk%2FclitkSegmentationUtils.h;h=09b0844a7271f36cb071da0cf6f542ea097eec06;hb=5dc155f99385ef56e5c80dbcc0b7f56760629ade;hp=3b7a1e5525a2ae2d04603aafd7dda3031dda8c42;hpb=825277ddef9bbde1f378fec8d140c1ee335dab1b;p=clitk.git diff --git a/itk/clitkSegmentationUtils.h b/itk/clitkSegmentationUtils.h index 3b7a1e5..09b0844 100644 --- a/itk/clitkSegmentationUtils.h +++ b/itk/clitkSegmentationUtils.h @@ -20,6 +20,8 @@ #define CLITKSEGMENTATIONUTILS_H #include "clitkCommon.h" +#include "clitkAutoCropFilter.h" +#include "clitkLabelizeParameters.h" #include namespace clitk { @@ -43,6 +45,93 @@ namespace clitk { const typename itk::BoundingBox::Pointer bb, typename ImageType::RegionType & region); + //-------------------------------------------------------------------- + template + typename TInternalImageType::Pointer + SetBackground(typename TInternalImageType::ConstPointer input, + typename TMaskInternalImageType::ConstPointer mask, + typename TMaskInternalImageType::PixelType maskBG, + typename TInternalImageType::PixelType outValue); + //-------------------------------------------------------------------- + + + //-------------------------------------------------------------------- + template + typename TInternalImageType::Pointer + SetBackground(typename TInternalImageType::Pointer input, + typename TMaskInternalImageType::Pointer mask, + typename TMaskInternalImageType::PixelType maskBG, + typename TInternalImageType::PixelType outValue) { + return SetBackground + (static_cast(input), + static_cast(mask), + maskBG, outValue); + } + //-------------------------------------------------------------------- + + + //-------------------------------------------------------------------- + template + typename TImageType::Pointer + Labelize(typename TImageType::Pointer input, + typename TImageType::PixelType BG, + bool isFullyConnected, + int minimalComponentSize); + //-------------------------------------------------------------------- + + + //-------------------------------------------------------------------- + template + typename ImageType::Pointer + RemoveLabels(typename ImageType::Pointer input, + typename ImageType::PixelType BG, + std::vector & labelsToRemove); + //-------------------------------------------------------------------- + + + //-------------------------------------------------------------------- + template + typename ImageType::Pointer + AutoCrop(typename ImageType::Pointer input, + typename ImageType::PixelType BG) { + typedef clitk::AutoCropFilter AutoCropFilterType; + typename AutoCropFilterType::Pointer autoCropFilter = AutoCropFilterType::New(); + autoCropFilter->SetInput(input); + autoCropFilter->Update(); + return autoCropFilter->GetOutput(); + } + + //-------------------------------------------------------------------- + + + //-------------------------------------------------------------------- + template + typename TImageType::Pointer + KeepLabels(typename TImageType::Pointer input, + typename TImageType::PixelType BG, + typename TImageType::PixelType FG, + typename TImageType::PixelType firstKeep, + typename TImageType::PixelType lastKeep, + bool useLastKeep); + //-------------------------------------------------------------------- + + + //-------------------------------------------------------------------- + template + typename TImageType::Pointer + LabelizeAndSelectLabels(typename TImageType::Pointer input, + typename TImageType::PixelType BG, + typename TImageType::PixelType FG, + bool isFullyConnected, + int minimalComponentSize, + LabelizeParameters * param); + + //-------------------------------------------------------------------- + template + typename ImageType::Pointer + EnlargeImageLike(typename ImageType::Pointer input, + typename ImageType::Pointer like, + typename ImageType::PixelType BG); }