Commit e0868b9b authored by Jesse Mapel's avatar Jesse Mapel Committed by Jesse Mapel
Browse files

fixed even odd in framestitch

parent 76f0fc67
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -82,14 +82,14 @@ namespace Isis {
  void framestitch(UserInterface &ui) {
    ProcessByBrick process;

    // It is very important that the even cube gets added first as later on
    // It is very important that the odd cube gets added first as later on
    // we'll use frameNumber % 2 to index the input cube vector
    QString evenCubeFile = ui.GetCubeName("EVEN");
    Cube* evenCube = process.SetInputCube(evenCubeFile,
                                          CubeAttributeInput(evenCubeFile));
    QString oddCubeFile = ui.GetCubeName("ODD");
    Cube* oddCube = process.SetInputCube(oddCubeFile,
                                         CubeAttributeInput(oddCubeFile));
    QString evenCubeFile = ui.GetCubeName("EVEN");
    Cube* evenCube = process.SetInputCube(evenCubeFile,
                                          CubeAttributeInput(evenCubeFile));


    // Check that all the inputs are valid
@@ -168,7 +168,7 @@ namespace Isis {
     * Frame stitching processing function
     */
    auto interweaveFrames = [&](std::vector<Buffer *> &in, std::vector<Buffer *> &out)->void {
      // Assumes even is first and odd is second
      // Assumes odd is first and even is second
      int inIndex = (in[0]->Line() / frameHeight) % 2;
      if (swapInputCubes) {
        inIndex = 1 - inIndex;
+4 −4
Original line number Diff line number Diff line
@@ -273,10 +273,10 @@ namespace Isis {
      }
      frameBrick.SetBasePosition(1,frameIndex * frameHeight + 1,1);
      if (frameIndex % 2 == 0) {
        evenCube->write(frameBrick);
        oddCube->write(frameBrick);
      }
      else {
        oddCube->write(frameBrick);
        evenCube->write(frameBrick);
      }
    }

@@ -313,10 +313,10 @@ namespace Isis {
      }
      frameBrick.SetBasePosition(1,frameIndex * frameHeight + 1,1);
      if (frameIndex % 2 == 0) {
        oddCube->write(frameBrick);
        evenCube->write(frameBrick);
      }
      else {
        evenCube->write(frameBrick);
        oddCube->write(frameBrick);
      }
    }

+4 −4
Original line number Diff line number Diff line
@@ -390,14 +390,14 @@ TEST_F(PushFramePair, FunctionalTestFramestitchAutoMismatchedHeights) {
}

TEST_F(PushFramePair, FunctionalTestFramestitchAutoDifferentHeights) {
  // Make frame 6 NULL so that there is a 36 line null frame
  Brick frameBrick(numSamps, frameHeight, numBands, evenCube->pixelType());
  // Make frame 7 NULL so that there is a 36 line null frame
  Brick frameBrick(numSamps, frameHeight, numBands, oddCube->pixelType());
  for (int brickIndex = 0; brickIndex < frameBrick.size(); brickIndex++) {
    frameBrick[brickIndex] = Null;
  }
  frameBrick.SetBasePosition(1,6 * frameHeight + 1,1);
  evenCube->write(frameBrick);
  evenCube->reopen("rw");
  oddCube->write(frameBrick);
  oddCube->reopen("rw");

  QVector<QString> args = {
        "EVEN="+evenCube->fileName(),