VTK-m  2.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::filter::image_processing::ImageDifference Class Reference

Construct an ImageDifference of a given DataSet. More...

#include <ImageDifference.h>

Inheritance diagram for vtkm::filter::image_processing::ImageDifference:
vtkm::filter::FilterField vtkm::filter::Filter

Public Member Functions

VTKM_CONT ImageDifference ()
 
VTKM_CONT vtkm::IdComponent GetAverageRadius () const
 
VTKM_CONT void SetAverageRadius (const vtkm::IdComponent &averageRadius)
 
VTKM_CONT vtkm::IdComponent GetPixelShiftRadius () const
 
VTKM_CONT void SetPixelShiftRadius (const vtkm::IdComponent &pixelShiftRadius)
 
VTKM_CONT vtkm::FloatDefault GetAllowedPixelErrorRatio () const
 
VTKM_CONT void SetAllowedPixelErrorRatio (const vtkm::FloatDefault &pixelErrorRatio)
 
VTKM_CONT vtkm::FloatDefault GetPixelDiffThreshold () const
 
VTKM_CONT void SetPixelDiffThreshold (const vtkm::FloatDefault &threshold)
 
VTKM_CONT bool GetImageDiffWithinThreshold () const
 
VTKM_CONT void SetThresholdFieldName (const std::string &name)
 
VTKM_CONT std::string GetThresholdFieldName () const
 
VTKM_CONT void SetPrimaryField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Choose the primary field to operate on. More...
 
VTKM_CONT std::string GetPrimaryFieldName () const
 
VTKM_CONT vtkm::cont::Field::Association GetPrimaryFieldAssociation () const
 
VTKM_CONT void SetSecondaryField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Choose the secondary field to operate on. More...
 
VTKM_CONT std::string GetSecondaryFieldName () const
 
VTKM_CONT vtkm::cont::Field::Association GetSecondaryFieldAssociation () const
 
- Public Member Functions inherited from vtkm::filter::FilterField
 FilterField ()
 
VTKM_CONT void SetOutputFieldName (const std::string &name)
 
const VTKM_CONT std::string & GetOutputFieldName () const
 
