def distribution(dose_volume=@struct.plan.rt_dose.sum)
      raise ArgumentError, "Invalid argument 'dose_volume'. Expected DoseVolume, got #{dose_volume.class}." unless dose_volume.is_a?(DoseVolume)
      raise ArgumentError, "Invalid argument 'dose_volume'. The specified DoseVolume does not belong to this ROI's StructureSet." unless dose_volume.dose_series.plan.struct == @struct
      # Extract a binary volume from the ROI, based on the dose data:
      bin_vol = bin_volume(dose_volume)
      # Create a DoseDistribution from the BinVolume:
      dose_distribution = DoseDistribution.create(bin_vol)
      return dose_distribution
    end
def distribution(dose_volume=@struct.plan.rt_dose.sum)
      raise ArgumentError, "Invalid argument 'dose_volume'. Expected DoseVolume, got #{dose_volume.class}." unless dose_volume.is_a?(DoseVolume)
      raise ArgumentError, "Invalid argument 'dose_volume'. The specified DoseVolume does not belong to this ROI's StructureSet." unless dose_volume.dose_series.plan.struct == @struct
      # Extract a binary volume from the ROI, based on the dose data:
      bin_vol = bin_volume(dose_volume)
      # Create a DoseDistribution from the BinVolume:
      dose_distribution = DoseDistribution.create(bin_vol)
      return dose_distribution
    end
Creates a DoseDistribution based on the delineation by this ROI in the
 specified RTDose series.

 @param [DoseVolume] dose_volume the dose volume to extract the dose distribution from (defaults to the sum of the dose volumes of the first RTDose of the first plan of the parent StructureSet)
 @raise [ArgumentError] if given a dose volume who's plan does not belong to this ROI's structure set