rt.indices.from.roi: Dosimetry, volume, conformity, homogeneity indices from RoI...

rt.indices.from.roiR Documentation

Dosimetry, volume, conformity, homogeneity indices from RoI \loadmathjax

Description

The rt.indices.from.roi function calculates, from a "volume" class object of modality "rtdose", standard indicators of radiotherapy in relation to the target and healthy RoI, as long as their options are transmitted.

Usage

rt.indices.from.roi(
  vol,
  struct = NULL,
  T.MAT = NULL,
  target.roi.name = NULL,
  target.roi.sname = NULL,
  target.roi.idx = NULL,
  healthy.roi.name = NULL,
  healthy.roi.sname = NULL,
  healthy.roi.idx = NULL,
  presc.dose = NA,
  healthy.tol.dose = NA,
  healthy.weight = 1,
  dosimetry = c("D.min", "D.max", "D.mean", "STD"),
  volume.indices = c("V.tot", "area", "V.prescdose"),
  conformity.indices = c("PITV", "PDS", "CI.lomax2003", "CN", "NCI", "DSC",
    "CI.distance", "CI.abs_distance", "CDI", "CS3", "ULF", "OHTF", "gCI", "COIN",
    "G_COSI", "COSI"),
  homogeneity.indices = c("HI.RTOG.max_ref", "HI.RTOG.5_95", "HI.ICRU.max_min",
    "HI.ICRU.2.98_ref", "HI.ICRU.2.98_50", "HI.ICRU.5.95_ref", "HI.mayo2010",
    "HI.heufelder"),
  gradient.indices = c("GI.ratio.50", "mGI"),
  D.xpc = NULL,
  D.xcc = NULL,
  V.xpc = NULL,
  V.xGy = NULL,
  DVH = TRUE,
  verbose = TRUE,
  ...
)

Arguments

vol

"volume" class object, of "rtdose" modality.

struct

"struct" class object.

T.MAT

"t.mat" class object, created by load.patient.from.Rdcm or load.T.MAT. If T.MAT = NULL, struct$ref.pseudo must be equal to vol$ref.pseudo.

target.roi.name

Exact name of target RoI in struct object. By default target.roi.name = NULL. See Details.

target.roi.sname

Name or part of name of target RoI in struct object. By default target.roi.sname = NULL. See Details.

target.roi.idx

Value of the index of target RoI that belong to the struct object. By default target.roi.idx = NULL. See Details.

healthy.roi.name

Exact name of healthy RoI in struct object. By default healthy.roi.name = NULL.

healthy.roi.sname

Name or part of name of healthy RoI in struct object. By default healthy.roi.sname = NULL.

healthy.roi.idx

Value of the index of healthy RoI that belong to the struct object. By default healthy.roi.idx = NULL.

presc.dose

Vector of prescription doses that serve as reference doses for the target RoI.

healthy.tol.dose

Vector of tolerance doses of each healthy RoI.

healthy.weight

Vector of weights, indicating the importance of the healthy RoI.

dosimetry

Vector indicating the requested dose indicators from among 'D.min', 'D.max', 'D.mean' and 'STD'. If D.xpc is different from NULL, it will be added.

volume.indices

Vector indicating the requested volume indices from among 'V.tot', 'V.prescdose' (i.e. volume over presc.dose) and 'area'. If V.xGy is different from NULL, it will be added.

conformity.indices

Vector. Requested conformity indices from among 'PITV', 'PDS', 'CI.lomax2003', 'CN', 'NCI', 'DSC', 'CI.distance', 'CI.abs_distance', 'CDI', 'CS3', 'ULF', 'OHTF', 'gCI', 'COIN', 'COSI' and 'G_COSI'.

homogeneity.indices

Vector. Requested homogeneity indices from among 'HI.RTOG.max_ref', 'HI.RTOG.5_95', 'HI.ICRU.max_min', 'HI.ICRU.2.98_ref', 'HI.ICRU.2.98_50', 'HI.ICRU.5.95_ref', 'HI.mayo2010' and 'HI.heufelder.'

gradient.indices

Vector. Requested gradient indices from among 'GI.ratio.50', 'mGI'.

D.xpc

Vector of the percentage of the volume, for which the dose coverage is requested.

