rt.indices.from.roi | R Documentation |
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.
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,
...
)
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 |
target.roi.name |
Exact name of target RoI in |
target.roi.sname |
Name or part of name of target RoI in |
target.roi.idx |
Value of the index of target RoI that belong to the
|
healthy.roi.name |
Exact name of healthy RoI in |
healthy.roi.sname |
Name or part of name of healthy RoI in |
healthy.roi.idx |
Value of the index of healthy RoI that belong to the
|
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 |
volume.indices |
Vector indicating the requested volume indices from among
'V.tot', 'V.prescdose' (i.e. volume over |
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 |
verbose |
Boolean. if |
... |
others parameters such as |
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.
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.
-~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
-~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
-~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.
-~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
-~DVHascii : dataframe containing the Dose-Volume histograms of target and healthy ROIs, in percent.
[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
KAPLAN2021164espadon and
PATEL2020espadon.
rt.indices.from.bin.
# 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.