12 #ifndef mitkCLPolyToNrrd_cpp 13 #define mitkCLPolyToNrrd_cpp 22 #include "itkImageRegionIterator.h" 28 #include <itkLabelStatisticsImageFilter.h> 29 #include <itkMinimumMaximumImageCalculator.h> 34 template<
typename TPixel,
unsigned int VImageDimension>
38 typedef itk::Image<TPixel, VImageDimension>
ImageType;
39 typedef itk::Image<unsigned char, VImageDimension> MaskType;
41 typename ImageType::Pointer itkIm2 = ImageType::New();
42 typename MaskType::Pointer itkMask1 = MaskType::New();
46 itk::ImageRegionIterator<ImageType> iterI1(itkImage, itkImage->GetLargestPossibleRegion());
47 itk::ImageRegionIterator<ImageType> iterI2(itkIm2, itkImage->GetLargestPossibleRegion());
48 itk::ImageRegionIterator<MaskType> iter(itkMask1, itkImage->GetLargestPossibleRegion());
49 while (! iter.IsAtEnd())
51 unsigned char maskV = 0;
52 if (iterI1.Value() > 0.0001 && iterI2.Value() > 0.00001)
64 int main(
int argc,
char* argv[])
76 parser.
setTitle(
"MR Normalization Tool");
77 parser.
setDescription(
"Normalizes a MR image. Sets the Median of the tissue covered by mask 0 to 0 and the median of the area covered by mask 1 to 1.");
80 std::map<std::string, us::Any> parsedArgs = parser.
parseArguments(argc, argv);
82 if (parsedArgs.size()==0)
86 if ( parsedArgs.count(
"help") || parsedArgs.count(
"h"))
#define AccessByItk_3(mitkImage, itkImageTypeFunction, arg1, arg2, arg3)
itk::Image< unsigned char, 3 > ImageType
void setContributor(std::string contributor)
itk::Image< double, 3 > FloatImageType
int main(int argc, char *argv[])
void addArgument(const std::string &longarg, const std::string &shortarg, Type type, const std::string &argLabel, const std::string &argHelp=std::string(), const us::Any &defaultValue=us::Any(), bool optional=true, bool ignoreRest=false, bool deprecated=false, mitkCommandLineParser::Channel channel=mitkCommandLineParser::Channel::None)
std::map< std::string, us::Any > parseArguments(const StringContainerType &arguments, bool *ok=nullptr)
Image::Pointer ImportItkImage(const itk::SmartPointer< ItkOutputImageType > &itkimage, const BaseGeometry *geometry=nullptr, bool update=true)
Imports an itk::Image (with a specific type) as an mitk::Image.Instantiates instance of ITKImageImpor...
itk::Image< unsigned char, 3 > MaskImageType
void setCategory(std::string category)
mitk::Image::Pointer image
void setArgumentPrefix(const std::string &longPrefix, const std::string &shortPrefix)
void Normalize(itk::Image< TPixel, VImageDimension > *itkImage, mitk::Image::Pointer im2, mitk::Image::Pointer mask1, std::string output)
void MITKCORE_EXPORT CastToItkImage(const mitk::Image *mitkImage, itk::SmartPointer< ItkOutputImageType > &itkOutputImage)
Cast an mitk::Image to an itk::Image with a specific type.
static void Save(const mitk::BaseData *data, const std::string &path, bool setPathProperty=false)
Save a mitk::BaseData instance.
mitk::Image::Pointer mask
void setTitle(std::string title)
void setDescription(std::string description)