1 /*============================================================================
3 The Medical Imaging Interaction Toolkit (MITK)
5 Copyright (c) German Cancer Research Center (DKFZ)
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
11 ============================================================================*/
13 /*===================================================================
15 This file is based heavily on a corresponding ITK filter.
17 ===================================================================*/
18 #ifndef _itkMITKScalarImageToHistogramGenerator_txx
19 #define _itkMITKScalarImageToHistogramGenerator_txx
21 #include "itkDefaultConvertPixelTraits.h"
22 #include "itkMITKScalarImageToHistogramGenerator.h"
28 template <class TImage, class TMeasurementType>
29 MITKScalarImageToHistogramGenerator<TImage, TMeasurementType>::MITKScalarImageToHistogramGenerator()
31 m_ImageToListAdaptor = AdaptorType::New();
32 m_HistogramGenerator = GeneratorType::New();
33 m_HistogramGenerator->SetInput(m_ImageToListAdaptor);
36 template <class TImage, class TMeasurementType>
37 void MITKScalarImageToHistogramGenerator<TImage, TMeasurementType>::SetInput(const ImageType *image)
39 m_ImageToListAdaptor->SetImage(image);
42 template <class TImage, class TMeasurementType>
43 const typename MITKScalarImageToHistogramGenerator<TImage, TMeasurementType>::HistogramType *
44 MITKScalarImageToHistogramGenerator<TImage, TMeasurementType>::GetOutput() const
46 return m_HistogramGenerator->GetOutput();
49 template <class TImage, class TMeasurementType>
50 void MITKScalarImageToHistogramGenerator<TImage, TMeasurementType>::Compute()
52 m_HistogramGenerator->Update();
55 template <class TImage, class TMeasurementType>
56 void MITKScalarImageToHistogramGenerator<TImage, TMeasurementType>::SetNumberOfBins(unsigned int numberOfBins)
58 typename HistogramType::SizeType size;
59 size.SetSize(itk::DefaultConvertPixelTraits<typename TImage::PixelType>::GetNumberOfComponents());
60 size.Fill(numberOfBins);
61 m_HistogramGenerator->SetHistogramSize(size);
64 template <class TImage, class TMeasurementType>
65 void MITKScalarImageToHistogramGenerator<TImage, TMeasurementType>::SetMarginalScale(double marginalScale)
67 m_HistogramGenerator->SetMarginalScale(marginalScale);
70 template <class TImage, class TMeasurementType>
71 void MITKScalarImageToHistogramGenerator<TImage, TMeasurementType>::PrintSelf(std::ostream &os, Indent indent) const
73 Superclass::PrintSelf(os, indent);
74 os << "ImageToListSample adaptor = " << m_ImageToListAdaptor << std::endl;
75 os << "HistogramGenerator = " << m_HistogramGenerator << std::endl;
78 } // end of namespace Statistics
79 } // end of namespace itk