D.xcc

Vector of the volume in \mjeqncm^3ascii, for which the dose coverage is requested.

V.xpc

Vector of the percentage of the reference dose, received by the volume to be calculated.

V.xGy

Vector of the minimum dose in Gy, received by the volume to be calculated.

DVH

boolean. If TRUE (default), the function returns the DVHs of the target and healthy ROIs.

verbose

Boolean. if TRUE (default) a progress bar is displayed.

...

others parameters such as DVH.step.

Details

If target.roi.name, target.roi.sname, and target.roi.idx are all set to NULL, all RoI containing 'ptv' (if they exist) are selected.

If target.roi.name, target.roi.sname, and target.roi.idx are all set to NULL,no target RoI are selected.

If healthy.roi.name, healthy.roi.sname, and healthy.roi.idx are all set to NULL, no healthy RoI are selected.

Value

Returns a list containing (if requested)

\mjeqn

-~dosimetryascii : dataframe containing, for all target and healthy structures:

  • the requested dosimetry : D.min (Gy), D.max (Gy), D.mean (Gy) and STD (Gy), respectively the minimum, maximum, mean and standard deviation of the dose in the regions of interest.

  • the requested $D.x% : (Gy) Dose covering x percent of structure volume.

  • the requested $D.xcc : (Gy) Dose covering x (\mjeqncm^3ascii) of structure volume.

All numbers are displayed with a resolution depending on the DVH quantization step. The default resolution is 1e-3.

\mjeqn

-~volumeascii : dataframe containing, for all target and healthy structures, and isodoses:

  • the requested volume.indices : V_tot (\mjeqncm^3ascii) (except for isodose) the total volume of the regions of interest, area (\mjeqncm^2ascii) (except for isodose) their surface areas, V.prescdose (\mjeqncm^3ascii) the volumes receiving at least presc.dose Gy,

  • the requested V.xGy (\mjeqncm^3ascii): volumes receiving at least x Gy.

  • the requested V.xpc (\mjeqncm^3ascii) Volume receiving at least x% of the reference dose.

\mjeqn

