1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
/*=========================================================================
Program: Insight Segmentation & Registration Toolkit
Module: itkImageToListAdaptor.txx
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Insight Software Consortium. All rights reserved.
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef __itkImageToListAdaptor_txx
#define __itkImageToListAdaptor_txx
namespace itk {
namespace Statistics {
template < class TImage, class TMeasurementVector >
ImageToListAdaptor< TImage, TMeasurementVector >
::ImageToListAdaptor()
{
m_UseBuffer = true;
m_Image = 0;
m_PixelContainer = 0;
Superclass::SetMeasurementVectorSize( MeasurementVectorSize );
}
template < class TImage, class TMeasurementVector >
void
ImageToListAdaptor< TImage, TMeasurementVector >
::PrintSelf(std::ostream& os, Indent indent) const
{
Superclass::PrintSelf(os,indent);
os << indent << "Image: ";
if ( m_Image.IsNotNull() )
{
os << m_Image << std::endl;
}
else
{
os << "not set." << std::endl;
}
os << indent << "PixelContainer: ";
if ( m_PixelContainer.IsNotNull() )
{
os << m_PixelContainer << std::endl;
}
else
{
os << "not set." << std::endl;
}
os << indent << "Use buffer: " << m_UseBuffer << std::endl;
}
template < class TImage, class TMeasurementVector >
void
ImageToListAdaptor< TImage, TMeasurementVector >
::SetImage(const TImage* image)
{
m_Image = image;
m_PixelContainer = image->GetPixelContainer();
m_ImageBeginIndex = image->GetLargestPossibleRegion().GetIndex();
for ( unsigned int i = 0; i < TImage::ImageDimension; ++i )
{
m_ImageEndIndex[i] =
m_ImageBeginIndex[i] + image->GetLargestPossibleRegion().GetSize()[i] - 1;
}
if ( strcmp( m_Image->GetNameOfClass(), "Image" ) != 0 )
{
m_UseBuffer = false;
}
else
{
m_UseBuffer = true;
}
}
template < class TImage, class TMeasurementVector >
const TImage*
ImageToListAdaptor< TImage, TMeasurementVector >
::GetImage() const
{
return m_Image.GetPointer();
}
template < class TImage, class TMeasurementVector >
typename ImageToListAdaptor< TImage, TMeasurementVector >::TotalFrequencyType
ImageToListAdaptor< TImage, TMeasurementVector >
::GetTotalFrequency() const
{
return this->Size();
}
} // end of namespace Statistics
} // end of namespace itk
#endif
|