VTK-m  2.1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::filter::field_transform::LogValues Class Reference

Adds field to a vtkm::cont::DataSet that gives the log values for the user specified field. More...

#include <LogValues.h>

Inheritance diagram for vtkm::filter::field_transform::LogValues:
vtkm::filter::Filter

Public Types

enum  LogBase { LogBase::E, LogBase::TWO, LogBase::TEN }
 Identifies a type of logarithm as specified by its base. More...
 

Public Member Functions

const LogBaseGetBaseValue () const
 Specify the base of the logarithm. More...
 
void SetBaseValue (const LogBase &base)
 Specify the base of the logarithm. More...
 
void SetBaseValueToE ()
 Take the natural logarithm. More...
 
void SetBaseValueTo2 ()
 Take the base 2 logarithm. More...
 
void SetBaseValueTo10 ()
 Take the base 10 logarithm. More...
 
vtkm::FloatDefault GetMinValue () const
 Specifies the minimum value to take the logarithm of. More...
 
void SetMinValue (const vtkm::FloatDefault &value)
 Specifies the minimum value to take the logarithm of. More...
 
- Public Member Functions inherited from vtkm::filter::Filter
 Filter ()
 
virtual ~Filter ()
 
vtkm::cont::DataSet Execute (const vtkm::cont::DataSet &input)
 Executes the filter on the input and produces a result dataset. More...
 
vtkm::cont::PartitionedDataSet Execute (const vtkm::cont::PartitionedDataSet &input)
 Executes the filter on the input PartitionedDataSet and produces a result PartitionedDataSet. More...
 
void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (vtkm::filter::FieldSelection &&fieldsToPass)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass, vtkm::filter::FieldSelection::Mode mode)
 
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...
 
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...
 
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...
 
void SetFieldsToPass (const std::string &fieldname, vtkm::filter::FieldSelection::Mode mode)
 Specify which fields get passed from input to output. More...
 
const vtkm::filter::FieldSelectionGetFieldsToPass () const
 Specify which fields get passed from input to output. More...
 
vtkm::filter::FieldSelectionGetFieldsToPass ()
 Specify which fields get passed from input to output. More...
 
void SetPassCoordinateSystems (bool flag)
 Specify whether to always pass coordinate systems. More...
 
bool GetPassCoordinateSystems () const
 Specify whether to always pass coordinate systems. More...
 
void SetOutputFieldName (const std::string &name)
 Specifies the name of the output field generated. More...
 
const std::string & GetOutputFieldName () const
 Specifies the name of the output field generated. More...
 
void SetActiveField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Specifies a field to operate on. More...
 
void SetActiveField (vtkm::IdComponent index, const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Specifies a field to operate on. More...
 
const std::string & GetActiveFieldName (vtkm::IdComponent index=0) const
 Specifies a field to operate on. More...
 
vtkm::cont::Field::Association GetActiveFieldAssociation (vtkm::IdComponent index=0) const
 Specifies a field to operate on. More...
 
void SetActiveCoordinateSystem (vtkm::Id coord_idx)
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
void SetActiveCoordinateSystem (vtkm::IdComponent index, vtkm::Id coord_idx)
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
vtkm::Id GetActiveCoordinateSystemIndex (vtkm::IdComponent index=0) const
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
void SetUseCoordinateSystemAsField (bool val)
 Specifies whether to use point coordinates as the input field. More...
 
void SetUseCoordinateSystemAsField (vtkm::IdComponent index, bool val)
 Specifies whether to use point coordinates as the input field. More...
 
bool GetUseCoordinateSystemAsField (vtkm::IdComponent index=0) const
 Specifies whether to use point coordinates as the input field. More...
 
vtkm::IdComponent GetNumberOfActiveFields () const
 Return the number of active fields currently set. More...
 
virtual bool CanThread () const
 Returns whether the filter can execute on partitions in concurrent threads. More...
 
void SetThreadsPerCPU (vtkm::Id numThreads)
 
void SetThreadsPerGPU (vtkm::Id numThreads)
 
vtkm::Id GetThreadsPerCPU () const
 
vtkm::Id GetThreadsPerGPU () const
 
bool GetRunMultiThreadedFilter () const
 
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...
 

Private Member Functions

vtkm::cont::DataSet DoExecute (const vtkm::cont::DataSet &input) override
 

Private Attributes

LogBase BaseValue = LogBase::E
 
vtkm::FloatDefault MinValue = std::numeric_limits<FloatDefault>::min()
 

Additional Inherited Members

- Protected Member Functions inherited from vtkm::filter::Filter
vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet) const
 Create the output data set for DoExecute. More...
 
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::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::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::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...
 
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::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::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
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::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...
 
const vtkm::cont::FieldGetFieldFromDataSet (const vtkm::cont::DataSet &input) const
 Retrieve an input field from a vtkm::cont::DataSet object. More...
 