-~conformityascii : dataframe containing, if requested,

  • PITV : (1) Prescription Isodose Target Volume, or conformity index defined by E.Shaw [1] \mjdeqnPITV = \fracV_presc.doseV_targetascii

  • PDS : (1) Prescription Dose Spillage defined by SABR UK Consortium 2019 [2] \mjdeqnPDS = \fracV_presc.doseV_target ~\ge~ presc.dose = \fracV_presc.doseV_target ~\cap~ V_presc.doseascii

  • CI.lomax2003 : (1) Conformity Index defined by Lomax and al [3] \mjdeqnCI_lomax2003 = \fracV_target ~\ge~ presc.doseV_presc.dose = \fracV_target ~\cap~ V_presc.doseV_presc.doseascii

  • CN : (1) Conformation Number defined by Van't Riet and al [4]. It corresponds to conformity index defined by Paddick [5] \mjdeqnCN = CI_paddick2000 =\fracV_target ~\ge~ presc.dose^2V_target~\cdot~V_presc.dose = \frac(V_target ~\cap~ V_presc.dose)^2V_target~\cdot~V_presc.doseascii

  • NCI : (1) New conformity index, inverse of CN, defined by Nakamura and al [6] \mjdeqnNCI =\frac1CNascii

  • DSC : (1) Dice Similarity Coefficient [7] \mjdeqnDSC = 2 ~\cdot~\fracV_target ~\ge~ presc.doseV_target + V_presc.dose = 2 ~\cdot~\fracV_target ~\cap~ V_presc.doseV_target + V_presc.doseascii

  • CI.distance : (1) Conformity Index based on distance defined by Park and al [8] \mjdeqnCI.distance = \frac100N \sum^N \fracdist_S_presc.dose~\to~G_target - dist_S_target~\to~G_targetdist_S_target~\to~G_targetascii where \mjeqndist_S_presc.dose~\to~G_targetascii is the distance between the surface of the prescription dose volume and the centroid of the target, and \mjeqndist_S_target~\to~G_targetascii the surface of the target volume and the centroid of the target. \mjeqnNascii is the number of directions where the distances are calculated. These directions are computed every 1°. If the centroid is not within the target volume, then CI.distance = NA.

  • CI.abs_distance : (1) Conformity Index based on distance defined by Park and al [8] \mjdeqnCI.abs_distance = \frac100N \sum^N \frac|dist_S_presc.dose~\to~G_target - dist_S_target~\to~G_target|dist_S_target~\to~G_targetascii

  • CDI : (1) Conformity Distance Index defined by Wu and al [9] \mjdeqnCDI = 2 \fracV_presc.dose + V_target - 2~V_target ~\ge~ presc.dose S_target + S_presc.dose = \fracV_presc.dose + V_target - 2~\cdot~V_target ~\cap~ V_presc.dose S_target + S_presc.doseascii where \mjeqnS_targetascii is the surface of the target volume and \mjeqnS_presc.doseascii is the surface of the prescription dose volume.

  • CS3 : (1) Triple Point Conformity Scale defined by Ansari and al [10] \mjdeqnCS3 = \fracV_0.95~\cdot~presc.dose + V_presc.dose + V_1.05~\cdot~presc.dose3~\cdot~V_targetascii

  • ULF : (1) Underdosed lesion factor defined by Lefkopoulos and al [11] \mjdeqnULF = \fracV_target ~<~ presc.doseV_target= \fracV_target ~\cap~ \overlineV_presc.doseV_targetascii

  • OHTF :(1) Overdosed healthy tissues factor defined by Lefkopoulos and al [11] \mjdeqnOHTF = \frac\sum V_healthy ~\ge~ presc.doseV_target = \frac\sum V_healthy ~\cap~ V_presc.doseV_target ascii

  • gCI : (1) Geometric Conformity Index defined by Lefkopoulos and al [11] \mjdeqngCI = ULF + OHTFascii

  • COIN : Conformity Index defined by Baltas and al [12] \mjdeqnCOIN =\fracV_target ~\ge~ presc.dose^2V_target~\cdot~V_presc.dose~\cdot~ \prod^N_healthy \left( 1 -\fracV_healthy ~\ge~ presc.doseV_healthy\right)ascii

  • gCOSI : generalized COSI, defined by Menhel and al [13]. \mjdeqngCOSI = 1- \sum^N_healthy healthy.weight~\cdot~ \frac\fracV_healthy ~\ge~ healthy.tol.doseV_healthy\fracV_target ~\ge~ presc.doseV_targetascii

\mjeqn

-~COSIascii : if "COSI" is requested in conformity.indices, it returns a dataframe of Critical Organ Scoring Index for each healthy organ, at each presc.dose, and for each target. COSI is defined by Menhel and al [13] \mjdeqnCOSI = 1- \frac\fracV_healthy ~\ge~ healthy.tol.doseV_healthy\fracV_target ~\ge~ presc.doseV_targetascii

\mjeqn

