1#ifndef ProcessBySample_h
2#define ProcessBySample_h
10#include "ProcessByBrick.h"
45 int requirements = 0);
48 int requirements = 0);
52 void StartProcess(
void funct(std::vector<Isis::Buffer *> &in,
53 std::vector<Isis::Buffer *> &out));
61 template <
typename Functor>
76 template <
typename Functor>
77 void ProcessCube(
const Functor & funct,
bool threaded =
true) {
79 SetBricks(InputOutput);
90 template <
typename Functor>
93 SetBricks(InputOutputList);
98 void SetBricks(IOCubes cn);
Buffer for reading and writing cube data.
IO Handler for Isis Cubes.
void ProcessCubeInPlace(const Functor &functor, bool threaded=true)
Operate over a single cube (either input or output).
ProcessByBrick()
Constructs a ProcessByBrick object.
void ProcessCubes(const Functor &functor, bool threaded=true)
Operate over an arbitrary number of input cubes given an arbitrary number of output cubes.
void VerifyCubes(IOCubes cn)
Verifies the dimensions of the input/output cubes.
Cube * SetInputCube(const QString ¶meter, int requirements=0)
Opens an input cube specified by the user and verifies requirements are met.
void ProcessCube(const Functor &functor, bool threaded=true)
Operate over a single input cube creating a separate output cube.
void SetWrap(bool wrap)
This wrapping option only applys when there are two or more input cubes.
Isis::Cube * SetInputCube(const QString ¶meter, int requirements=0)
Opens an input cube specified by the user and verifies requirements are met.
void StartProcess(void funct(Isis::Buffer &inout))
This method invokes the process by sample operation over a single input or output cube.
void ProcessCubes(const Functor &funct, bool threaded=true)
void ProcessCube(const Functor &funct, bool threaded=true)
void ProcessCubeInPlace(const Functor &funct, bool threaded=true)
This is free and unencumbered software released into the public domain.