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

Select a piece (e.g., volume of interest) and/or subsample structured points dataset. More...

#include <ExtractStructured.h>

Inheritance diagram for vtkm::filter::entity_extraction::ExtractStructured:
vtkm::filter::Filter

Public Member Functions

vtkm::RangeId3 GetVOI () const
 Specifies what volume of interest (VOI) should be extracted by the filter. More...
 
void SetVOI (vtkm::Id i0, vtkm::Id i1, vtkm::Id j0, vtkm::Id j1, vtkm::Id k0, vtkm::Id k1)
 Specifies what volume of interest (VOI) should be extracted by the filter. More...
 
void SetVOI (vtkm::Id extents[6])
 Specifies what volume of interest (VOI) should be extracted by the filter. More...
 
void SetVOI (vtkm::Id3 minPoint, vtkm::Id3 maxPoint)
 Specifies what volume of interest (VOI) should be extracted by the filter. More...
 
void SetVOI (const vtkm::RangeId3 &voi)
 Specifies what volume of interest (VOI) should be extracted by the filter. More...
 
vtkm::Id3 GetSampleRate () const
 Specifies the sample rate of the VOI. More...
 
void SetSampleRate (vtkm::Id i, vtkm::Id j, vtkm::Id k)
 Specifies the sample rate of the VOI. More...
 
void SetSampleRate (vtkm::Id3 sampleRate)
 Specifies the sample rate of the VOI. More...
 
bool GetIncludeBoundary () const
 
void SetIncludeBoundary (bool value)
 
void SetIncludeOffset (bool value)
 
- 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

vtkm::RangeId3 VOI = vtkm::RangeId3(0, -1, 0, -1, 0, -1)
 
vtkm::Id3 SampleRate = { 1, 1, 1 }
 
bool IncludeBoundary = false
 
bool IncludeOffset = 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...
 
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

Select a piece (e.g., volume of interest) and/or subsample structured points dataset.

Select or subsample a portion of an input structured dataset. The selected portion of interested is referred to as the Volume Of Interest, or VOI. The output of this filter is a structured dataset. The filter treats input data of any topological dimension (i.e., point, line, plane, or volume) and can generate output data of any topological dimension.

To use this filter set the VOI ivar which are i-j-k min/max indices that specify a rectangular region in the data. (Note that these are 0-offset.) You can also specify a sampling rate to subsample the data.

Typical applications of this filter are to extract a slice from a volume for image processing, subsampling large volumes to reduce data size, or extracting regions of a volume with interesting data.

Member Function Documentation

◆ DoExecute()

vtkm::cont::DataSet vtkm::filter::entity_extraction::ExtractStructured::DoExecute ( const vtkm::cont::DataSet input)
overrideprivatevirtual

Implements vtkm::filter::Filter.

◆ GetIncludeBoundary()

bool vtkm::filter::entity_extraction::ExtractStructured::GetIncludeBoundary ( ) const
inline

◆ GetSampleRate()

vtkm::Id3 vtkm::filter::entity_extraction::ExtractStructured::GetSampleRate ( ) const
inline

Specifies the sample rate of the VOI.

The input data can be subsampled by selecting every n-th value. The sampling can be different in each dimension. The default sampling rate is (1,1,1), meaning that no subsampling will occur.

◆ GetVOI()

vtkm::RangeId3 vtkm::filter::entity_extraction::ExtractStructured::GetVOI ( ) const
inline

Specifies what volume of interest (VOI) should be extracted by the filter.

The VOI is specified using the 3D indices of the structured mesh. Meshes with fewer than 3 dimensions will ignore the extra dimensions in the VOI. The VOI is inclusive on the minium index and exclusive on the maximum index.

By default the VOI is the entire input.

◆ SetIncludeBoundary()

void vtkm::filter::entity_extraction::ExtractStructured::SetIncludeBoundary ( bool  value)
inline

◆ SetIncludeOffset()

void vtkm::filter::entity_extraction::ExtractStructured::SetIncludeOffset ( bool  value)
inline

◆ SetSampleRate() [1/2]

void vtkm::filter::entity_extraction::ExtractStructured::SetSampleRate ( vtkm::Id  i,
vtkm::Id  j,
vtkm::Id  k 
)
inline

Specifies the sample rate of the VOI.

The input data can be subsampled by selecting every n-th value. The sampling can be different in each dimension. The default sampling rate is (1,1,1), meaning that no subsampling will occur.

◆ SetSampleRate() [2/2]

void vtkm::filter::entity_extraction::ExtractStructured::SetSampleRate ( vtkm::Id3  sampleRate)
inline

Specifies the sample rate of the VOI.

The input data can be subsampled by selecting every n-th value. The sampling can be different in each dimension. The default sampling rate is (1,1,1), meaning that no subsampling will occur.

◆ SetVOI() [1/4]

void vtkm::filter::entity_extraction::ExtractStructured::SetVOI ( const vtkm::RangeId3 voi)
inline

Specifies what volume of interest (VOI) should be extracted by the filter.

The VOI is specified using the 3D indices of the structured mesh. Meshes with fewer than 3 dimensions will ignore the extra dimensions in the VOI. The VOI is inclusive on the minium index and exclusive on the maximum index.

By default the VOI is the entire input.

◆ SetVOI() [2/4]

void vtkm::filter::entity_extraction::ExtractStructured::SetVOI ( vtkm::Id  extents[6])
inline

Specifies what volume of interest (VOI) should be extracted by the filter.

The VOI is specified using the 3D indices of the structured mesh. Meshes with fewer than 3 dimensions will ignore the extra dimensions in the VOI. The VOI is inclusive on the minium index and exclusive on the maximum index.

By default the VOI is the entire input.

◆ SetVOI() [3/4]

void vtkm::filter::entity_extraction::ExtractStructured::SetVOI ( vtkm::Id  i0,
vtkm::Id  i1,
vtkm::Id  j0,
vtkm::Id  j1,
vtkm::Id  k0,
vtkm::Id  k1 
)
inline

Specifies what volume of interest (VOI) should be extracted by the filter.

The VOI is specified using the 3D indices of the structured mesh. Meshes with fewer than 3 dimensions will ignore the extra dimensions in the VOI. The VOI is inclusive on the minium index and exclusive on the maximum index.

By default the VOI is the entire input.

◆ SetVOI() [4/4]

void vtkm::filter::entity_extraction::ExtractStructured::SetVOI ( vtkm::Id3  minPoint,
vtkm::Id3  maxPoint 
)
inline

Specifies what volume of interest (VOI) should be extracted by the filter.

The VOI is specified using the 3D indices of the structured mesh. Meshes with fewer than 3 dimensions will ignore the extra dimensions in the VOI. The VOI is inclusive on the minium index and exclusive on the maximum index.

By default the VOI is the entire input.

Member Data Documentation

◆ IncludeBoundary

bool vtkm::filter::entity_extraction::ExtractStructured::IncludeBoundary = false
private

◆ IncludeOffset

bool vtkm::filter::entity_extraction::ExtractStructured::IncludeOffset = false
private

◆ SampleRate

vtkm::Id3 vtkm::filter::entity_extraction::ExtractStructured::SampleRate = { 1, 1, 1 }
private

◆ VOI

vtkm::RangeId3 vtkm::filter::entity_extraction::ExtractStructured::VOI = vtkm::RangeId3(0, -1, 0, -1, 0, -1)
private

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