-~homogeneityascii : dataframe containing

  • HI.RTOG.max_ref : (1) Homogeneity Index from RTOG defined by E.Shaw [1] \mjdeqnHI.RTOG.max_-ref = \fracD_~maxpresc.doseascii where \mjeqnD_maxascii is the maximum dose in the target volume.

  • HI.RTOG.5_95 : (1) Homogeneity Index from RTOG [1] \mjdeqnHI.RTOG.5_-95 = \fracD.5pcD.95pcascii where \mjeqnD.5pcascii and \mjeqnD.95pcascii are respectively the doses at 5% and 95% of the target volume in cumulative dose-volume histogram.

  • HI.ICRU.max_min : (1) Homogeneity Index from ICRU report 62 [14] \mjdeqnHI.ICRU.max_-min = \fracD_~maxD_~minascii where \mjeqnD_maxascii and \mjeqnD_minascii are respectively the maximum and the minimum dose in the target volume.

  • HI.ICRU.2.98_ref : (1) Homogeneity Index from ICRU report 83 [15] \mjdeqnHI.ICRU.2.98_-ref = 100 \fracD.2pc - D.98pcpresc.doseascii where \mjeqnD.2pcascii and \mjeqnD.98pcascii are respectively the doses at 2% and 98% of the target volume in cumulative dose-volume histogram.

  • HI.ICRU.2.98_50 : (1) Homogeneity Index from ICRU report 83 [15] \mjdeqnHI.ICRU.2.98_-50 = 100 \fracD.2pc - D.98pcD.50pcascii where \mjeqnD.2pcascii, \mjeqnD.98pcascii and \mjeqnD.50pcascii are respectively the doses at 2%, 98% and 50% of the target volume in cumulative dose-volume histogram.

  • HI.ICRU.5.95_ref : (1) Homogeneity Index from ICRU report 83 [15] \mjdeqnHI.ICRU.5.95_-ref = 100 \fracD.5pc - D.95pcpresc.doseascii where \mjeqnD.5pcascii and \mjeqnD.95pcascii are respectively the doses at 5% and 95% of the target volume in cumulative dose-volume histogram.

  • HI.mayo2010 : (1) Homogeneity Index defined by Mayo and al [16] \mjdeqnHI.mayo2010 =\sqrt\fracD_~maxpresc.dose~\cdot~(1 + \frac\sigma_Dpresc.dose)ascii where \mjeqnD_maxascii is the maximum dose in the target volume, and \mjeqn\sigma_Dascii the standard deviation of the dose in the target volume.

  • HI.heufelder : (1) Homogeneity Index defined by Heufelder and al [17] \mjdeqnHI.heufelder = e^-0.01~\cdot~ (1-\frac\mu_Dpresc.dose)^2~\cdot~ e^-0.01~\cdot~ (\frac\sigma_Dpresc.dose)^2ascii where \mjeqn\mu_Dascii and \mjeqn\sigma_Dascii are respectively the mean and the standard deviation of the dose in the target volume.

\mjeqn

-~gradientascii : dataframe containing

  • GI.ratio.50: Gradient Index based on volumes ratio defined by Paddick and Lippitz [18] \mjdeqnGI.ratio.50 = \frac V_0.5~\cdot~presc.doseV_presc.doseascii

  • mGI: Modified Gradient Index defined by SABR UK Consortium 2019 [2] \mjdeqnmGI = \fracV_0.5~\cdot~presc.doseV_target ~\ge~ presc.dose = \fracV_0.5~\cdot~presc.doseV_target ~\cap~ V_presc.doseascii

\mjeqn

-~DVHascii : dataframe containing the Dose-Volume histograms of target and healthy ROIs, in percent.

References

[1] \insertRefSHAW19931231espadon

[2] \insertRefSABRespadon

[3] \insertRefLOMAX20031409espadon

[4] \insertRefRIET1997731espadon

[5] \insertRefPaddick2000ASSespadon

[6] \insertRefNakamura2002espadon

[7] \insertRefDICE1945espadon

[8] \insertRefPark2014espadon

[9] \insertRefWu2003espadon

[10] \insertRefAnsari2018espadon

[11] \insertRefLEFKOPOULOS2000espadon

[12] \insertRefBaltas1998ACIespadon

[13] \insertRefMenhel2006espadon

[14] \insertRefICRU621espadon

[15] \insertRefICRU83espadon

[16] \insertRefMAYO20101457espadon

[17] \insertRefHEUFELDER2003231espadon

[18] \insertRefPaddick2006ASDespadon

All this references are compiled by

  • \insertRef

    KAPLAN2021164espadon and

  • \insertRef

    PATEL2020espadon.

See Also

rt.indices.from.bin.

Examples

# loading of toy-patient objects (decrease dxyz and increase beam.nb 
#  for better result)
step <- 5
patient <- toy.load.patient (modality = c("rtdose", "rtstruct"), roi.name = "eye",
                             dxyz = rep (step, 3), beam.nb = 3)
indices <- rt.indices.from.roi (patient$rtdose[[1]],  patient$rtstruct[[1]],
                                target.roi.sname = "ptv",
                                healthy.roi.sname = "eye", presc.dose = 50,
                                conformity.indices = c("PITV", "PDS", "CI.lomax2003", 
                                                       "CN", "NCI", "DSC","COIN"),
                                verbose = FALSE)
indices[c("dosimetry","volume", "conformity","homogeneity","gradient")]
head(indices$DVH)

espadon documentation built on April 11, 2025, 5:57 p.m.