Electron Cutout Factors — PyMedPhys

Toggle navigation sidebar
Toggle in-page Table of Contents

# Electron Cutout Factors

## Summary

A suite of functions that model electron insert/cutout factors by parameterising them as equivalent ellipses.

## API

pymedphys.electronfactors.parameterise_insert(x, y, callback=None)

  Return the parameterisation of an insert given x and y coords.

pymedphys.electronfactors.spline_model(width_test, ratio_perim_area_test, width_data, ratio_perim_area_data, factor_data)

  Return the result of the spline model.

  The bounding box is chosen so as to allow extrapolation. The spline orders are two in the width direction and one in the perimeter/area direction. For justification on using this method for modelling electron insert factors see the Methods: Bivariate spline model section within <http://dx.doi.org/10.1016/j.ejmp.2015.11.002>.

  Parameters

    - width_test (np.ndarray) – The width point(s) which are to have the electron insert factor interpolated.

    - ratio_perim_area_test (np.ndarray) – The perimeter/area which are to have the electron insert factor interpolated.

    - width_data (np.ndarray) – The width data points for the relevant applicator, energy and ssd.

    - ratio_perim_area_data (np.ndarray) – The perimeter/area data points for the relevant applicator, energy and ssd.

    - factor_data (np.ndarray) – The insert factor data points for the relevant applicator, energy and ssd.

  Returns

    result – The interpolated electron insert factors for width_test and ratio_perim_area_test.

  Return type

    np.ndarray

pymedphys.electronfactors.calculate_deformability(x_test, y_test, x_data, y_data, z_data)

  Return the result of the deformability test.

  This function takes an array of test points and loops over `_single_calculate_deformability`.

  The deformability test applies a shift to the spline to determine whether or not sufficient information for modelling is available. For further details on the deformability test see the Methods: Defining valid prediction regions of the spline section within <http://dx.doi.org/10.1016/j.ejmp.2015.11.002>.

  Parameters

    - x_test (np.ndarray) – The x coordinate of the point(s) to test

    - y_test (np.ndarray) – The y coordinate of the point(s) to test

    - x_data (np.ndarray) – The x coordinate of the model data to test

    - y_data (np.ndarray) – The y coordinate of the model data to test

    - z_data (np.ndarray) – The z coordinate of the model data to test

  Returns

    deformability – The resulting deformability between 0 and 1 representing the ratio of deviation the spline model underwent at the point in question by introducing an outlier at the point in question.

  Return type

    float

pymedphys.electronfactors.spline_model_with_deformability(width_test, ratio_perim_area_test, width_data, ratio_perim_area_data, factor_data)

  Return the spline model for points with sufficient deformability.

  Calls both `spline_model` and `calculate_deformability` and then adjusts the result so that points with deformability greater than 0.5 return `np.nan`.

  Parameters

    - width_test (np.ndarray) – The width point(s) which are to have the electron insert factor interpolated.

    - ratio_perim_area_test (np.ndarray) – The perimeter/area which are to have the electron insert factor interpolated.

    - width_data (np.ndarray) – The width data points for the relevant applicator, energy and ssd.

    - ratio_perim_area_data (np.ndarray) – The perimeter/area data points for the relevant applicator, energy and ssd.

    - factor_data (np.ndarray) – The insert factor data points for the relevant applicator, energy and ssd.

  Returns

    model_factor – The interpolated electron insert factors for width_test and ratio_perim_area_test with points outside the valid prediction region set to `np.nan`.

  Return type

    np.ndarray

pymedphys.electronfactors.calculate_percent_prediction_differences(width_data, ratio_perim_area_data, factor_data)

  Return the percent prediction differences.

  Calculates the model factor for each data point with that point removed from the data set. Used to determine an estimated uncertainty for prediction.

  Parameters

    - width_data (np.ndarray) – The width data points for a specific applicator, energy and ssd.

    - ratio_perim_area_data (np.ndarray) – The perimeter/area data points for a specific applicator, energy and ssd.

    - factor_data (np.ndarray) – The insert factor data points for a specific applicator, energy and ssd.

  Returns

    percent_prediction_differences – The predicted electron insert factors for each data point with that given data point removed.

  Return type

    np.ndarray

pymedphys.electronfactors.visual_alignment_of_equivalent_ellipse(x, y, width, length, callback)

  Visually align the equivalent ellipse to the insert.