Isis 3 Programmer Reference
|
Process a cube in place (one input/zero output or zero input/one output or one cube that acts both as input and output). More...
Public Member Functions | |
ProcessCubeInPlaceFunctor (Cube *cube, const Brick *templateBrick, bool readInput, bool writeOutput, const T &processingFunctor) | |
Construct a ProcessCubeInPlaceFunctor. | |
ProcessCubeInPlaceFunctor (const ProcessCubeInPlaceFunctor &other) | |
Copy construction of these objects is fully supported. | |
virtual | ~ProcessCubeInPlaceFunctor () |
Destructor. | |
void * | operator() (const int &brickPosition) const |
Do the work for one position in a cube. | |
ProcessCubeInPlaceFunctor & | operator= (const ProcessCubeInPlaceFunctor &rhs) |
Assignment of these objects is fully supported. | |
Private Attributes | |
Cube * | m_cube |
The cube we're I/O'ing on. | |
const Brick * | m_templateBrick |
A brick with the right dimensions, pixel type, etc. for processing. | |
bool | m_readInput |
Should we read from the cube before processing. | |
bool | m_writeOutput |
Should we write to the output cube after processing. | |
const T & | m_processingFunctor |
The functor which does the work/arbitrary calculations. | |
Process a cube in place (one input/zero output or zero input/one output or one cube that acts both as input and output).
Given a ProcessIterator position, this runs the functor passed into ProcessCubeInPlace with the appropriate data.
This functor is a helper for the ProcessCubeInPlace() public method. This is designed to be passed into QtConcurrent::mapped to operate over a cube.
Definition at line 323 of file ProcessByBrick.h.
|
inline |
Construct a ProcessCubeInPlaceFunctor.
This doesn't take ownership of the passed in pointers but expects them to not be deleted.
cube | The input (or output) cube we're processing |
templateBrick | A brick initialized for use with the processingFunctor |
readInput | True if we should read the cube into the brick before calling the processingFunctor. |
writeOutput | True if we should write the resulting brick from the processingFunctor into the cube |
processingFunctor | The functor supplied to ProcessCubeInPlace() which actually does the work/ calculations. |
Definition at line 341 of file ProcessByBrick.h.
|
inline |
Copy construction of these objects is fully supported.
other | The functor to copy |
Definition at line 358 of file ProcessByBrick.h.
|
inlinevirtual |
Destructor.
Definition at line 370 of file ProcessByBrick.h.
References Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_cube, and Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_templateBrick.
|
inline |
Do the work for one position in a cube.
brickPosition | The position we're calculating values for currently. |
Definition at line 382 of file ProcessByBrick.h.
References Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_cube, Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_processingFunctor, Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_readInput, Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_templateBrick, Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_writeOutput, Isis::Cube::read(), and Isis::Cube::write().
|
inline |
Assignment of these objects is fully supported.
rhs | The ProcessCubeInPlaceFunctor on the right-hand side of the assignment. |
Definition at line 405 of file ProcessByBrick.h.
References Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_cube, Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_processingFunctor, Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_readInput, Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_templateBrick, and Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::m_writeOutput.
|
private |
The cube we're I/O'ing on.
Definition at line 420 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator()(), Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator=(), and Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::~ProcessCubeInPlaceFunctor().
|
private |
The functor which does the work/arbitrary calculations.
Definition at line 429 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator=().
|
private |
Should we read from the cube before processing.
Definition at line 424 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator=().
|
private |
A brick with the right dimensions, pixel type, etc. for processing.
Definition at line 422 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator()(), Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator=(), and Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::~ProcessCubeInPlaceFunctor().
|
private |
Should we write to the output cube after processing.
Definition at line 426 of file ProcessByBrick.h.
Referenced by Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator()(), and Isis::ProcessByBrick::ProcessCubeInPlaceFunctor< T >::operator=().