57 Isis::Cube *ProcessByLine::SetInputCube(
const QString ¶meter,
58 const int requirements) {
59 int allRequirements = Isis::SpatialMatch | Isis::BandMatchOrOne;
60 allRequirements |= requirements;
61 return Process::SetInputCube(parameter, allRequirements);
79 Isis::Cube *ProcessByLine::SetInputCube(
const QString &file,
81 const int requirements) {
82 int allRequirements = Isis::SpatialMatch | Isis::BandMatchOrOne;
83 allRequirements |= requirements;
84 return Process::SetInputCube(file, att, allRequirements);
98 Process::SetInputCube(inCube);
107 void ProcessByLine::VerifyCubeInPlace(
void){
109 if((InputCubes.size() + OutputCubes.size()) > 1) {
110 string m =
"You can only specify exactly one input or output cube";
113 else if((InputCubes.size() + OutputCubes.size()) == 0) {
114 string m =
"You haven't specified an input or output cube";
119 if(InputCubes.size() == 1) {
120 SetBrickSize(InputCubes[0]->sampleCount(), 1, 1);
123 SetBrickSize(OutputCubes[0]->sampleCount(), 1, 1);
149 ProcessByBrick::StartProcess(funct);
158 void ProcessByLine::VerifyCubeIO(
void)
161 if(InputCubes.size() != 1) {
162 string m =
"You must specify exactly one input cube";
165 else if(OutputCubes.size() != 1) {
166 string m =
"You must specify exactly one output cube";
171 if(InputCubes[0]->lineCount() != OutputCubes[0]->lineCount()) {
172 string m =
"The number of lines in the input and output cubes ";
178 if(InputCubes[0]->bandCount() != OutputCubes[0]->bandCount()) {
179 string m =
"The number of bands in the input and output cubes ";
184 SetInputBrickSize(InputCubes[0]->sampleCount(), 1, 1);
185 SetOutputBrickSize(OutputCubes[0]->sampleCount(), 1, 1);
200 void ProcessByLine::StartProcess(
void
204 ProcessByBrick::StartProcess(funct);
216 void ProcessByLine::VerifyCubeIOList(
void)
219 if(InputCubes.size() + OutputCubes.size() < 1) {
220 string m =
"You have not specified any input or output cubes";
226 for(
unsigned int i = 0; i < OutputCubes.size(); i++) {
227 if(OutputCubes[i]->lineCount() != OutputCubes[0]->lineCount()) {
228 string m =
"All output cubes must have the same number of lines ";
229 m +=
"as the first input cube or output cube";
232 if(OutputCubes[i]->bandCount() != OutputCubes[0]->bandCount()) {
233 string m =
"All output cubes must have the same number of bands ";
234 m +=
"as the first input cube or output cube";
239 for(
unsigned int i = 0; i < InputCubes.size(); i++) {
240 SetInputBrickSize(InputCubes[i]->sampleCount(), 1, 1, i + 1);
242 for(
unsigned int i = 0; i < OutputCubes.size(); i++) {
243 SetOutputBrickSize(OutputCubes[i]->sampleCount(), 1, 1, i + 1);
257 void ProcessByLine::StartProcess(
258 void funct(std::vector<Isis::Buffer *> &in,
259 std::vector<Isis::Buffer *> &out)) {
262 ProcessByBrick::StartProcess(funct);