VTKM_CONT void SetActiveField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 
void SetActiveField (vtkm::IdComponent index, const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 
const VTKM_CONT std::string & GetActiveFieldName (vtkm::IdComponent index=0) const
 
VTKM_CONT vtkm::cont::Field::Association GetActiveFieldAssociation (vtkm::IdComponent index=0) const
 
VTKM_CONT void SetActiveCoordinateSystem (vtkm::Id coord_idx)
 
VTKM_CONT void SetActiveCoordinateSystem (vtkm::IdComponent index, vtkm::Id coord_idx)
 
VTKM_CONT vtkm::Id GetActiveCoordinateSystemIndex () const
 
VTKM_CONT vtkm::Id GetActiveCoordinateSystemIndex (vtkm::IdComponent index) const
 
VTKM_CONT void SetUseCoordinateSystemAsField (bool val)
 
VTKM_CONT void SetUseCoordinateSystemAsField (vtkm::IdComponent index, bool val)
 
VTKM_CONT bool GetUseCoordinateSystemAsField (vtkm::IdComponent index=0) const
 
- Public Member Functions inherited from vtkm::filter::Filter
virtual VTKM_CONT ~Filter ()
 
virtual VTKM_CONT bool CanThread () const
 
VTKM_CONT void SetThreadsPerCPU (vtkm::Id numThreads)
 
VTKM_CONT void SetThreadsPerGPU (vtkm::Id numThreads)
 
VTKM_CONT vtkm::Id GetThreadsPerCPU () const
 
VTKM_CONT vtkm::Id GetThreadsPerGPU () const
 
VTKM_CONT bool GetRunMultiThreadedFilter () const
 
VTKM_CONT void SetRunMultiThreadedFilter (bool val)
 
void SetInvoker (vtkm::cont::Invoker inv)
 Specify the vtkm::cont::Invoker to be used to execute worklets by this filter instance. More...
 
VTKM_CONT void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetFieldsToPass (vtkm::filter::FieldSelection &&fieldsToPass)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass, vtkm::filter::FieldSelection::Mode mode)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetFieldsToPass (std::initializer_list< std::string > fields, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetFieldsToPass (std::initializer_list< std::pair< std::string, vtkm::cont::Field::Association >> fields, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetFieldsToPass (const std::string &fieldname, vtkm::cont::Field::Association association, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetFieldsToPass (const std::string &fieldname, vtkm::filter::FieldSelection::Mode mode)
 Specify which fields get passed from input to output. More...
 
const VTKM_CONT vtkm::filter::FieldSelectionGetFieldsToPass () const
 Specify which fields get passed from input to output. More...
 
VTKM_CONT vtkm::filter::FieldSelectionGetFieldsToPass ()
 Specify which fields get passed from input to output. More...
 
VTKM_CONT void SetPassCoordinateSystems (bool flag)
 Specify whether to always pass coordinate systems. More...
 
VTKM_CONT bool GetPassCoordinateSystems () const
 Specify whether to always pass coordinate systems. More...
 
VTKM_CONT vtkm::cont::DataSet Execute (const vtkm::cont::DataSet &input)
 
VTKM_CONT vtkm::cont::PartitionedDataSet Execute (const vtkm::cont::PartitionedDataSet &input)
 

Private Member Functions

VTKM_CONT vtkm::cont::DataSet DoExecute (const vtkm::cont::DataSet &primaryArray) override
 

Private Attributes

vtkm::IdComponent AverageRadius = 0
 
vtkm::IdComponent PixelShiftRadius = 0
 
vtkm::FloatDefault AllowedPixelErrorRatio = 0.00025f
 
vtkm::FloatDefault PixelDiffThreshold = 0.05f
 
bool ImageDiffWithinThreshold = true
 
std::string ThresholdFieldName = "threshold-output"
 

Additional Inherited Members

- Protected Member Functions inherited from vtkm::filter::FilterField
const VTKM_CONT vtkm::cont::FieldGetFieldFromDataSet (const vtkm::cont::DataSet &input) const
 
const VTKM_CONT vtkm::cont::FieldGetFieldFromDataSet (vtkm::IdComponent index, const vtkm::cont::DataSet &input) const
 
template<typename Functor , typename... Args>
VTKM_CONT void CastAndCallScalarField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 
template<typename Functor , typename... Args>
VTKM_CONT void CastAndCallScalarField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
VTKM_CONT void CastAndCallVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
VTKM_CONT void CastAndCallVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 
VTKM_CONT vtkm::cont::DataSet CreateResultField (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::Field &resultField) const
 Create the output data set for DoExecute More...
 
VTKM_CONT vtkm::cont::DataSet CreateResultField (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, vtkm::cont::Field::Association resultFieldAssociation, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
VTKM_CONT vtkm::cont::DataSet CreateResultFieldPoint (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
VTKM_CONT vtkm::cont::DataSet CreateResultFieldCell (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
- Protected Member Functions inherited from vtkm::filter::Filter
VTKM_CONT vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet) const
 Create the output data set for DoExecute. More...
 
VTKM_CONT vtkm::cont::PartitionedDataSet CreateResult (const vtkm::cont::PartitionedDataSet &input, const vtkm::cont::PartitionedDataSet &resultPartitions) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
VTKM_CONT vtkm::cont::PartitionedDataSet CreateResult (const vtkm::cont::PartitionedDataSet &input, const vtkm::cont::PartitionedDataSet &resultPartitions, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
VTKM_CONT vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
virtual VTKM_CONT vtkm::cont::PartitionedDataSet DoExecutePartitions (const vtkm::cont::PartitionedDataSet &inData)
 
template<typename FieldMapper >
VTKM_CONT vtkm::cont::DataSet CreateResultCoordinateSystem (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, const vtkm::cont::CoordinateSystem &resultCoordSystem, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
VTKM_CONT vtkm::cont::DataSet CreateResultCoordinateSystem (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, const std::string &coordsName, const vtkm::cont::UnknownArrayHandle &coordsData, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
- Protected Attributes inherited from vtkm::filter::Filter
vtkm::cont::Invoker Invoke
 

Detailed Description

Construct an ImageDifference of a given DataSet.

The dataset generated by executing this filter is a Dataset with two Fields:

The threshold-output is calculated for each pixel using the vtkm::Magnitude vector function on the individual pixel difference.

Constructor & Destructor Documentation

◆ ImageDifference()

VTKM_CONT vtkm::filter::image_processing::ImageDifference::ImageDifference ( )

Member Function Documentation

◆ DoExecute()

VTKM_CONT vtkm::cont::DataSet vtkm::filter::image_processing::ImageDifference::DoExecute ( const vtkm::cont::DataSet primaryArray)
overrideprivatevirtual

Implements vtkm::filter::Filter.

◆ GetAllowedPixelErrorRatio()

VTKM_CONT vtkm::FloatDefault vtkm::filter::image_processing::ImageDifference::GetAllowedPixelErrorRatio ( ) const
inline

◆ GetAverageRadius()

VTKM_CONT vtkm::IdComponent vtkm::filter::image_processing::ImageDifference::GetAverageRadius ( ) const
inline

◆ GetImageDiffWithinThreshold()

VTKM_CONT bool vtkm::filter::image_processing::ImageDifference::GetImageDiffWithinThreshold ( ) const
inline

◆ GetPixelDiffThreshold()

VTKM_CONT vtkm::FloatDefault vtkm::filter::image_processing::ImageDifference::GetPixelDiffThreshold ( ) const
inline

◆ GetPixelShiftRadius()

VTKM_CONT vtkm::IdComponent vtkm::filter::image_processing::ImageDifference::GetPixelShiftRadius ( ) const
inline

◆ GetPrimaryFieldAssociation()

VTKM_CONT vtkm::cont::Field::Association vtkm::filter::image_processing::ImageDifference::GetPrimaryFieldAssociation ( ) const
inline

◆ GetPrimaryFieldName()

VTKM_CONT std::string vtkm::filter::image_processing::ImageDifference::GetPrimaryFieldName ( ) const
inline

◆ GetSecondaryFieldAssociation()

VTKM_CONT vtkm::cont::Field::Association vtkm::filter::image_processing::ImageDifference::GetSecondaryFieldAssociation ( ) const
inline

◆ GetSecondaryFieldName()

VTKM_CONT std::string vtkm::filter::image_processing::ImageDifference::GetSecondaryFieldName ( ) const
inline

◆ GetThresholdFieldName()

VTKM_CONT std::string vtkm::filter::image_processing::ImageDifference::GetThresholdFieldName ( ) const
inline

◆ SetAllowedPixelErrorRatio()

VTKM_CONT void vtkm::filter::image_processing::ImageDifference::SetAllowedPixelErrorRatio ( const vtkm::FloatDefault pixelErrorRatio)
inline

◆ SetAverageRadius()

VTKM_CONT void vtkm::filter::image_processing::ImageDifference::SetAverageRadius ( const vtkm::IdComponent averageRadius)
inline

◆ SetPixelDiffThreshold()

VTKM_CONT void vtkm::filter::image_processing::ImageDifference::SetPixelDiffThreshold ( const vtkm::FloatDefault threshold)
inline

◆ SetPixelShiftRadius()

VTKM_CONT void vtkm::filter::image_processing::ImageDifference::SetPixelShiftRadius ( const vtkm::IdComponent pixelShiftRadius)
inline

◆ SetPrimaryField()

VTKM_CONT void vtkm::filter::image_processing::ImageDifference::SetPrimaryField ( const std::string &  name,
vtkm::cont::Field::Association  association = vtkm::cont::Field::Association::Any 
)
inline

Choose the primary field to operate on.

For Image difference A - B, A is the primary field.

◆ SetSecondaryField()

VTKM_CONT void vtkm::filter::image_processing::ImageDifference::SetSecondaryField ( const std::string &  name,
vtkm::cont::Field::Association  association = vtkm::cont::Field::Association::Any 
)
inline

Choose the secondary field to operate on.

For Image difference A - B, B is the secondary field.

◆ SetThresholdFieldName()

VTKM_CONT void vtkm::filter::image_processing::ImageDifference::SetThresholdFieldName ( const std::string &  name)
inline

Member Data Documentation

◆ AllowedPixelErrorRatio

vtkm::FloatDefault vtkm::filter::image_processing::ImageDifference::AllowedPixelErrorRatio = 0.00025f
private

◆ AverageRadius

vtkm::IdComponent vtkm::filter::image_processing::ImageDifference::AverageRadius = 0
private

◆ ImageDiffWithinThreshold

bool vtkm::filter::image_processing::ImageDifference::ImageDiffWithinThreshold = true
private

◆ PixelDiffThreshold

vtkm::FloatDefault vtkm::filter::image_processing::ImageDifference::PixelDiffThreshold = 0.05f
private

◆ PixelShiftRadius

vtkm::IdComponent vtkm::filter::image_processing::ImageDifference::PixelShiftRadius = 0
private

◆ ThresholdFieldName

std::string vtkm::filter::image_processing::ImageDifference::ThresholdFieldName = "threshold-output"
private

The documentation for this class was generated from the following file: