public double worldValue(float realx, float realy, float realz, InterpolationFunction3D interp) {
   return operation.isTrue(
           left.worldValue(realx, realy, realz, interp),
           right.worldValue(realx, realy, realz, interp))
       ? 1
       : 0;
 }
 public double value(int x, int y, int z) {
   return operation.isTrue(left.value(x, y, z), right.value(x, y, z)) ? 1 : 0;
 }
 public double value(float x, float y, float z, InterpolationFunction3D interp) {
   return operation.isTrue(left.value(x, y, z, interp), right.value(x, y, z, interp)) ? 1 : 0;
 }
 public boolean isTrue(int x, int y, int z) {
   return operation.isTrue(left.value(x, y, z), right.value(x, y, z));
 }
 public boolean isTrue(int index) {
   return operation.isTrue(left.value(index), right.value(index));
 }
 public double value(int index) {
   return operation.isTrue(left.value(index), right.value(index)) ? 1 : 0;
 }
 public String getImageLabel() {
   return left.getImageLabel() + operation.operand() + right.getImageLabel();
 }