![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
00001 /*====================================================================== 00002 00003 This file is part of the elastix software. 00004 00005 Copyright (c) University Medical Center Utrecht. All rights reserved. 00006 See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for 00007 details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notices for more information. 00012 00013 ======================================================================*/ 00014 00017 /*========================================================================= 00018 00019 Program: Insight Segmentation & Registration Toolkit 00020 Module: $RCSfile$ 00021 Language: C++ 00022 Date: $Date: 2008-05-28 10:45:42 +0200 (Wed, 28 May 2008) $ 00023 Version: $Revision: 1636 $ 00024 00025 Copyright (c) Insight Software Consortium. All rights reserved. 00026 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00027 00028 This software is distributed WITHOUT ANY WARRANTY; without even 00029 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00030 PURPOSE. See the above copyright notices for more information. 00031 00032 =========================================================================*/ 00033 00034 #ifndef __itkImageMaskSpatialObject2_h 00035 #define __itkImageMaskSpatialObject2_h 00036 00037 #include "itkImageSpatialObject2.h" 00038 #include "itkImageSliceConstIteratorWithIndex.h" 00039 00040 namespace itk 00041 { 00042 00052 template < unsigned int TDimension = 3 > 00053 class ImageMaskSpatialObject2 00054 : public ImageSpatialObject2< TDimension, unsigned char > 00055 { 00056 00057 public: 00058 00059 typedef ImageMaskSpatialObject2< TDimension > Self; 00060 typedef ImageSpatialObject2< TDimension > Superclass; 00061 typedef SmartPointer< Self > Pointer; 00062 typedef SmartPointer< const Self > ConstPointer; 00063 00064 typedef typename Superclass::ScalarType ScalarType; 00065 typedef typename Superclass::PixelType PixelType; 00066 typedef typename Superclass::ImageType ImageType; 00067 typedef typename Superclass::ImagePointer ImagePointer; 00068 typedef typename Superclass::IndexType IndexType; 00069 typedef typename Superclass::SizeType SizeType; 00070 typedef typename Superclass::RegionType RegionType; 00071 typedef typename Superclass::TransformType TransformType; 00072 typedef typename Superclass::PointType PointType; 00073 typedef typename Superclass::BoundingBoxType BoundingBoxType; 00074 00075 typedef itk::ImageSliceConstIteratorWithIndex< ImageType > 00076 SliceIteratorType; 00077 00079 itkNewMacro( Self ); 00080 00082 itkTypeMacro( ImageMaskSpatialObject2, ImageSpatialObject2 ); 00083 00085 bool IsInside( const PointType & point, 00086 unsigned int depth, char *name) const; 00087 00091 virtual bool IsInside( const PointType & point) const; 00092 00099 RegionType GetAxisAlignedBoundingBoxRegion() const; 00100 00102 bool ComputeLocalBoundingBox() const; 00103 00107 void ComputeLocalBoundingBoxIndexAndSize( 00108 IndexType & index, SizeType & size ) const; 00109 00110 protected: 00111 ImageMaskSpatialObject2(const Self&); //purposely not implemented 00112 void operator=(const Self&); //purposely not implemented 00113 00114 ImageMaskSpatialObject2(); 00115 virtual ~ImageMaskSpatialObject2(); 00116 00117 void PrintSelf( std::ostream& os, Indent indent ) const; 00118 00119 }; 00120 00121 } // end of namespace itk 00122 00123 #ifndef ITK_MANUAL_INSTANTIATION 00124 #include "itkImageMaskSpatialObject2.txx" 00125 #endif 00126 00127 #endif //__itkImageMaskSpatialObject2_h 00128
Generated on 24-05-2012 for elastix by ![]() |
![]() |