28 #ifndef __itkMultiGaussianImageSource_h
29 #define __itkMultiGaussianImageSource_h
31 #include "itkImageSource.h"
32 #include "itkNumericTraits.h"
33 #include "itkImageRegionIteratorWithIndex.h"
34 #include "itkImageFileWriter.h"
35 #include <itkMapContainer.h>
193 template<
typename TOutputImage >
241 virtual void SetSize(SizeValueArrayType sizeArray);
249 virtual void SetOrigin(PointValueArrayType originArray);
302 NumericTraits< OutputImagePixelType >::NonpositiveMin(),
303 NumericTraits< OutputImagePixelType >::max() );
313 NumericTraits< OutputImagePixelType >::NonpositiveMin(),
314 NumericTraits< OutputImagePixelType >::max() );
322 void PrintSelf(std::ostream & os, Indent indent)
const override;
338 unsigned int m_NumberOfGaussians;
340 unsigned int m_RadiusStepNumber;
353 typename TOutputImage::PixelType m_Min;
354 typename TOutputImage::PixelType m_Max;
360 double m_NormalDistValues [410];
361 double m_meanValueTemp;
364 mutable PointValueArrayType m_OriginArray;
365 mutable SpacingValueArrayType m_SpacingArray;
370 #ifndef ITK_MANUAL_INSTANTIATION
371 #include "itkMultiGaussianImageSource.hxx"
Generate an 3-dimensional multigaussian image.
MultiGaussianImageSource Self
TOutputImage::Pointer ImageType
virtual void AddGaussian(VectorType centerX, VectorType centerY, VectorType centerZ, VectorType sigmaX, VectorType sigmaY, VectorType sigmaZ, VectorType altitude)
TOutputImage::SpacingType SpacingType
void SetNormalDistributionValues()
virtual unsigned int GetNumberOfGaussians() const
virtual void CalculateTheMidpointAndTheMeanValueWithOctree()
Vector< double, TOutputImage::ImageDimension > ItkVectorType
SmartPointer< const Self > ConstPointer
TOutputImage::PointType PointType
virtual const SizeValueType * GetSize() const
TOutputImage::SizeType SizeType
virtual void WriteXMLToTestTheCuboidInsideTheSphere()
virtual RadiusType GetRadius() const
virtual void SetSize(SizeValueArrayType sizeArray)
virtual const IndexType GetMaxValueIndexInSphere() const
virtual const OutputImagePixelType GetMinValueInSphere() const
virtual void CalculateEdgesInSphere(PointType globalCoordinateMidpointCuboid, PointType globalCoordinateMidpointSphere, double cuboidRadius, int level)
std::vector< double > VectorType
virtual void SetNumberOfGausssians(unsigned int)
TOutputImage::PixelType OutputImagePixelType
void GenerateData() override
void GenerateOutputInformation() override
ImageSource< TOutputImage > Superclass
virtual void SetRegionOfInterest(ItkVectorType, ItkVectorType)
virtual const IndexType GetMinValueIndexInSphere() const
virtual double FunctionPhi(double value)
TOutputImage::RegionType OutputImageRegionType
MapContainer< unsigned int, double > MapContainerRadius
virtual const PointValueType * GetOrigin() const
virtual void GenerateCuboidSegmentationInSphere(PointType globalCoordinateMidpointSphere)
virtual void InsertPoints(PointType globalCoordinateMidpointCuboid, double cuboidRadius)
virtual double MultiGaussianFunctionValueAtCuboid(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
itk::ImageRegion< 3 >::SizeValueType SizeRegionType
virtual const SpacingValueType * GetSpacing() const
MultiGaussianImageSource()
TOutputImage::IndexType IndexType
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void SetOrigin(PointValueArrayType originArray)
ImageRegionIteratorWithIndex< TOutputImage > IteratorType
SizeType::SizeValueType SizeValueType
SmartPointer< Self > Pointer
~MultiGaussianImageSource() override
virtual const IndexType GetSphereMidpoint() const
virtual const OutputImagePixelType GetMaxValueInSphere() const
virtual void CalculateMaxAndMinInSphere()
TOutputImage::PointValueType PointValueType
virtual double MultiGaussianFunctionValueAtPoint(double, double, double)
TOutputImage::SpacingValueType SpacingValueType
virtual void SetSpacing(SpacingValueArrayType spacingArray)
MapContainer< unsigned int, PointType > MapContainerPoints
virtual void SetRadius(RadiusType radius)
bool IsInImage(IndexType index)
virtual const OutputImagePixelType GetMaxMeanValue() const
virtual unsigned int IntersectTheSphere(PointType globalCoordinateMidpointCuboid, PointType globalCoordinateMidpointSphere, double sideLength)