go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkComputeImageExtremaFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkComputeImageExtremaFilter_h
19 #define itkComputeImageExtremaFilter_h
20 
21 #include "itkStatisticsImageFilter.h"
22 #include "itkSpatialObject.h"
23 #include "itkImageMaskSpatialObject.h"
24 
25 namespace itk
26 {
47 template< typename TInputImage >
49  public StatisticsImageFilter< TInputImage >
50 {
51 public:
55  typedef SmartPointer< Self > Pointer;
56  typedef SmartPointer< const Self > ConstPointer;
57 
59  itkNewMacro(Self);
60 
63 
65  typedef typename TInputImage::Pointer InputImagePointer;
66 
67  typedef typename Superclass::RegionType RegionType;
68  typedef typename Superclass::SizeType SizeType;
69  typedef typename Superclass::IndexType IndexType;
70  typedef typename Superclass::PixelType PixelType;
71  typedef typename TInputImage::PointType PointType;
72 
74  itkStaticConstMacro( ImageDimension, unsigned int,
75  TInputImage::ImageDimension );
76 
78  typedef typename Superclass::RealType RealType;
79 
80  itkSetMacro( ImageRegion, RegionType );
81  itkSetMacro( UseMask, bool );
82 
83  typedef SpatialObject< itkGetStaticConstMacro(ImageDimension) > ImageMaskType;
84  typedef typename ImageMaskType::Pointer ImageMaskPointer;
85  typedef typename ImageMaskType::ConstPointer ImageMaskConstPointer;
86  itkSetConstObjectMacro( ImageMask, ImageMaskType );
87  itkGetConstObjectMacro( ImageMask, ImageMaskType );
88 
89  typedef ImageMaskSpatialObject< itkGetStaticConstMacro(ImageDimension) > ImageSpatialMaskType;
90  typedef typename ImageSpatialMaskType::Pointer ImageSpatialMaskPointer;
91  typedef typename ImageSpatialMaskType::ConstPointer ImageSpatialMaskConstPointer;
92  itkSetConstObjectMacro( ImageSpatialMask, ImageSpatialMaskType );
93  itkGetConstObjectMacro( ImageSpatialMask, ImageSpatialMaskType );
94 
95 protected:
98 
100  void BeforeStreamedGenerateData() override;
101 
104  void AfterStreamedGenerateData() override;
105 
107  void ThreadedStreamedGenerateData(const RegionType &) override;
109  virtual void ThreadedGenerateDataImageMask( const RegionType & );
110  virtual void SameGeometry();
114  bool m_UseMask;
116 
117 private:
119  void operator = ( const Self & );
120 
121  CompensatedSummation<RealType> m_ThreadSum{ 1 };
122  CompensatedSummation<RealType> m_SumOfSquares{ 1 };
123  SizeValueType m_Count{ 1 };
124  PixelType m_ThreadMin{ 1 };
125  PixelType m_ThreadMax{ 1 };
126 
127  std::mutex m_Mutex;
128 }; // end of class
129 } // end namespace itk
130 
131 #ifndef ITK_MANUAL_INSTANTIATION
132 #include "itkComputeImageExtremaFilter.hxx"
133 #endif
134 
135 #endif
Compute min. max, variance and mean of an Image.
ImageSpatialMaskType::ConstPointer ImageSpatialMaskConstPointer
ComputeImageExtremaFilter(const Self &)
CompensatedSummation< RealType > m_ThreadSum
itkStaticConstMacro(ImageDimension, unsigned int, TInputImage::ImageDimension)
ImageMaskSpatialObject< itkGetStaticConstMacro(ImageDimension) > ImageSpatialMaskType
ImageSpatialMaskType::Pointer ImageSpatialMaskPointer
StatisticsImageFilter< TInputImage > Superclass
void ThreadedStreamedGenerateData(const RegionType &) override
virtual void ThreadedGenerateDataImageMask(const RegionType &)
ImageSpatialMaskConstPointer m_ImageSpatialMask
SpatialObject< itkGetStaticConstMacro(ImageDimension) > ImageMaskType
ImageMaskType::ConstPointer ImageMaskConstPointer
CompensatedSummation< RealType > m_SumOfSquares
void BeforeStreamedGenerateData() override
virtual void ThreadedGenerateDataImageSpatialMask(const RegionType &)
void operator=(const Self &)
void AfterStreamedGenerateData() override


Generated on 1667476801 for elastix by doxygen 1.9.1 elastix logo