ITK
5.2.0
Insight Toolkit
ITK
Modules
Core
Common
include
itkIterationReporter.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
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 itkIterationReporter_h
19
#define itkIterationReporter_h
20
21
#include "
itkProcessObject.h
"
22
23
namespace
itk
24
{
55
class
ITKCommon_EXPORT
IterationReporter
56
{
57
public
:
59
IterationReporter
(
ProcessObject
* filter,
ThreadIdType
threadId,
unsigned
long
stepsPerUpdate = 100);
60
62
~
IterationReporter
() =
default
;
63
65
void
66
CompletedStep
()
67
{
68
// Inline implementation for efficiency.
69
// We don't need to test for thread id 0 here because the
70
// constructor sets m_StepsBeforeUpdate to a value larger than
71
// the number of pixels for threads other than 0.
72
if
(--m_StepsBeforeUpdate == 0)
73
{
74
m_StepsBeforeUpdate = m_StepsPerUpdate;
75
m_Filter->InvokeEvent(IterationEvent());
76
}
77
}
79
80
protected
:
81
ProcessObject
*
m_Filter
;
82
ThreadIdType
m_ThreadId
;
83
unsigned
long
m_StepsPerUpdate
;
84
unsigned
long
m_StepsBeforeUpdate
;
85
};
86
}
// end namespace itk
87
88
#endif
itk::ThreadIdType
unsigned int ThreadIdType
Definition:
itkIntTypes.h:99
itk::IterationReporter::CompletedStep
void CompletedStep()
Definition:
itkIterationReporter.h:66
itk::IterationReporter::m_StepsPerUpdate
unsigned long m_StepsPerUpdate
Definition:
itkIterationReporter.h:83
itk::IterationReporter
Implements iterations tracking for a filter.
Definition:
itkIterationReporter.h:55
itk::IterationReporter::m_StepsBeforeUpdate
unsigned long m_StepsBeforeUpdate
Definition:
itkIterationReporter.h:84
itkProcessObject.h
itk::IterationReporter::m_Filter
ProcessObject * m_Filter
Definition:
itkIterationReporter.h:81
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itk::ProcessObject
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Definition:
itkProcessObject.h:138
itk::IterationReporter::m_ThreadId
ThreadIdType m_ThreadId
Definition:
itkIterationReporter.h:82
Generated on Thu Apr 1 2021 01:50:35 for ITK by
1.8.16