18 #ifndef itkBinaryMask3DMeshSource_h
19 #define itkBinaryMask3DMeshSource_h
21 #include "vnl/vnl_matrix_fixed.h"
70 template<
typename TInputImage,
typename TOutputMesh >
134 using Superclass::SetInput;
139 if( iRegion != m_RegionOfInterest )
141 this->m_RegionOfInterest = iRegion;
142 this->m_RegionOfInterestProvidedByUser =
true;
147 itkGetConstReferenceMacro(RegionOfInterest,
RegionType);
152 void PrintSelf(std::ostream & os,
Indent indent)
const override;
154 void GenerateData()
override;
157 bool m_RegionOfInterestProvidedByUser{
false};
167 void XFlip(
unsigned char *tp);
169 void YFlip(
unsigned char *tp);
171 void ZFlip(
unsigned char *tp);
173 void XRotation(
unsigned char *tp);
175 void YRotation(
unsigned char *tp);
177 void ZRotation(
unsigned char *tp);
179 void inverse(
unsigned char *tp);
181 void InitializeLUT();
184 void AddCells(
unsigned char celltype,
unsigned char celltran,
int index);
186 void AddNodes(
int index,
187 unsigned char *nodesid,
192 void CellTransfer(
unsigned char *nodesid,
unsigned char celltran);
194 IdentifierType SearchThroughLastRow(
int index,
int start,
int end);
196 IdentifierType SearchThroughLastFrame(
int index,
int start,
int end);
198 unsigned char m_LUT[256][2];
208 unsigned short m_CurrentRowIndex{0};
209 unsigned short m_CurrentFrameIndex{0};
210 unsigned short m_LastRowNum{0};
211 unsigned short m_LastFrameNum{0};
212 unsigned short m_CurrentRowNum{200};
213 unsigned short m_CurrentFrameNum{2000};
214 unsigned char m_AvailableNodes[14];
216 double m_LocationOffset[14][3];
221 int m_NodeLimit{2000};
222 int m_CellLimit{4000};
224 int m_ImageHeight{0};
229 int m_LastRowIndex{0};
230 int m_LastVoxelIndex{0};
231 int m_LastFrameIndex{0};
233 unsigned char m_PointFound{0};
244 #ifndef ITK_MANUAL_INSTANTIATION
245 #include "itkBinaryMask3DMeshSource.hxx"
typename OutputMeshType::MeshTraits OMeshTraits
RegionType m_RegionOfInterest
typename InputImageType::PointType OriginType
typename InputImageType::ConstPointer InputImageConstPointer
Light weight base class for most itk classes.
typename InputImageType::SizeType InputImageSizeType
InputPixelType m_ObjectValue
OutputMeshType * m_OutputMesh
TOutputMesh OutputMeshType
typename OutputMeshType::PointsContainer PointsContainer
unsigned long SizeValueType
void SetRegionOfInterest(const RegionType &iRegion)
typename OutputMeshType::PointsContainerPointer PointsContainerPointer
typename OutputMeshType::PointType OPointType
An abstract interface for cells.
typename OutputMeshType::CellsContainerPointer CellsContainerPointer
ImageToMeshFilter is the base class for all process objects that output Mesh data and require image d...
typename InputImageType::IndexType InputImageIndexType
itk::SizeValueType SizeValueType
typename OMeshTraits::PixelType OPixelType
ImageBaseType::SizeType SizeType
SizeValueType IdentifierType
const InputImageType * m_InputImage
ImageBaseType::IndexType IndexType
A multi-dimensional iterator templated over image type that walks a region of pixels.
typename InputImageType::SpacingType SpacingType
typename InputImageType::SizeType SizeType
typename TriCell::SelfAutoPointer TriCellAutoPointer
typename OutputMeshType::CellTraits CellTraits
itk::IdentifierType IdentifierType
Control indentation during Print() invocation.
ImageBaseType::PointType PointType
typename OutputMeshType::Pointer OutputMeshPointer
typename InputImageType::RegionType RegionType
void GenerateOutputInformation() override
ImageBaseType::RegionType RegionType
A templated class holding a n-Dimensional covariant vector.
typename InputImageType::Pointer InputImagePointer
typename OutputMeshType::CellsContainer CellsContainer
typename InputImageType::PixelType InputPixelType
TInputImage InputImageType