8 #include "ProcessByLine.h"
12 #include "IException.h"
14 #include "ProcessByBrick.h"
41 Isis::Cube *ProcessByLine::SetInputCube(
const QString ¶meter,
42 const int requirements) {
43 int allRequirements = Isis::SpatialMatch | Isis::BandMatchOrOne;
44 allRequirements |= requirements;
45 return Process::SetInputCube(parameter, allRequirements);
64 Isis::Cube *ProcessByLine::SetInputCube(
const QString &file,
66 const int requirements) {
67 int allRequirements = Isis::SpatialMatch | Isis::BandMatchOrOne;
68 allRequirements |= requirements;
69 return Process::SetInputCube(file, att, allRequirements);
73 void ProcessByLine::SetBricks(IOCubes cn) {
79 if (InputCubes.size() == 1) {
80 SetBrickSize(InputCubes[0]->sampleCount(), 1, 1);
84 SetBrickSize(OutputCubes[0]->sampleCount(), 1, 1);
91 SetInputBrickSize(InputCubes[0]->sampleCount(), 1, 1);
92 SetOutputBrickSize(OutputCubes[0]->sampleCount(), 1, 1);
98 for (
unsigned int i = 0; i < InputCubes.size(); i++) {
99 SetInputBrickSize(InputCubes[i]->sampleCount(), 1, 1, i + 1);
101 for (
unsigned int i = 0; i < OutputCubes.size(); i++) {
102 SetOutputBrickSize(OutputCubes[i]->sampleCount(), 1, 1, i + 1);
131 VerifyCubes(InPlace);
133 ProcessByBrick::StartProcess(funct);
156 void ProcessByLine::StartProcess(std::function<
void(
Isis::Buffer &in)> funct ) {
157 VerifyCubes(InPlace);
159 ProcessByBrick::StartProcess(funct);
162 void ProcessByLine::StartProcess(std::function<
void(
Buffer &in,
Buffer &out)> funct ) {
163 VerifyCubes(InputOutput);
164 SetBricks(InputOutput);
165 ProcessByBrick::StartProcess(funct);
182 VerifyCubes(InputOutput);
183 SetBricks(InputOutput);
184 ProcessByBrick::StartProcess(funct);
199 void ProcessByLine::StartProcess(
void funct(std::vector<Isis::Buffer *> &in,
200 std::vector<Isis::Buffer *> &out)) {
201 VerifyCubes(InputOutputList);
202 SetBricks(InputOutputList);
203 ProcessByBrick::StartProcess(funct);