ITK  5.1.0
Insight Segmentation and Registration Toolkit
itkStatisticsLabelObject.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 itkStatisticsLabelObject_h
19 #define itkStatisticsLabelObject_h
20 
21 #include "itkShapeLabelObject.h"
22 #include "itkHistogram.h"
23 
24 namespace itk
25 {
40 template <typename TLabel, unsigned int VImageDimension>
41 class StatisticsLabelObject : public ShapeLabelObject<TLabel, VImageDimension>
42 {
43 public:
44  ITK_DISALLOW_COPY_AND_ASSIGN(StatisticsLabelObject);
45 
53 
55  itkNewMacro(Self);
56 
58  itkTypeMacro(StatisticsLabelObject, LabelObject);
59 
61 
62  static constexpr unsigned int ImageDimension = VImageDimension;
63 
64  using IndexType = typename Superclass::IndexType;
65 
67 
68  using LabelType = TLabel;
69 
70  using LineType = typename Superclass::LineType;
71 
73 
75 
77 
79 
81  static constexpr AttributeType MINIMUM = 200;
82  static constexpr AttributeType MAXIMUM = 201;
83  static constexpr AttributeType MEAN = 202;
84  static constexpr AttributeType SUM = 203;
85  static constexpr AttributeType STANDARD_DEVIATION = 204;
86  static constexpr AttributeType VARIANCE = 205;
87  static constexpr AttributeType MEDIAN = 206;
88  static constexpr AttributeType MAXIMUM_INDEX = 207;
89  static constexpr AttributeType MINIMUM_INDEX = 208;
90  static constexpr AttributeType CENTER_OF_GRAVITY = 209;
91  // static constexpr AttributeType CENTRAL_MOMENTS = 210;
92  static constexpr AttributeType WEIGHTED_PRINCIPAL_MOMENTS = 211;
93  static constexpr AttributeType WEIGHTED_PRINCIPAL_AXES = 212;
94  static constexpr AttributeType KURTOSIS = 213;
95  static constexpr AttributeType SKEWNESS = 214;
96  static constexpr AttributeType WEIGHTED_ELONGATION = 215;
97  static constexpr AttributeType HISTOGRAM = 216;
98  static constexpr AttributeType WEIGHTED_FLATNESS = 217;
99 
100  static AttributeType
101  GetAttributeFromName(const std::string & s)
102  {
103  if (s == "Minimum")
104  {
105  return MINIMUM;
106  }
107  else if (s == "Maximum")
108  {
109  return MAXIMUM;
110  }
111  else if (s == "Mean")
112  {
113  return MEAN;
114  }
115  else if (s == "Sum")
116  {
117  return SUM;
118  }
119  else if (s == "StandardDeviation")
120  {
121  return STANDARD_DEVIATION;
122  }
123  else if (s == "Variance")
124  {
125  return VARIANCE;
126  }
127  else if (s == "Median")
128  {
129  return MEDIAN;
130  }
131  else if (s == "MaximumIndex")
132  {
133  return MAXIMUM_INDEX;
134  }
135  else if (s == "MinimumIndex")
136  {
137  return MINIMUM_INDEX;
138  }
139  else if (s == "CenterOfGravity")
140  {
141  return CENTER_OF_GRAVITY;
142  }
143  /*
144  else if( s == "CentralMoments" )
145  {
146  return CENTRAL_MOMENTS;
147  }
148  */
149  else if (s == "WeightedPrincipalMoments")
150  {
152  }
153  else if (s == "WeightedPrincipalAxes")
154  {
156  }
157  else if (s == "Kurtosis")
158  {
159  return KURTOSIS;
160  }
161  else if (s == "Skewness")
162  {
163  return SKEWNESS;
164  }
165  else if (s == "WeightedElongation")
166  {
167  return WEIGHTED_ELONGATION;
168  }
169  else if (s == "Histogram")
170  {
171  return HISTOGRAM;
172  }
173  else if (s == "WeightedFlatness")
174  {
175  return WEIGHTED_FLATNESS;
176  }
177  // can't recognize the name
179  }
180 
181  static std::string
183  {
184  switch (a)
185  {
186  case MINIMUM:
187  return "Minimum";
188  break;
189  case MAXIMUM:
190  return "Maximum";
191  break;
192  case MEAN:
193  return "Mean";
194  break;
195  case SUM:
196  return "Sum";
197  break;
198  case STANDARD_DEVIATION:
199  return "StandardDeviation";
200  break;
201  case VARIANCE:
202  return "Variance";
203  break;
204  case MEDIAN:
205  return "Median";
206  break;
207  case MAXIMUM_INDEX:
208  return "MaximumIndex";
209  break;
210  case MINIMUM_INDEX:
211  return "MinimumIndex";
212  break;
213  case CENTER_OF_GRAVITY:
214  return "CenterOfGravity";
215  break;
216  /* case CENTRAL_MOMENTS:
217  return "CentralMoments";
218  break;*/
220  return "WeightedPrincipalMoments";
221  break;
223  return "WeightedPrincipalAxes";
224  break;
225  case KURTOSIS:
226  return "Kurtosis";
227  break;
228  case SKEWNESS:
229  return "Skewness";
230  break;
231  case WEIGHTED_ELONGATION:
232  return "WeightedElongation";
233  break;
234  case HISTOGRAM:
235  return "Histogram";
236  break;
237  case WEIGHTED_FLATNESS:
238  return "WeightedFlatness";
239  break;
240  }
241  // can't recognize the name
243  }
244 
246 
248 
249  template <typename TSourceLabelObject>
250  void
251  CopyAttributesFrom(const TSourceLabelObject * src)
252  {
253  Superclass::template CopyAttributesFrom<TSourceLabelObject>(src);
254 
255  m_Minimum = src->GetMinimum();
256  m_Maximum = src->GetMaximum();
257  m_Mean = src->GetMean();
258  m_Sum = src->GetSum();
259  m_StandardDeviation = src->GetStandardDeviation();
260  m_Variance = src->GetVariance();
261  m_Median = src->GetMedian();
262  m_MaximumIndex = src->GetMaximumIndex();
263  m_MinimumIndex = src->GetMinimumIndex();
264  m_CenterOfGravity = src->GetCenterOfGravity();
265  // m_CentralMoments = src->GetCentralMoments();
266  m_WeightedPrincipalMoments = src->GetWeightedPrincipalMoments();
267  m_WeightedPrincipalAxes = src->GetWeightedPrincipalAxes();
268  m_Kurtosis = src->GetKurtosis();
269  m_Skewness = src->GetSkewness();
270  m_WeightedElongation = src->GetWeightedElongation();
271  m_Histogram = src->GetHistogram();
272  m_WeightedFlatness = src->GetWeightedFlatness();
273  }
274 
275  template <typename TSourceLabelObject>
276  void
277  CopyAllFrom(const TSourceLabelObject * src)
278  {
279  itkAssertOrThrowMacro((src != nullptr), "Null Pointer");
280  this->template CopyLinesFrom<TSourceLabelObject>(src);
281  this->template CopyAttributesFrom<TSourceLabelObject>(src);
282  }
283 
284  const double &
285  GetMinimum() const
286  {
287  return m_Minimum;
288  }
289 
290  void
291  SetMinimum(const double & v)
292  {
293  m_Minimum = v;
294  }
295 
296  const double &
297  GetMaximum() const
298  {
299  return m_Maximum;
300  }
301 
302  void
303  SetMaximum(const double & v)
304  {
305  m_Maximum = v;
306  }
307 
308  const double &
309  GetMean() const
310  {
311  return m_Mean;
312  }
313 
314  void
315  SetMean(const double & v)
316  {
317  m_Mean = v;
318  }
319 
320  const double &
321  GetSum() const
322  {
323  return m_Sum;
324  }
325 
326  void
327  SetSum(const double & v)
328  {
329  m_Sum = v;
330  }
331 
332  const double &
334  {
335  return m_StandardDeviation;
336  }
337 
338  void
339  SetStandardDeviation(const double & v)
340  {
342  }
343 
344  const double &
345  GetVariance() const
346  {
347  return m_Variance;
348  }
349 
350  void
351  SetVariance(const double & v)
352  {
353  m_Variance = v;
354  }
355 
356  const double &
357  GetMedian() const
358  {
359  return m_Median;
360  }
361 
362  void
363  SetMedian(const double & v)
364  {
365  m_Median = v;
366  }
367 
368  const IndexType &
370  {
371  return m_MaximumIndex;
372  }
373 
374  void
376  {
377  m_MaximumIndex = v;
378  }
379 
380  const IndexType &
382  {
383  return m_MinimumIndex;
384  }
385 
386  void
388  {
389  m_MinimumIndex = v;
390  }
391 
392  const PointType &
394  {
395  return m_CenterOfGravity;
396  }
397 
398  void
400  {
401  m_CenterOfGravity = v;
402  }
403 
404  /*
405  const MatrixType & GetCentralMoments() const
406  {
407  return m_CentralMoments;
408  }
409 
410  void SetCentralMoments( const MatrixType & v )
411  {
412  m_CentralMoments = v;
413  }*/
414 
415  const VectorType &
417  {
419  }
420 
421  void
423  {
425  }
426 
427  const MatrixType &
429  {
431  }
432 
433  void
435  {
437  }
438 
439  const double &
440  GetSkewness() const
441  {
442  return m_Skewness;
443  }
444 
445  void
446  SetSkewness(const double & v)
447  {
448  m_Skewness = v;
449  }
450 
451  const double &
452  GetKurtosis() const
453  {
454  return m_Kurtosis;
455  }
456 
457  void
458  SetKurtosis(const double & v)
459  {
460  m_Kurtosis = v;
461  }
462 
463  const double &
465  {
466  return m_WeightedElongation;
467  }
468 
469  void
470  SetWeightedElongation(const double & v)
471  {
473  }
474 
475  const HistogramType *
476  GetHistogram() const
477  {
478  return m_Histogram;
479  }
480 
481  void
483  {
484  m_Histogram = v;
485  }
486 
487  const double &
489  {
490  return m_WeightedFlatness;
491  }
492 
493  void
494  SetWeightedFlatness(const double & v)
495  {
496  m_WeightedFlatness = v;
497  }
498 
499  // some helper methods - not really required, but really useful!
503 
509  {
510  typename AffineTransformType::MatrixType matrix;
511  typename AffineTransformType::OffsetType offset;
512  for (unsigned int i = 0; i < ImageDimension; i++)
513  {
514  offset[i] = m_CenterOfGravity[i];
515  for (unsigned int j = 0; j < ImageDimension; j++)
516  {
517  matrix[j][i] = m_WeightedPrincipalAxes[i][j]; // Note the transposition
518  }
519  }
521 
523 
524  result->SetMatrix(matrix);
525  result->SetOffset(offset);
526 
527  return result;
528  }
529 
536  {
537  typename AffineTransformType::MatrixType matrix;
538  typename AffineTransformType::OffsetType offset;
539  for (unsigned int i = 0; i < ImageDimension; i++)
540  {
541  offset[i] = m_CenterOfGravity[i];
542  for (unsigned int j = 0; j < ImageDimension; j++)
543  {
544  matrix[j][i] = m_WeightedPrincipalAxes[i][j]; // Note the transposition
545  }
546  }
548 
550  result->SetMatrix(matrix);
551  result->SetOffset(offset);
552 
554  result->GetInverse(inverse);
555 
556  return inverse;
557  }
558 
559 protected:
561  {
562  m_Minimum = 0;
563  m_Maximum = 0;
564  m_Mean = 0;
565  m_Sum = 0;
567  m_Variance = 0;
568  m_Median = 0;
569  m_MaximumIndex.Fill(0);
570  m_MinimumIndex.Fill(0);
572  // m_CentralMoments.Fill(0);
575  m_Kurtosis = 0;
576  m_Skewness = 0;
578  m_Histogram = nullptr;
579  m_WeightedFlatness = 0;
580  }
581 
582  void
583  PrintSelf(std::ostream & os, Indent indent) const override
584  {
585  Superclass::PrintSelf(os, indent);
586 
587  os << indent << "Minimum: " << m_Minimum << std::endl;
588  os << indent << "Maximum: " << m_Maximum << std::endl;
589  os << indent << "Mean: " << m_Mean << std::endl;
590  os << indent << "Sum: " << m_Sum << std::endl;
591  os << indent << "StandardDeviation: " << m_StandardDeviation << std::endl;
592  os << indent << "Variance: " << m_Variance << std::endl;
593  os << indent << "Median: " << m_Median << std::endl;
594  os << indent << "Skewness: " << m_Skewness << std::endl;
595  os << indent << "Kurtosis: " << m_Kurtosis << std::endl;
596  os << indent << "WeightedElongation: " << m_WeightedElongation << std::endl;
597  os << indent << "WeightedFlatness: " << m_WeightedFlatness << std::endl;
598  os << indent << "MaximumIndex: " << m_MaximumIndex << std::endl;
599  os << indent << "MinimumIndex: " << m_MinimumIndex << std::endl;
600  os << indent << "CenterOfGravity: " << m_CenterOfGravity << std::endl;
601  // os << indent << "CentralMoments: " << std::endl << m_CentralMoments;
602  os << indent << "WeightedPrincipalMoments: " << m_WeightedPrincipalMoments << std::endl;
603  os << indent << "WeightedPrincipalAxes: " << std::endl << m_WeightedPrincipalAxes;
604  itkPrintSelfObjectMacro(Histogram);
605  }
606 
607 private:
608  double m_Minimum;
609  double m_Maximum;
610  double m_Mean;
611  double m_Sum;
613  double m_Variance;
614  double m_Median;
618  // MatrixType m_CentralMoments;
621  double m_Skewness;
622  double m_Kurtosis;
624 
626 
628 };
629 } // end namespace itk
630 
631 #endif
itk::StatisticsLabelObject::GetKurtosis
const double & GetKurtosis() const
Definition: itkStatisticsLabelObject.h:452
itk::AffineTransform::OffsetType
typename Superclass::OffsetType OffsetType
Definition: itkAffineTransform.h:142
itk::ShapeLabelObject::LengthType
typename Superclass::LengthType LengthType
Definition: itkShapeLabelObject.h:71
itk::LabelObject::LengthType
typename LineType::LengthType LengthType
Definition: itkLabelObject.h:89
itk::StatisticsLabelObject::SetWeightedPrincipalAxes
void SetWeightedPrincipalAxes(const MatrixType &v)
Definition: itkStatisticsLabelObject.h:434
itk::Index< VImageDimension >
itk::StatisticsLabelObject::ImageDimension
static constexpr unsigned int ImageDimension
Definition: itkStatisticsLabelObject.h:62
itk::StatisticsLabelObject::GetWeightedPrincipalAxes
const MatrixType & GetWeightedPrincipalAxes() const
Definition: itkStatisticsLabelObject.h:428
itk::StatisticsLabelObject::SKEWNESS
static constexpr AttributeType SKEWNESS
Definition: itkStatisticsLabelObject.h:95
itk::StatisticsLabelObject::SetHistogram
void SetHistogram(const HistogramType *v)
Definition: itkStatisticsLabelObject.h:482
itk::Matrix::Fill
void Fill(const T &value)
Definition: itkMatrix.h:198
itk::StatisticsLabelObject::m_Mean
double m_Mean
Definition: itkStatisticsLabelObject.h:610
itk::StatisticsLabelObject::SetKurtosis
void SetKurtosis(const double &v)
Definition: itkStatisticsLabelObject.h:458
itk::StatisticsLabelObject::SetSum
void SetSum(const double &v)
Definition: itkStatisticsLabelObject.h:327
itk::StatisticsLabelObject::GetAttributeFromName
static AttributeType GetAttributeFromName(const std::string &s)
Definition: itkStatisticsLabelObject.h:101
itk::StatisticsLabelObject::GetPhysicalAxesToWeightedPrincipalAxesTransform
AffineTransformPointer GetPhysicalAxesToWeightedPrincipalAxesTransform() const
Definition: itkStatisticsLabelObject.h:535
itk::ImageRegion
An image region represents a structured region of data.
Definition: itkImageRegion.h:69
itk::StatisticsLabelObject::MEDIAN
static constexpr AttributeType MEDIAN
Definition: itkStatisticsLabelObject.h:87
itk::ShapeLabelObject::AffineTransformPointer
typename AffineTransformType::Pointer AffineTransformPointer
Definition: itkShapeLabelObject.h:644
itk::Vector< double, VImageDimension >
itk::StatisticsLabelObject::MAXIMUM
static constexpr AttributeType MAXIMUM
Definition: itkStatisticsLabelObject.h:82
itk::StatisticsLabelObject
A Label object to store the common attributes related to the statistics of the object.
Definition: itkStatisticsLabelObject.h:41
itk::StatisticsLabelObject::SetWeightedElongation
void SetWeightedElongation(const double &v)
Definition: itkStatisticsLabelObject.h:470
itk::StatisticsLabelObject::WEIGHTED_PRINCIPAL_MOMENTS
static constexpr AttributeType WEIGHTED_PRINCIPAL_MOMENTS
Definition: itkStatisticsLabelObject.h:92
itk::StatisticsLabelObject::WEIGHTED_FLATNESS
static constexpr AttributeType WEIGHTED_FLATNESS
Definition: itkStatisticsLabelObject.h:98
itk::StatisticsLabelObject::SetMaximum
void SetMaximum(const double &v)
Definition: itkStatisticsLabelObject.h:303
itk::StatisticsLabelObject::CopyAttributesFrom
void CopyAttributesFrom(const TSourceLabelObject *src)
Definition: itkStatisticsLabelObject.h:251
itk::StatisticsLabelObject::m_StandardDeviation
double m_StandardDeviation
Definition: itkStatisticsLabelObject.h:612
itk::StatisticsLabelObject::SetMinimum
void SetMinimum(const double &v)
Definition: itkStatisticsLabelObject.h:291
itk::StatisticsLabelObject::m_Median
double m_Median
Definition: itkStatisticsLabelObject.h:614
itk::StatisticsLabelObject::m_Minimum
double m_Minimum
Definition: itkStatisticsLabelObject.h:608
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::StatisticsLabelObject::WEIGHTED_ELONGATION
static constexpr AttributeType WEIGHTED_ELONGATION
Definition: itkStatisticsLabelObject.h:96
itk::StatisticsLabelObject::MEAN
static constexpr AttributeType MEAN
Definition: itkStatisticsLabelObject.h:83
itk::StatisticsLabelObject::m_Kurtosis
double m_Kurtosis
Definition: itkStatisticsLabelObject.h:622
itk::StatisticsLabelObject::MINIMUM
static constexpr AttributeType MINIMUM
Definition: itkStatisticsLabelObject.h:81
itk::AffineTransform
Definition: itkAffineTransform.h:101
itk::AffineTransform::New
static Pointer New()
itk::StatisticsLabelObject::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
Definition: itkStatisticsLabelObject.h:583
itk::AffineTransform::MatrixType
typename Superclass::MatrixType MatrixType
Definition: itkAffineTransform.h:139
itk::ShapeLabelObject::LineType
typename Superclass::LineType LineType
Definition: itkShapeLabelObject.h:69
itk::Index::Fill
void Fill(IndexValueType value)
Definition: itkIndex.h:270
itk::StatisticsLabelObject::MatrixType
Matrix< double, Self::ImageDimension, Self::ImageDimension > MatrixType
Definition: itkStatisticsLabelObject.h:74
itk::StatisticsLabelObject::m_WeightedPrincipalAxes
MatrixType m_WeightedPrincipalAxes
Definition: itkStatisticsLabelObject.h:620
itk::StatisticsLabelObject::GetMaximumIndex
const IndexType & GetMaximumIndex() const
Definition: itkStatisticsLabelObject.h:369
itk::LabelMap
Templated n-dimensional image to store labeled objects.
Definition: itkLabelMap.h:70
itk::StatisticsLabelObject::m_CenterOfGravity
PointType m_CenterOfGravity
Definition: itkStatisticsLabelObject.h:617
itk::StatisticsLabelObject::WEIGHTED_PRINCIPAL_AXES
static constexpr AttributeType WEIGHTED_PRINCIPAL_AXES
Definition: itkStatisticsLabelObject.h:93
itk::StatisticsLabelObject::StatisticsLabelObject
StatisticsLabelObject()
Definition: itkStatisticsLabelObject.h:560
itkShapeLabelObject.h
itk::StatisticsLabelObject::GetStandardDeviation
const double & GetStandardDeviation() const
Definition: itkStatisticsLabelObject.h:333
itk::ShapeLabelObject::GetAttributeFromName
static AttributeType GetAttributeFromName(const std::string &s)
Definition: itkShapeLabelObject.h:163
itk::Statistics::Histogram
This class stores measurement vectors in the context of n-dimensional histogram.
Definition: itkHistogram.h:76
itk::StatisticsLabelObject::GetWeightedPrincipalMoments
const VectorType & GetWeightedPrincipalMoments() const
Definition: itkStatisticsLabelObject.h:416
itk::StatisticsLabelObject::SetWeightedFlatness
void SetWeightedFlatness(const double &v)
Definition: itkStatisticsLabelObject.h:494
itk::StatisticsLabelObject::m_WeightedFlatness
double m_WeightedFlatness
Definition: itkStatisticsLabelObject.h:627
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:59
itk::ShapeLabelObject::IndexType
typename Superclass::IndexType IndexType
Definition: itkShapeLabelObject.h:65
itk::StatisticsLabelObject::GetWeightedElongation
const double & GetWeightedElongation() const
Definition: itkStatisticsLabelObject.h:464
itk::StatisticsLabelObject::STANDARD_DEVIATION
static constexpr AttributeType STANDARD_DEVIATION
Definition: itkStatisticsLabelObject.h:85
itk::ShapeLabelObject::GetNameFromAttribute
static std::string GetNameFromAttribute(const AttributeType &a)
Definition: itkShapeLabelObject.h:246
itk::LabelObject
The base class for the representation of an labeled binary object in an image.
Definition: itkLabelObject.h:64
itk::StatisticsLabelObject::HistogramType
Statistics::Histogram< double > HistogramType
Definition: itkStatisticsLabelObject.h:78
itk::StatisticsLabelObject::GetCenterOfGravity
const PointType & GetCenterOfGravity() const
Definition: itkStatisticsLabelObject.h:393
itkHistogram.h
itk::StatisticsLabelObject::GetMaximum
const double & GetMaximum() const
Definition: itkStatisticsLabelObject.h:297
itk::StatisticsLabelObject::SetMedian
void SetMedian(const double &v)
Definition: itkStatisticsLabelObject.h:363
itk::StatisticsLabelObject::SetSkewness
void SetSkewness(const double &v)
Definition: itkStatisticsLabelObject.h:446
itk::StatisticsLabelObject::GetMinimum
const double & GetMinimum() const
Definition: itkStatisticsLabelObject.h:285
itk::StatisticsLabelObject::m_Maximum
double m_Maximum
Definition: itkStatisticsLabelObject.h:609
itk::StatisticsLabelObject::GetMedian
const double & GetMedian() const
Definition: itkStatisticsLabelObject.h:357
itk::StatisticsLabelObject::GetHistogram
const HistogramType * GetHistogram() const
Definition: itkStatisticsLabelObject.h:476
itk::StatisticsLabelObject::SetWeightedPrincipalMoments
void SetWeightedPrincipalMoments(const VectorType &v)
Definition: itkStatisticsLabelObject.h:422
itk::StatisticsLabelObject::m_Sum
double m_Sum
Definition: itkStatisticsLabelObject.h:611
itk::StatisticsLabelObject::KURTOSIS
static constexpr AttributeType KURTOSIS
Definition: itkStatisticsLabelObject.h:94
itk::StatisticsLabelObject::VectorType
Vector< double, Self::ImageDimension > VectorType
Definition: itkStatisticsLabelObject.h:76
itk::StatisticsLabelObject::SetMean
void SetMean(const double &v)
Definition: itkStatisticsLabelObject.h:315
itk::StatisticsLabelObject::AffineTransformPointer
typename AffineTransformType::Pointer AffineTransformPointer
Definition: itkStatisticsLabelObject.h:502
itk::StatisticsLabelObject::GetSum
const double & GetSum() const
Definition: itkStatisticsLabelObject.h:321
itk::StatisticsLabelObject::GetVariance
const double & GetVariance() const
Definition: itkStatisticsLabelObject.h:345
itk::StatisticsLabelObject::SetMinimumIndex
void SetMinimumIndex(const IndexType &v)
Definition: itkStatisticsLabelObject.h:387
itk::ShapeLabelObject::LabelObjectType
typename Superclass::LabelObjectType LabelObjectType
Definition: itkShapeLabelObject.h:50
itk::StatisticsLabelObject::GetWeightedFlatness
const double & GetWeightedFlatness() const
Definition: itkStatisticsLabelObject.h:488
itk::StatisticsLabelObject::IndexType
typename Superclass::IndexType IndexType
Definition: itkStatisticsLabelObject.h:64
itk::StatisticsLabelObject::m_WeightedElongation
double m_WeightedElongation
Definition: itkStatisticsLabelObject.h:623
itk::StatisticsLabelObject::SetStandardDeviation
void SetStandardDeviation(const double &v)
Definition: itkStatisticsLabelObject.h:339
itk::LabelObject::LabelType
TLabel LabelType
Definition: itkLabelObject.h:87
itk::AffineTransform::Pointer
SmartPointer< Self > Pointer
Definition: itkAffineTransform.h:109
itk::Matrix< double, VImageDimension, VImageDimension >
itk::StatisticsLabelObject::MINIMUM_INDEX
static constexpr AttributeType MINIMUM_INDEX
Definition: itkStatisticsLabelObject.h:89
itk::StatisticsLabelObject::HISTOGRAM
static constexpr AttributeType HISTOGRAM
Definition: itkStatisticsLabelObject.h:97
itk::LabelObjectLine
Definition: itkLabelObjectLine.h:42
itk::WeakPointer
Implements a weak reference to an object.
Definition: itkWeakPointer.h:44
itk::StatisticsLabelObject::SUM
static constexpr AttributeType SUM
Definition: itkStatisticsLabelObject.h:84
itk::StatisticsLabelObject::GetWeightedPrincipalAxesToPhysicalAxesTransform
AffineTransformPointer GetWeightedPrincipalAxesToPhysicalAxesTransform() const
Definition: itkStatisticsLabelObject.h:508
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkArray.h:26
itk::StatisticsLabelObject::PointType
Point< double, Self::ImageDimension > PointType
Definition: itkStatisticsLabelObject.h:66
itk::StatisticsLabelObject::m_WeightedPrincipalMoments
VectorType m_WeightedPrincipalMoments
Definition: itkStatisticsLabelObject.h:619
itk::ShapeLabelObject
A Label object to store the common attributes related to the shape of the object.
Definition: itkShapeLabelObject.h:42
itk::StatisticsLabelObject::m_MaximumIndex
IndexType m_MaximumIndex
Definition: itkStatisticsLabelObject.h:615
itk::StatisticsLabelObject::VARIANCE
static constexpr AttributeType VARIANCE
Definition: itkStatisticsLabelObject.h:86
itk::StatisticsLabelObject::GetMean
const double & GetMean() const
Definition: itkStatisticsLabelObject.h:309
itk::StatisticsLabelObject::MAXIMUM_INDEX
static constexpr AttributeType MAXIMUM_INDEX
Definition: itkStatisticsLabelObject.h:88
itk::StatisticsLabelObject::GetNameFromAttribute
static std::string GetNameFromAttribute(const AttributeType &a)
Definition: itkStatisticsLabelObject.h:182
itk::StatisticsLabelObject::AttributeType
typename Superclass::AttributeType AttributeType
Definition: itkStatisticsLabelObject.h:80
itk::StatisticsLabelObject::GetMinimumIndex
const IndexType & GetMinimumIndex() const
Definition: itkStatisticsLabelObject.h:381
itk::StatisticsLabelObject::SetVariance
void SetVariance(const double &v)
Definition: itkStatisticsLabelObject.h:351
itk::Point< double, Self::ImageDimension >
itk::StatisticsLabelObject::SetMaximumIndex
void SetMaximumIndex(const IndexType &v)
Definition: itkStatisticsLabelObject.h:375
itk::ShapeLabelObject::CentroidType
Point< double, VImageDimension > CentroidType
Definition: itkShapeLabelObject.h:318
itk::ShapeLabelObject::AttributeType
typename Superclass::AttributeType AttributeType
Definition: itkShapeLabelObject.h:73
itk::StatisticsLabelObject::m_Skewness
double m_Skewness
Definition: itkStatisticsLabelObject.h:621
itk::StatisticsLabelObject::CopyAllFrom
void CopyAllFrom(const TSourceLabelObject *src)
Definition: itkStatisticsLabelObject.h:277
itk::StatisticsLabelObject::CENTER_OF_GRAVITY
static constexpr AttributeType CENTER_OF_GRAVITY
Definition: itkStatisticsLabelObject.h:90
itk::StatisticsLabelObject::m_Histogram
HistogramType::ConstPointer m_Histogram
Definition: itkStatisticsLabelObject.h:625
itk::ShapeLabelObject::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const override
Definition: itkShapeLabelObject.h:761
itk::StatisticsLabelObject::m_Variance
double m_Variance
Definition: itkStatisticsLabelObject.h:613
itk::StatisticsLabelObject::m_MinimumIndex
IndexType m_MinimumIndex
Definition: itkStatisticsLabelObject.h:616
itk::StatisticsLabelObject::GetSkewness
const double & GetSkewness() const
Definition: itkStatisticsLabelObject.h:440
itk::StatisticsLabelObject::SetCenterOfGravity
void SetCenterOfGravity(const PointType &v)
Definition: itkStatisticsLabelObject.h:399
itk::FixedArray::Fill
void Fill(const ValueType &)