const vtkm::cont::FieldGetFieldFromDataSet (vtkm::IdComponent index, const vtkm::cont::DataSet &input) const
 Retrieve an input field from a vtkm::cont::DataSet object. More...
 
virtual vtkm::cont::PartitionedDataSet DoExecutePartitions (const vtkm::cont::PartitionedDataSet &inData)
 
template<typename Functor , typename... Args>
void CastAndCallScalarField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input scalar field. More...
 
template<typename Functor , typename... Args>
void CastAndCallScalarField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input scalar field. More...
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
void CastAndCallVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input vector field. More...
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
void CastAndCallVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input vector field. More...
 
template<typename Functor , typename... Args>
void CastAndCallVariableVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 This method is like CastAndCallVecField except that it can be used for a field of unknown vector size (or scalars). More...
 
template<typename Functor , typename... Args>
void CastAndCallVariableVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 This method is like CastAndCallVecField except that it can be used for a field of unknown vector size (or scalars). More...
 
- Protected Attributes inherited from vtkm::filter::Filter
vtkm::cont::Invoker Invoke
 

Detailed Description

Adds field to a vtkm::cont::DataSet that gives the log values for the user specified field.

By default, LogValues takes a natural logarithm (of base e). The base of the logarithm can be set to one of the bases listed in LogBase with SetBaseValue().

Logarithms are often used to rescale data to simultaneously show data at different orders of magnitude. It allows small changes in small numbers be visible next to much larger numbers with less precision. One problem with this approach is if there exist numbers very close to zero, the scale at the low range could make all but the smallest numbers comparatively hard to see. Thus, LogValues supports setting a minimum value (with SetMinValue()) that will clamp any smaller values to that.

Member Enumeration Documentation

◆ LogBase

Identifies a type of logarithm as specified by its base.

Enumerator

Take the natural logarithm.

The logarithm is set to the mathematical constant e (about 2.718). This is a constant that has many uses in calculus and other mathematics, and a logarithm of base e is often referred to as the "natural" logarithm.

TWO 

Take the base 2 logarithm.

The base 2 logarithm is particularly useful for estimating the depth of a binary hierarchy.

TEN 

Take the base 10 logarithm.

The base 10 logarithm is handy to convert a number to its order of magnitude based on our standard base 10 human counting system.

Member Function Documentation

◆ DoExecute()

vtkm::cont::DataSet vtkm::filter::field_transform::LogValues::DoExecute ( const vtkm::cont::DataSet input)
overrideprivatevirtual

Implements vtkm::filter::Filter.

◆ GetBaseValue()

const LogBase& vtkm::filter::field_transform::LogValues::GetBaseValue ( ) const
inline

Specify the base of the logarithm.

◆ GetMinValue()

vtkm::FloatDefault vtkm::filter::field_transform::LogValues::GetMinValue ( ) const
inline

Specifies the minimum value to take the logarithm of.

Before taking the logarithm, this filter will check the value to this minimum value and clamp it to the minimum value if it is lower. This is useful to prevent values from approching negative infinity.

By default, no minimum value is used.

◆ SetBaseValue()

void vtkm::filter::field_transform::LogValues::SetBaseValue ( const LogBase base)
inline

Specify the base of the logarithm.

◆ SetBaseValueTo10()

void vtkm::filter::field_transform::LogValues::SetBaseValueTo10 ( )
inline

Take the base 10 logarithm.

The base 10 logarithm is handy to convert a number to its order of magnitude based on our standard base 10 human counting system.

◆ SetBaseValueTo2()

void vtkm::filter::field_transform::LogValues::SetBaseValueTo2 ( )
inline

Take the base 2 logarithm.

The base 2 logarithm is particularly useful for estimating the depth of a binary hierarchy.

◆ SetBaseValueToE()

void vtkm::filter::field_transform::LogValues::SetBaseValueToE ( )
inline

Take the natural logarithm.

The logarithm is set to the mathematical constant e (about 2.718). This is a constant that has many uses in calculus and other mathematics, and a logarithm of base e is often referred to as the "natural" logarithm.

◆ SetMinValue()

void vtkm::filter::field_transform::LogValues::SetMinValue ( const vtkm::FloatDefault value)
inline

Specifies the minimum value to take the logarithm of.

Before taking the logarithm, this filter will check the value to this minimum value and clamp it to the minimum value if it is lower. This is useful to prevent values from approching negative infinity.

By default, no minimum value is used.

Member Data Documentation

◆ BaseValue

LogBase vtkm::filter::field_transform::LogValues::BaseValue = LogBase::E
private

◆ MinValue

vtkm::FloatDefault vtkm::filter::field_transform::LogValues::MinValue = std::numeric_limits<FloatDefault>::min()
private

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