- // We define the region to be extracted.
- typedef itk::Image<InternalPixelType, Dimension-1> ImageSliceType;
- typedef itk::Image<InternalPixelType, Dimension-1> MaskSliceType;
- typename InternalImageType::RegionType region3D= input->GetLargestPossibleRegion();
- typename InternalImageType::RegionType::SizeType size3D= region3D.GetSize();
- typename InternalImageType::RegionType::SizeType size2D=size3D;
- size2D[direction[i]]=0;
- typename InternalImageType::IndexType start2D;
- start2D.Fill(0);
- typename InternalImageType::RegionType desiredRegion;
- desiredRegion.SetSize( size2D );
- desiredRegion.SetIndex( start2D );
-
- // Extract and Join
- typedef itk::ExtractImageFilter<InternalImageType, ImageSliceType> ExtractImageFilterType;
- typedef itk::JoinSeriesImageFilter<ImageSliceType, InternalImageType> JoinSeriesFilterType;
- typename JoinSeriesFilterType::Pointer joinFilter=JoinSeriesFilterType::New();
- joinFilter->SetSpacing(input->GetSpacing()[direction[i]]);
-
- //----------------------------------------
- // Run over the sliceIndexs
- // ----------------------------------------
- for(unsigned int sliceIndex=0; sliceIndex <size3D[direction[i]]; sliceIndex++)
- {
- //----------------------------------------
- // Extract mask sliceIndex
- //----------------------------------------
- typename ExtractImageFilterType::Pointer extractFilter=ExtractImageFilterType::New();
- extractFilter->SetInput(output);
- start2D[direction[i]]=sliceIndex;
- desiredRegion.SetIndex( start2D );
- extractFilter->SetExtractionRegion( desiredRegion );
- extractFilter->Update( );
- typename ImageSliceType::Pointer slice= extractFilter->GetOutput();
+//--------------------------------------------------------------------
+template<class ArgsInfoType>
+template<unsigned int Dim>
+void clitk::FillMaskGenericFilter<ArgsInfoType>::InitializeImageType()
+{
+ ADD_IMAGE_TYPE(Dim, uchar);
+ // ADD_IMAGE_TYPE(Dim, int);
+ // ADD_IMAGE_TYPE(Dim, float);
+}
+//--------------------------------------------------------------------
+