Пример #1
0
  /** Starts the program. */
  public void runAlgorithm() {

    if ((srcImage1 == null) || (srcImage2 == null) || (destImage == null)) {
      displayError("Source Image(s) is null");
      setCompleted(false);

      return;
    }

    if (srcImage1.getType() != srcImage2.getType()) {
      displayError("Source Images must be of the same data type.");
      setCompleted(false);

      return;
    }

    float[] resols1 = srcImage1.getResolutions(0);
    float[] resols2 = srcImage2.getResolutions(0);

    if ((srcImage1.getNDims() == 2) && (srcImage2.getNDims() == 2)) {
      if (resols1[0] == resols2[0] && resols1[1] == resols2[1]) {
        cat2D_2D_3D();
      } else {
        displayError("Resolutions must match up");
        setCompleted(false);
        return;
      }

    } else if (((srcImage1.getNDims() == 2) && (srcImage2.getNDims() == 3))
        || ((srcImage1.getNDims() == 3) && (srcImage2.getNDims() == 2))) {
      if (resols1[0] == resols2[0] && resols1[1] == resols2[1]) {
        cat2D_3D_3D();
      } else {
        displayError("Resolutions must match up");
        setCompleted(false);
        return;
      }
    } else if ((srcImage1.getNDims() == 3)
        && (srcImage2.getNDims() == 3)
        && (destImage.getNDims() == 3)) {
      if (resols1[0] == resols2[0] && resols1[1] == resols2[1] && resols1[2] == resols2[2]) {
        cat3D_3D_3D();
      } else {
        displayError("Resolutions must match up");
        setCompleted(false);
        return;
      }
    } else if ((srcImage1.getNDims() == 3)
        && (srcImage2.getNDims() == 3)
        && (destImage.getNDims() == 4)) {
      if (resols1[0] == resols2[0] && resols1[1] == resols2[1] && resols1[2] == resols2[2]) {
        cat3D_3D_4D();
      } else {
        displayError("Resolutions must match up");
        setCompleted(false);
        return;
      }
    } else if (((srcImage1.getNDims() == 3) && (srcImage2.getNDims() == 4))
        || ((srcImage1.getNDims() == 4) && (srcImage2.getNDims() == 3))) {
      if (resols1[0] == resols2[0] && resols1[1] == resols2[1] && resols1[2] == resols2[2]) {
        cat3D_4D_4D();
      } else {
        displayError("Resolutions must match up");
        setCompleted(false);
        return;
      }

    } else if ((srcImage1.getNDims() == 4) && (srcImage2.getNDims() == 4)) {
      if (resols1[0] == resols2[0]
          && resols1[1] == resols2[1]
          && resols1[2] == resols2[2]
          && resols1[3] == resols2[3]) {
        cat4D_4D_4D();
      } else {
        displayError("Resolutions must match up");
        setCompleted(false);
        return;
      }
    } else {
      displayError("Source Image(s) dimensionality not supported.");
    }
  }