OTB  9.0.0
Orfeo Toolbox
otbStreamingStatisticsMosaicFilter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1999-2011 Insight Software Consortium
3  * Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES)
4  * Copyright (C) 2016-2019 IRSTEA
5  *
6  * This file is part of Orfeo Toolbox
7  *
8  * https://www.orfeo-toolbox.org/
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  */
22 #ifndef __StreamingStatisticsMosaicFilter_H
23 #define __StreamingStatisticsMosaicFilter_H
24 
28 #include "itkArray.h"
29 #include "itkSimpleDataObjectDecorator.h"
30 #include "itkImageRegionConstIteratorWithOnlyIndex.h"
31 
32 namespace otb
33 {
53 template <class TInputImage, class TOutputImage = TInputImage, class TInternalValueType = double>
54 class ITK_EXPORT PersistentStatisticsMosaicFilter : public otb::PersistentMosaicFilter<TInputImage, TOutputImage, TInternalValueType>
55 {
56 public:
60  typedef itk::SmartPointer<Self> Pointer;
61  typedef itk::SmartPointer<const Self> ConstPointer;
62 
64  itkNewMacro(Self);
65 
68 
75 
80 
84 
85  typedef itk::ImageRegionConstIteratorWithOnlyIndex<OutputImageType> IteratorType;
86 
88  typedef vnl_vector<InternalValueType> RealVectorType;
89  typedef vnl_matrix<InternalValueType> RealMatrixType;
90  typedef itk::SimpleDataObjectDecorator<RealMatrixType> RealMatrixObjectType;
91  typedef std::vector<RealMatrixType> RealMatrixListType;
92  typedef itk::SimpleDataObjectDecorator<RealMatrixListType> RealMatrixListObjectType;
93 
95  typedef typename itk::DataObject::Pointer DataObjectPointer;
96  typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
97 
99  void AllocateOutputs() override;
100  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
101  void Reset() override;
102  void Synthetize() override;
104 
106  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
107  using Superclass::MakeOutput;
108 
111  {
112  return this->GetMeansOutput()->Get();
113  }
114  RealMatrixListObjectType* GetMeansOutput();
115  const RealMatrixListObjectType* GetMeansOutput() const;
117 
120  {
121  return this->GetStdsOutput()->Get();
122  }
123  RealMatrixListObjectType* GetStdsOutput();
124  const RealMatrixListObjectType* GetStdsOutput() const;
126 
129  {
130  return this->GetMinsOutput()->Get();
131  }
132  RealMatrixListObjectType* GetMinsOutput();
133  const RealMatrixListObjectType* GetMinsOutput() const;
135 
138  {
139  return this->GetMaxsOutput()->Get();
140  }
141  RealMatrixListObjectType* GetMaxsOutput();
142  const RealMatrixListObjectType* GetMaxsOutput() const;
144 
147  {
148  return this->GetMeansOfProductsOutput()->Get();
149  }
150  RealMatrixListObjectType* GetMeansOfProductsOutput();
151  const RealMatrixListObjectType* GetMeansOfProductsOutput() const;
153 
156  {
157  return this->GetAreasOutput()->Get();
158  }
159  RealMatrixObjectType* GetAreasOutput();
160  const RealMatrixObjectType* GetAreasOutput() const;
162 
163 protected:
166  {
167  }
168 
177  {
178  public:
179 
182  {
183  }
184 
185  /* Constructor with size */
186  ThreadResultsContainer(unsigned int nbOfBands, unsigned int nbOfSamples)
187  {
188  Clear(nbOfBands, nbOfSamples);
189  }
190 
191  /* Copy constructor */
193  {
194  m_count = RealVectorType(other.m_count);
195  m_sum = RealMatrixType(other.m_sum);
196  m_cosum = RealMatrixType(other.m_cosum);
197  m_sqSum = RealMatrixType(other.m_sqSum);
198  m_min = RealMatrixType(other.m_min);
199  m_max = RealMatrixType(other.m_max);
200  }
201 
202  /* Clear routine: Resize at the specified dimension and clear values */
203  void Clear(unsigned int nbOfBands, unsigned int nbOfSamples)
204  {
205  const InternalValueType zeroValue = itk::NumericTraits<InternalValueType>::Zero;
206  const InternalValueType supValue = itk::NumericTraits<InternalValueType>::max();
207  const InternalValueType infValue = itk::NumericTraits<InternalValueType>::NonpositiveMin();
208 
209  m_count = RealVectorType(nbOfSamples, 0);
210  m_sum = RealMatrixType(nbOfBands, nbOfSamples, zeroValue);
211  m_cosum = RealMatrixType(nbOfBands, nbOfSamples, zeroValue);
212  m_sqSum = RealMatrixType(nbOfBands, nbOfSamples, zeroValue);
213  m_min = RealMatrixType(nbOfBands, nbOfSamples, supValue);
214  m_max = RealMatrixType(nbOfBands, nbOfSamples, infValue);
215  }
216 
217  /* 1-Pixel update */
218  void Update(const InputImagePixelType& pixel, unsigned int sampleId)
219  {
220  unsigned int nbOfBands = pixel.Size();
221 
222  m_count[sampleId]++;
223  for (unsigned int band = 0; band < nbOfBands; band++)
224  {
225  // Cast
226  InternalValueType pixelValue = static_cast<InternalValueType>(pixel[band]);
227 
228  // Update Min & max
229  if (pixelValue < m_min[band][sampleId])
230  m_min[band][sampleId] = pixelValue;
231  if (pixelValue > m_max[band][sampleId])
232  m_max[band][sampleId] = pixelValue;
233 
234  // Update Sums
235  m_sum[band][sampleId] += pixelValue;
236  m_sqSum[band][sampleId] += pixelValue * pixelValue;
237  }
238  }
239 
240  /* 2-Pixels update */
241  void Update(const InputImagePixelType& pixel_i, const InputImagePixelType& pixel_j, unsigned int sampleId)
242  {
243  Update(pixel_i, sampleId);
244  unsigned int nbOfBands = pixel_i.Size();
245  for (unsigned int band = 0; band < nbOfBands; band++)
246  {
247  // Cast
248  InternalValueType pixelValue_i = static_cast<InternalValueType>(pixel_i[band]);
249  InternalValueType pixelValue_j = static_cast<InternalValueType>(pixel_j[band]);
250 
251  m_cosum[band][sampleId] += pixelValue_i * pixelValue_j;
252  }
253  }
254 
255  /* Self update */
256  void Update(const ThreadResultsContainer& other)
257  {
258  unsigned int nbOfBands = other.m_sum.rows();
259  unsigned int nbOfSamples = other.m_sum.cols();
260 
261  for (unsigned int sampleId = 0; sampleId < nbOfSamples; sampleId++)
262  {
263  m_count[sampleId] += other.m_count[sampleId];
264  for (unsigned int band = 0; band < nbOfBands; band++)
265  {
266  m_sum[band][sampleId] += other.m_sum[band][sampleId];
267  m_cosum[band][sampleId] += other.m_cosum[band][sampleId];
268  m_sqSum[band][sampleId] += other.m_sqSum[band][sampleId];
269  if (other.m_min[band][sampleId] < m_min[band][sampleId])
270  m_min[band][sampleId] = other.m_min[band][sampleId];
271  if (other.m_max[band][sampleId] > m_max[band][sampleId])
272  m_max[band][sampleId] = other.m_max[band][sampleId];
273  }
274  }
275  }
276 
283  };
284 
285  // Internal threads count
286  std::vector<ThreadResultsContainer> m_InternalThreadResults;
287 
288  // Results
295 
296 private:
297  PersistentStatisticsMosaicFilter(const Self&); // purposely not implemented
298  void operator=(const Self&); // purposely not implemented
299 
300 }; // end of class
301 
302 
323 template <class TInputImage, class TOutputImage, class TInternalValueType>
325  : public PersistentFilterStreamingDecorator<PersistentStatisticsMosaicFilter<TInputImage, TOutputImage, TInternalValueType>>
326 {
327 public:
331  typedef itk::SmartPointer<Self> Pointer;
332  typedef itk::SmartPointer<const Self> ConstPointer;
333 
335  itkNewMacro(Self);
336 
339 
341  typedef typename Superclass::FilterType::RealMatrixType RealMatrixType;
342  typedef typename Superclass::FilterType::RealMatrixObjectType RealMatrixObjectType;
343  typedef typename Superclass::FilterType::RealMatrixListType RealMatrixListType;
344  typedef typename Superclass::FilterType::RealMatrixListObjectType RealMatrixListObjectType;
345 
347  typedef typename Superclass::FilterType::InputImageType InputImageType;
348 
349  using Superclass::PushBackInput;
351  {
352  this->GetFilter()->PushBackInput(input);
353  }
354 
357  {
358  return this->GetFilter()->GetMeansOutput()->Get();
359  }
361  {
362  return this->GetFilter()->GetMeansOutput();
363  }
365  {
366  return this->GetFilter()->GetMeansOutput();
367  }
369 
372  {
373  return this->GetFilter()->GetStdsOutput()->Get();
374  }
376  {
377  return this->GetFilter()->GetStdsOutput();
378  }
380  {
381  return this->GetFilter()->GetStdsOutput();
382  }
384 
387  {
388  return this->GetFilter()->GetMeansOfProductsOutput()->Get();
389  }
391  {
392  return this->GetFilter()->GetMeansOfProductsOutput();
393  }
395  {
396  return this->GetFilter()->GetMeansOfProductsOutput();
397  }
399 
402  {
403  return this->GetFilter()->GetMinsOutput()->Get();
404  }
406  {
407  return this->GetFilter()->GetMinsOutput();
408  }
410  {
411  return this->GetFilter()->GetMinsOutput();
412  }
414 
417  {
418  return this->GetFilter()->GetMaxsOutput()->Get();
419  }
421  {
422  return this->GetFilter()->GetMaxsOutput();
423  }
425  {
426  return this->GetFilter()->GetMaxsOutput();
427  }
429 
432  {
433  return this->GetFilter()->GetAreasOutput()->Get();
434  }
436  {
437  return this->GetFilter()->GetAreasOutput();
438  }
440  {
441  return this->GetFilter()->GetAreasOutput();
442  }
444 
445 protected:
448 
451  {
452  }
453 
454 private:
455  StreamingStatisticsMosaicFilter(const Self&); // purposely not implemented
456  void operator=(const Self&); // purposely not implemented
457 };
458 
459 } // end namespace otb
460 
461 #ifndef OTB_MANUAL_INSTANTIATION
463 #endif
464 
465 #endif
otb::StreamingStatisticsMosaicFilter::GetMaxsOutput
RealMatrixListObjectType * GetMaxsOutput()
Definition: otbStreamingStatisticsMosaicFilter.h:420
otb::PersistentStatisticsMosaicFilter::RealMatrixListType
std::vector< RealMatrixType > RealMatrixListType
Definition: otbStreamingStatisticsMosaicFilter.h:91
otb::PersistentStatisticsMosaicFilter::DataObjectPointerArraySizeType
itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
Definition: otbStreamingStatisticsMosaicFilter.h:96
otb::StreamingStatisticsMosaicFilter::StreamingStatisticsMosaicFilter
StreamingStatisticsMosaicFilter()
Definition: otbStreamingStatisticsMosaicFilter.h:447
otb::StreamingStatisticsMosaicFilter::GetMinsOutput
RealMatrixListObjectType * GetMinsOutput()
Definition: otbStreamingStatisticsMosaicFilter.h:405
otb::PersistentStatisticsMosaicFilter::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbStreamingStatisticsMosaicFilter.h:61
otb::PersistentStatisticsMosaicFilter::Self
PersistentStatisticsMosaicFilter Self
Definition: otbStreamingStatisticsMosaicFilter.h:58
otb::PersistentStatisticsMosaicFilter::m_Mins
RealMatrixListType m_Mins
Definition: otbStreamingStatisticsMosaicFilter.h:292
otb::StreamingStatisticsMosaicFilter::GetMeans
RealMatrixListType GetMeans() const
Definition: otbStreamingStatisticsMosaicFilter.h:356
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::ThreadResultsContainer
ThreadResultsContainer()
Definition: otbStreamingStatisticsMosaicFilter.h:181
otb::PersistentStatisticsMosaicFilter::~PersistentStatisticsMosaicFilter
virtual ~PersistentStatisticsMosaicFilter()
Definition: otbStreamingStatisticsMosaicFilter.h:165
otb::PersistentMosaicFilter::OutputImageType
Superclass::OutputImageType OutputImageType
Definition: otbPersistentMosaicFilter.h:72
otbStreamingStatisticsMosaicFilter.hxx
otb::StreamingStatisticsMosaicFilter::RealMatrixType
Superclass::FilterType::RealMatrixType RealMatrixType
Definition: otbStreamingStatisticsMosaicFilter.h:338
otb::StreamingStatisticsMosaicFilter::GetMeansOfProducts
RealMatrixListType GetMeansOfProducts() const
Definition: otbStreamingStatisticsMosaicFilter.h:386
otb::PersistentStatisticsMosaicFilter::OutputImageType
Superclass::OutputImageType OutputImageType
Definition: otbStreamingStatisticsMosaicFilter.h:77
otb::PersistentStatisticsMosaicFilter::m_ProdMeans
RealMatrixListType m_ProdMeans
Definition: otbStreamingStatisticsMosaicFilter.h:291
otb::PersistentStatisticsMosaicFilter::InterpolatorPointerType
Superclass::InterpolatorPointerType InterpolatorPointerType
Definition: otbStreamingStatisticsMosaicFilter.h:83
otb::PersistentStatisticsMosaicFilter::InputImagePixelType
Superclass::InputImagePixelType InputImagePixelType
Definition: otbStreamingStatisticsMosaicFilter.h:73
otb::PersistentStatisticsMosaicFilter::RealMatrixListObjectType
itk::SimpleDataObjectDecorator< RealMatrixListType > RealMatrixListObjectType
Definition: otbStreamingStatisticsMosaicFilter.h:92
otb::StreamingStatisticsMosaicFilter::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbStreamingStatisticsMosaicFilter.h:332
otb::PersistentStatisticsMosaicFilter::m_Maxs
RealMatrixListType m_Maxs
Definition: otbStreamingStatisticsMosaicFilter.h:293
otb::StreamingStatisticsMosaicFilter::GetMeansOfProductsOutput
RealMatrixListObjectType * GetMeansOfProductsOutput()
Definition: otbStreamingStatisticsMosaicFilter.h:390
otb::PersistentStatisticsMosaicFilter::IteratorType
itk::ImageRegionConstIteratorWithOnlyIndex< OutputImageType > IteratorType
Definition: otbStreamingStatisticsMosaicFilter.h:85
otb::PersistentStatisticsMosaicFilter::InputImageInternalPixelType
Superclass::InputImageInternalPixelType InputImageInternalPixelType
Definition: otbStreamingStatisticsMosaicFilter.h:74
otb::PersistentStatisticsMosaicFilter::OutputImagePointType
Superclass::OutputImagePointType OutputImagePointType
Definition: otbStreamingStatisticsMosaicFilter.h:78
otbPersistentFilterStreamingDecorator.h
otb::PersistentStatisticsMosaicFilter::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbStreamingStatisticsMosaicFilter.h:60
otb::StreamingStatisticsMosaicFilter::GetStdsOutput
RealMatrixListObjectType * GetStdsOutput()
Definition: otbStreamingStatisticsMosaicFilter.h:375
otb::PersistentMosaicFilter::InputImagePixelType
Superclass::InputImagePixelType InputImagePixelType
Definition: otbPersistentMosaicFilter.h:64
otb::PersistentStatisticsMosaicFilter::InputImagePointer
Superclass::InputImagePointer InputImagePointer
Definition: otbStreamingStatisticsMosaicFilter.h:71
otb::StreamingStatisticsMosaicFilter::GetStds
RealMatrixListType GetStds() const
Definition: otbStreamingStatisticsMosaicFilter.h:371
otb::PersistentStatisticsMosaicFilter::m_Means
RealMatrixListType m_Means
Definition: otbStreamingStatisticsMosaicFilter.h:289
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::StreamingStatisticsMosaicFilter::GetMeansOfProductsOutput
const RealMatrixListObjectType * GetMeansOfProductsOutput() const
Definition: otbStreamingStatisticsMosaicFilter.h:394
otb::StreamingStatisticsMosaicFilter::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbStreamingStatisticsMosaicFilter.h:331
otb::PersistentMosaicFilter::InterpolatorPointerType
Superclass::InterpolatorPointerType InterpolatorPointerType
Definition: otbPersistentMosaicFilter.h:86
otb::PersistentStatisticsMosaicFilter::m_InternalThreadResults
std::vector< ThreadResultsContainer > m_InternalThreadResults
Definition: otbStreamingStatisticsMosaicFilter.h:286
otb::PersistentStatisticsMosaicFilter::RealMatrixType
vnl_matrix< InternalValueType > RealMatrixType
Definition: otbStreamingStatisticsMosaicFilter.h:89
otb::StreamingStatisticsMosaicFilter::~StreamingStatisticsMosaicFilter
~StreamingStatisticsMosaicFilter() override
Definition: otbStreamingStatisticsMosaicFilter.h:450
otb::StreamingStatisticsMosaicFilter::RealMatrixListType
Superclass::FilterType::RealMatrixListType RealMatrixListType
Definition: otbStreamingStatisticsMosaicFilter.h:343
otb::PersistentMosaicFilter::InputImageType
Superclass::InputImageType InputImageType
Definition: otbPersistentMosaicFilter.h:58
otb::StreamingStatisticsMosaicFilter::InputImageType
Superclass::FilterType::InputImageType InputImageType
Definition: otbStreamingStatisticsMosaicFilter.h:347
otb::PersistentStatisticsMosaicFilter::m_Area
RealMatrixType m_Area
Definition: otbStreamingStatisticsMosaicFilter.h:294
otb::PersistentStatisticsMosaicFilter::InternalValueType
Superclass::InternalValueType InternalValueType
Definition: otbStreamingStatisticsMosaicFilter.h:82
otbStreamingMosaicFilterBase.h
otb::PersistentStatisticsMosaicFilter::GetMeansOfProducts
RealMatrixListType GetMeansOfProducts() const
Definition: otbStreamingStatisticsMosaicFilter.h:146
otb::StreamingStatisticsMosaicFilter::RealMatrixListObjectType
Superclass::FilterType::RealMatrixListObjectType RealMatrixListObjectType
Definition: otbStreamingStatisticsMosaicFilter.h:344
otb::PersistentStatisticsMosaicFilter::RealMatrixObjectType
itk::SimpleDataObjectDecorator< RealMatrixType > RealMatrixObjectType
Definition: otbStreamingStatisticsMosaicFilter.h:90
otb::StreamingStatisticsMosaicFilter::GetMeansOutput
RealMatrixListObjectType * GetMeansOutput()
Definition: otbStreamingStatisticsMosaicFilter.h:360
otb::StreamingStatisticsMosaicFilter::RealMatrixObjectType
Superclass::FilterType::RealMatrixObjectType RealMatrixObjectType
Definition: otbStreamingStatisticsMosaicFilter.h:342
otb::StreamingStatisticsMosaicFilter::Self
StreamingStatisticsMosaicFilter Self
Definition: otbStreamingStatisticsMosaicFilter.h:329
otb::StreamingStatisticsMosaicFilter::GetAreas
RealMatrixType GetAreas() const
Definition: otbStreamingStatisticsMosaicFilter.h:431
otbPersistentMosaicFilter.h
otb::StreamingStatisticsMosaicFilter::GetMins
RealMatrixListType GetMins() const
Definition: otbStreamingStatisticsMosaicFilter.h:401
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::m_min
RealMatrixType m_min
Definition: otbStreamingStatisticsMosaicFilter.h:280
otb::PersistentMosaicFilter::InputImagePointType
Superclass::InputImagePointType InputImagePointType
Definition: otbPersistentMosaicFilter.h:63
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::m_max
RealMatrixType m_max
Definition: otbStreamingStatisticsMosaicFilter.h:281
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::m_sqSum
RealMatrixType m_sqSum
Definition: otbStreamingStatisticsMosaicFilter.h:278
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::m_count
RealVectorType m_count
Definition: otbStreamingStatisticsMosaicFilter.h:282
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::m_sum
RealMatrixType m_sum
Definition: otbStreamingStatisticsMosaicFilter.h:277
otb::PersistentStatisticsMosaicFilter::GetMaxs
RealMatrixListType GetMaxs() const
Definition: otbStreamingStatisticsMosaicFilter.h:137
otb::StreamingStatisticsMosaicFilter::GetStdsOutput
const RealMatrixListObjectType * GetStdsOutput() const
Definition: otbStreamingStatisticsMosaicFilter.h:379
otb::PersistentStatisticsMosaicFilter::m_Stds
RealMatrixListType m_Stds
Definition: otbStreamingStatisticsMosaicFilter.h:290
otb::PersistentStatisticsMosaicFilter::GetAreas
RealMatrixType GetAreas() const
Definition: otbStreamingStatisticsMosaicFilter.h:155
otb::StreamingStatisticsMosaicFilter::GetMaxsOutput
const RealMatrixListObjectType * GetMaxsOutput() const
Definition: otbStreamingStatisticsMosaicFilter.h:424
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::ThreadResultsContainer
ThreadResultsContainer(unsigned int nbOfBands, unsigned int nbOfSamples)
Definition: otbStreamingStatisticsMosaicFilter.h:186
otb::StreamingStatisticsMosaicFilter::GetMeansOutput
const RealMatrixListObjectType * GetMeansOutput() const
Definition: otbStreamingStatisticsMosaicFilter.h:364
otb::PersistentStatisticsMosaicFilter::DataObjectPointer
itk::DataObject::Pointer DataObjectPointer
Definition: otbStreamingStatisticsMosaicFilter.h:95
otb::StreamingStatisticsMosaicFilter::GetAreasOutput
RealMatrixObjectType * GetAreasOutput()
Definition: otbStreamingStatisticsMosaicFilter.h:435
otb::StreamingStatisticsMosaicFilter::GetAreasOutput
const RealMatrixObjectType * GetAreasOutput() const
Definition: otbStreamingStatisticsMosaicFilter.h:439
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::Update
void Update(const InputImagePixelType &pixel, unsigned int sampleId)
Definition: otbStreamingStatisticsMosaicFilter.h:218
otb::PersistentMosaicFilter::OutputImagePointType
Superclass::OutputImagePointType OutputImagePointType
Definition: otbPersistentMosaicFilter.h:74
otb::PersistentFilterStreamingDecorator
This filter link a persistent filter with a StreamingImageVirtualWriter.
Definition: otbPersistentFilterStreamingDecorator.h:47
otb::PersistentMosaicFilter::InputImagePointer
Superclass::InputImagePointer InputImagePointer
Definition: otbPersistentMosaicFilter.h:62
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::ThreadResultsContainer
ThreadResultsContainer(const ThreadResultsContainer &other)
Definition: otbStreamingStatisticsMosaicFilter.h:192
otb::PersistentStatisticsMosaicFilter::GetMins
RealMatrixListType GetMins() const
Definition: otbStreamingStatisticsMosaicFilter.h:128
otb::PersistentMosaicFilter::InternalValueType
Superclass::InternalValueType InternalValueType
Definition: otbPersistentMosaicFilter.h:83
otb::StreamingStatisticsMosaicFilter::Superclass
PersistentFilterStreamingDecorator< PersistentStatisticsMosaicFilter< TInputImage, TOutputImage, TInternalValueType > > Superclass
Definition: otbStreamingStatisticsMosaicFilter.h:330
otb::PersistentStatisticsMosaicFilter::InputImagePointType
Superclass::InputImagePointType InputImagePointType
Definition: otbStreamingStatisticsMosaicFilter.h:72
otb::StreamingStatisticsMosaicFilter::GetMinsOutput
const RealMatrixListObjectType * GetMinsOutput() const
Definition: otbStreamingStatisticsMosaicFilter.h:409
otb::PersistentStatisticsMosaicFilter::GetMeans
RealMatrixListType GetMeans() const
Definition: otbStreamingStatisticsMosaicFilter.h:110
otb::PersistentStatisticsMosaicFilter::Superclass
PersistentMosaicFilter< TInputImage, TOutputImage, TInternalValueType > Superclass
Definition: otbStreamingStatisticsMosaicFilter.h:59
otb::PersistentStatisticsMosaicFilter::InputImageType
Superclass::InputImageType InputImageType
Definition: otbStreamingStatisticsMosaicFilter.h:67
otb::StreamingStatisticsMosaicFilter::PushBackInput
void PushBackInput(InputImageType *input)
Definition: otbStreamingStatisticsMosaicFilter.h:350
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::Update
void Update(const ThreadResultsContainer &other)
Definition: otbStreamingStatisticsMosaicFilter.h:256
otb::PersistentMosaicFilter
This filter is the base class for all mosaic filter persisting data through multiple update....
Definition: otbPersistentMosaicFilter.h:48
otb::PersistentStatisticsMosaicFilter::GetStds
RealMatrixListType GetStds() const
Definition: otbStreamingStatisticsMosaicFilter.h:119
otb::PersistentStatisticsMosaicFilter::RealVectorType
vnl_vector< InternalValueType > RealVectorType
Definition: otbStreamingStatisticsMosaicFilter.h:88
otb::StreamingStatisticsMosaicFilter
This class streams the whole input image through the PersistentStatisticsMosaicFilter.
Definition: otbStreamingStatisticsMosaicFilter.h:324
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::Update
void Update(const InputImagePixelType &pixel_i, const InputImagePixelType &pixel_j, unsigned int sampleId)
Definition: otbStreamingStatisticsMosaicFilter.h:241
otb::PersistentMosaicFilter::InputImageInternalPixelType
Superclass::InputImageInternalPixelType InputImageInternalPixelType
Definition: otbPersistentMosaicFilter.h:68
otb::PersistentStatisticsMosaicFilter
Computes the statistics of a mosaic from an input images set. The output pixel value is equal to the ...
Definition: otbStreamingStatisticsMosaicFilter.h:54
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer
Definition: otbStreamingStatisticsMosaicFilter.h:176
otb::StreamingStatisticsMosaicFilter::GetMaxs
RealMatrixListType GetMaxs() const
Definition: otbStreamingStatisticsMosaicFilter.h:416
otb::PersistentMosaicFilter::OutputImageRegionType
Superclass::OutputImageRegionType OutputImageRegionType
Definition: otbPersistentMosaicFilter.h:80
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::m_cosum
RealMatrixType m_cosum
Definition: otbStreamingStatisticsMosaicFilter.h:279
otb::PersistentStatisticsMosaicFilter::OutputImageRegionType
Superclass::OutputImageRegionType OutputImageRegionType
Definition: otbStreamingStatisticsMosaicFilter.h:79
otb::PersistentStatisticsMosaicFilter::ThreadResultsContainer::Clear
void Clear(unsigned int nbOfBands, unsigned int nbOfSamples)
Definition: otbStreamingStatisticsMosaicFilter.h:203