- // compute hyper surface plane
- float reference_dose_scaled_max = GetImageMaximum(reference_scaler->GetOutput());
- float target_dose_scaled_max = GetImageMaximum(target_scaler->GetOutput());
- float dose_scaled_max = reference_dose_scaled_max > target_dose_scaled_max ? reference_dose_scaled_max : target_dose_scaled_max;
- ImageBin::Pointer image_bin = AllocateImageBin(reference_scaler->GetOutput(),target_scaler->GetOutput(),dose_size,dose_scaled_max);
- FillImageBin(image_bin,reference_scaler->GetOutput());
- //SaveImage(image_bin.GetPointer(),"surface.mhd");
-
- // compute distance map
- Mapper::Pointer mapper = Mapper::New();
- mapper->InsideIsPositiveOn();
- mapper->UseImageSpacingOn();
- mapper->SetInput(image_bin);
- mapper->Update();
- //SaveImage(mapper->GetOutput(),"distance.mhd");
-
- // extract gamma index from distance map
- Image::Pointer image_gamma = AllocateImageGamma(target_normalizer->GetOutput());
- FillImageGamma(image_gamma,target_scaler->GetOutput(),mapper->GetOutput());
- SaveImage(image_gamma.GetPointer(),gamma_filename);
-
- if (verbose) ComputeGammaRatio(image_gamma);
+ if (verbose) {
+ cout << "total=" << total << endl;
+ cout << "over_one=" << over_one << endl;
+ cout << "ratio=" << static_cast<float>(over_one)/total << endl;
+ }
+
+ locator->Delete();
+ target->Delete();
+
+ saveImage(output,gamma_filename);
+ output->Delete();