18#ifndef itkResourceProbe_h
19#define itkResourceProbe_h
29#include "ITKCommonExport.h"
44template <
typename ValueType,
typename MeanType>
67 [[nodiscard]] std::string
71 [[nodiscard]] std::string
100 [[nodiscard]]
virtual ValueType
105 [[nodiscard]]
virtual ValueType
111 [[nodiscard]]
virtual MeanType
120 [[nodiscard]]
virtual ValueType
125 [[nodiscard]]
virtual ValueType
143 [[nodiscard]]
virtual std::string
152 Report(std::ostream & os = std::cout,
bool printSystemInfo =
true,
bool printReportHead =
true,
bool useTabs =
false);
157 bool printSystemInfo =
true,
158 bool printReportHead =
true,
159 bool useTabs =
false);
183 template <
typename T>
185 PrintJSONvar(std::ostream & os,
const char * varName, T varValue,
unsigned int indent = 4,
bool comma =
true);
213#ifndef ITK_MANUAL_INSTANTIATION
214# include "itkResourceProbe.hxx"
Control indentation during Print() invocation.
CountType m_NumberOfStops
RealTimeClock::TimeStampType m_TotalValue
CountType m_NumberOfStarts
virtual void PrintReportHead(std::ostream &os=std::cout, bool useTabs=false)
std::string GetType() const
ResourceProbe & operator=(ResourceProbe &&)=default
virtual void SetNameOfProbe(const char *nameOfProbe)
virtual ~ResourceProbe()=default
std::vector< RealTimeClock::TimeStampType > m_ProbeValueList
virtual void PrintExpandedReportHead(std::ostream &os=std::cout, bool useTabs=false)
virtual ValueType GetStandardError()
CountType m_NumberOfIteration
virtual void UpdateMinimumMaximumMeasuredValue(ValueType value)
ResourceProbe(ResourceProbe &&)=default
CountType GetNumberOfIteration() const
virtual MeanType GetMean() const
std::string GetUnit() const
virtual void PrintJSONSystemInformation(std::ostream &os=std::cout)
RealTimeClock::TimeStampType m_StandardDeviation
RealTimeClock::TimeStampType m_StandardError
virtual void JSONReport(std::ostream &os=std::cout)
ResourceProbe(std::string type, std::string unit)
ResourceProbe & operator=(const ResourceProbe &)=default
virtual ValueType GetTotal() const
virtual std::string GetNameOfProbe() const
std::string m_NameOfProbe
virtual void PrintSystemInformation(std::ostream &os=std::cout)
virtual ValueType GetMaximum() const
virtual void Print(std::ostream &os, Indent indent) const
ResourceProbe(const ResourceProbe &)=default
virtual void ExpandedReport(std::ostream &os=std::cout, bool printSystemInfo=true, bool printReportHead=true, bool useTabs=false)
RealTimeClock::TimeStampType m_StartValue
static constexpr unsigned int tabwidth
void PrintJSONvar(std::ostream &os, const char *varName, T varValue, unsigned int indent=4, bool comma=true)
virtual ValueType GetInstantValue() const =0
RealTimeClock::TimeStampType m_MaximumValue
CountType GetNumberOfStops() const
virtual ValueType GetMinimum() const
RealTimeClock::TimeStampType m_MinimumValue
CountType GetNumberOfStarts() const
virtual void Report(std::ostream &os=std::cout, bool printSystemInfo=true, bool printReportHead=true, bool useTabs=false)
virtual ValueType GetStandardDeviation()
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType