VTK-m  2.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::filter::density_estimate::Histogram Class Reference

Construct the histogram of a given field. More...

#include <Histogram.h>

Inheritance diagram for vtkm::filter::density_estimate::Histogram:
vtkm::filter::Filter

Public Member Functions

 Histogram ()
 
void SetNumberOfBins (vtkm::Id count)
 Set the number of bins for the resulting histogram. More...
 
vtkm::Id GetNumberOfBins () const
 Get the number of bins for the resulting histogram. More...
 
void SetRange (const vtkm::Range &range)
 Set the range to use to generate the histogram. More...
 
const vtkm::RangeGetRange () const
 Get the range used to generate the histogram. More...
 
vtkm::Float64 GetBinDelta () const
 Returns the size of bin in the computed histogram. More...
 
vtkm::Range GetComputedRange () const
 Returns the range used for most recent execute. 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
 
vtkm::cont::PartitionedDataSet DoExecutePartitions (const vtkm::cont::PartitionedDataSet &inData) override
 
void PreExecute (const vtkm::cont::PartitionedDataSet &input)
 
void PostExecute (const vtkm::cont::PartitionedDataSet &input, vtkm::cont::PartitionedDataSet &output)
 

Private Attributes

vtkm::Id NumberOfBins = 10
 
vtkm::Float64 BinDelta = 0
 
vtkm::Range ComputedRange
 
vtkm::Range Range
 
bool InExecutePartitions = false
 

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...
 
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

Construct the histogram of a given field.

The range of the field is evenly split to a set number of bins (set by SetNumberOfBins()). This filter then counts the number of values in the filter that are in each bin.

The result of this filter is stored in a vtkm::cont::DataSet with no points or cells. It contains only a single field containing the histogram (bin counts). The field has an association of vtkm::cont::Field::Association::WholeDataSet. The field contains an array of vtkm::Id with the bin counts. By default, the field is named "histogram", but that can be changed with the SetOutputFieldName() method.

If this filter is run on a partitioned data set, the result will be a vtkm::cont::PartitionedDataSet containing a single vtkm::cont::DataSet as previously described.

Constructor & Destructor Documentation

◆ Histogram()

vtkm::filter::density_estimate::Histogram::Histogram ( )

Member Function Documentation

◆ DoExecute()

vtkm::cont::DataSet vtkm::filter::density_estimate::Histogram::DoExecute ( const vtkm::cont::DataSet input)
overrideprivatevirtual

Implements vtkm::filter::Filter.

◆ DoExecutePartitions()

vtkm::cont::PartitionedDataSet vtkm::filter::density_estimate::Histogram::DoExecutePartitions ( const vtkm::cont::PartitionedDataSet inData)
overrideprivatevirtual

Reimplemented from vtkm::filter::Filter.

◆ GetBinDelta()

vtkm::Float64 vtkm::filter::density_estimate::Histogram::GetBinDelta ( ) const
inline

Returns the size of bin in the computed histogram.

This value is only valid after a call to Execute.

◆ GetComputedRange()

vtkm::Range vtkm::filter::density_estimate::Histogram::GetComputedRange ( ) const
inline

Returns the range used for most recent execute.

If SetRange is used to specify a non-empty range, then this range will be returned. Otherwise, the coputed range is returned. This value is only valid after a call to Execute.

◆ GetNumberOfBins()

vtkm::Id vtkm::filter::density_estimate::Histogram::GetNumberOfBins ( ) const
inline

Get the number of bins for the resulting histogram.

◆ GetRange()

const vtkm::Range& vtkm::filter::density_estimate::Histogram::GetRange ( ) const
inline

Get the range used to generate the histogram.

If the returned range is empty, then the field's global range will be used.

◆ PostExecute()

void vtkm::filter::density_estimate::Histogram::PostExecute ( const vtkm::cont::PartitionedDataSet input,
vtkm::cont::PartitionedDataSet output 
)
private

when operating on vtkm::cont::PartitionedDataSet, we want to do processing across ranks as well. Just adding pre/post handles for the same does the trick.

◆ PreExecute()

void vtkm::filter::density_estimate::Histogram::PreExecute ( const vtkm::cont::PartitionedDataSet input)
private

when operating on vtkm::cont::PartitionedDataSet, we want to do processing across ranks as well. Just adding pre/post handles for the same does the trick.

◆ SetNumberOfBins()

void vtkm::filter::density_estimate::Histogram::SetNumberOfBins ( vtkm::Id  count)
inline

Set the number of bins for the resulting histogram.

By default, a histogram with 10 bins is created.

◆ SetRange()

void vtkm::filter::density_estimate::Histogram::SetRange ( const vtkm::Range range)
inline

Set the range to use to generate the histogram.

If range is set to empty, the field's global range (computed using vtkm::cont::FieldRangeGlobalCompute) will be used.

Member Data Documentation

◆ BinDelta

vtkm::Float64 vtkm::filter::density_estimate::Histogram::BinDelta = 0
private

◆ ComputedRange

vtkm::Range vtkm::filter::density_estimate::Histogram::ComputedRange
private

◆ InExecutePartitions

bool vtkm::filter::density_estimate::Histogram::InExecutePartitions = false
private

◆ NumberOfBins

vtkm::Id vtkm::filter::density_estimate::Histogram::NumberOfBins = 10
private

◆ Range

vtkm::Range vtkm::filter::density_estimate::Histogram::Range
private

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