18 #ifndef itkResourceProbe_h
19 #define itkResourceProbe_h
29 #include "ITKCommonExport.h"
44 template <
typename ValueType,
typename MeanType>
81 GetNumberOfStarts()
const;
85 GetNumberOfStops()
const;
89 GetNumberOfIteration()
const;
94 GetInstantValue()
const = 0;
124 GetStandardDeviation();
133 SetNameOfProbe(
const char * nameOfProbe);
137 GetNameOfProbe()
const;
141 PrintSystemInformation(std::ostream & os = std::cout);
145 Report(std::ostream & os = std::cout,
bool printSystemInfo =
true,
bool printReportHead =
true,
bool useTabs =
false);
149 ExpandedReport(std::ostream & os = std::cout,
150 bool printSystemInfo =
true,
151 bool printReportHead =
true,
152 bool useTabs =
false);
156 JSONReport(std::ostream & os = std::cout);
160 PrintJSONSystemInformation(std::ostream & os = std::cout);
165 UpdateMinimumMaximumMeasuredValue(ValueType value);
169 PrintReportHead(std::ostream & os = std::cout,
bool useTabs =
false);
173 PrintExpandedReportHead(std::ostream & os = std::cout,
bool useTabs =
false);
176 template <
typename T>
178 PrintJSONvar(std::ostream & os,
const char * varName, T varValue,
unsigned int indent = 4,
bool comma =
true);
182 Print(std::ostream & os,
Indent indent)
const;
185 ValueType m_StartValue{};
186 ValueType m_TotalValue{};
187 ValueType m_MinimumValue{};
188 ValueType m_MaximumValue{};
189 ValueType m_StandardDeviation{};
190 ValueType m_StandardError{};
196 std::vector<ValueType> m_ProbeValueList{};
198 std::string m_NameOfProbe{};
199 std::string m_TypeString{};
200 std::string m_UnitString{};
202 static constexpr
unsigned int tabwidth = 15;
206 #ifndef ITK_MANUAL_INSTANTIATION
207 # include "itkResourceProbe.hxx"
210 #endif // itkResourceProbe_h