| NEWS | R Documentation |
RadOnc News
CHANGES IN VERSION 1.1.8
NEW FEATURES
Added 95-percentile Hausdorff distance method to
compareStructures()
OTHER UPDATES
Adds
CITATIONfile
CHANGES IN VERSION 1.1.7
OTHER UPDATES
Exposes file
encodingparameter forread.DVH()function
ACKNOWLEDGEMENTS
Thank you to Tomas Kalibera for his help in supporting file encoding.
CHANGES IN VERSION 1.1.6
NEW FEATURES
Added Aria v15 formatted DVH input functionality to
read.DVH()Added automatic filetype matching to
read.DVH()in cases wheretypenot specified
BUG FIXES
Fixes error handling structure import in absence of corresponding DICOM image.
Fixes error important RayStation prescription dose in
read.DVH()Fixes error handling empty structure during DICOM import
OTHER UPDATES
Eliminates use of deprecated
rglpackage andplot()method for structure3D and structure.list objects
ACKNOWLEDGEMENTS
Thank you to Jahan Mohiuddin for his help in supporting Aria v15 DVH export format.
Thank you to Gregory Smyth for identifying and reporting bug in structure set import.
Thank you to Thomas Dilling for his help in supporting RayStation DVH import.
CHANGES IN VERSION 1.1.5
NEW FEATURES
[currently in development] Adds a modified Earth-Mover's Distance to
compareStructures()
BUG FIXES
Adds
modalityargument toread.DVH()to fix problem calculating DVH from DICOM-RT data viaread.DVH()function.Fixes bug in
read.DICOM.RT()that was occurring for rare files with improperly formatted reference frame UIDs.
OTHER UPDATES
Updated
RadOnc-package.Rdfile to conform with latest CRAN requirementsUpdated package vignette to correct a typo re: instructions for use
ACKNOWLEDGEMENTS
Credit to Abhinav Nellore and Zachary Fried for their work on
compareStructures().Thank you to Enrico Clementel and Fadoua Raouassi for helping to fix a bug in reading DVHs from DICOM-RT data.
Thank you to Alessandro Savini for helping to uncover the issue in DICOM reference frame UID handling.
CHANGES IN VERSION 1.1.4
NEW FEATURES
Added support for plan sum import from Aria 13 using
read.DVH(..., type="aria13")
ACKNOWLEDGEMENTS
Thanks to Maura Kirk for her assistance with Aria 13 plan sum import.
CHANGES IN VERSION 1.1.3
NEW FEATURES
Added a new function,
get.HU(), which is able to extract corresponding Hounsfield Unit (HU) values fromRTdatafor one or more structures.
ACKNOWLEDGEMENTS
Thanks to Hans-Erik Kallman for his suggestion to include the capability to extract Hounsfield Unit (HU) details for a structure3D object (
get.HU()function).
CHANGES IN VERSION 1.1.2
NEW FEATURES
Added new plotting method,
plot(..., plot.type="correlation"), to enable numerical correlation of dose from a collection of DVHs with an independent variable (for instance toxicity or other clinical outcome).
OTHER UPDATES
Extended
read.DICOM.RT()function to import MRI data (previous code was unable to import MR data)
ACKNOWLEDGEMENTS
Thanks to Sonam Sharma and Peter Ahn for their assistance implementing DVH-toxicity correlation plotting.
Thanks to Matt Moores for his assistance with implementing MR DICOM-RT import.
CHANGES IN VERSION 1.1.1
NEW FEATURES
Extended
read.DVH()function to import RayStation files.Extended
read.DVH()function to import TomoTherapy files.
BUG FIXES
Dose-volume histogram interpolation accuracy was decreased when number of datapoints available was very small and the dose gradient was exceedingly steep.
Improper scaling of dose units when plotting certain groupwise mean tendencies in some DVH plots.
OTHER UPDATES
Documentation for
plot.DVH()updated to includehighlightparameter, which specifies shading of p-value data.Documentation for
plot.DVH()updated to includepairedparameter, which specifies behavior oft.test()andwilcox.test().
ACKNOWLEDGEMENTS
Thanks to Maura Kirk for identifying the DVH dose scaling bug.
Thanks to Daniel Wollschlaeger for his contributions regarding improvement of DVH interpolation accuracy.
Thanks to Lukasz Matulewicz for his contributions regarding inclusion of TomoTherapy-formatted data.
Thanks to Michael Young for his contributions regarding inclusion of RayStation-formatted data.
CHANGES IN VERSION 1.1.0
NEW FEATURES
Extended
read.DVH()function to import Elekta Monaco files.Added ability to display gridlines when plotting DVH graphs.
Added ability to extract median dose as a dosimetric parameter.
Added ability to check for arbitrary dose constraints (e.g.
V20Gy < 15(%)).New function
subset()to extract a desired subset of aDVH.listobject based upon patient identifiers, structure name, and/or dosimetric constraints.
BUG FIXES
-
read.DVH()maintained open file connections, problematic for simultaneous import of hundreds of DVH files. -
oro.dicompackage failed to recognize DICOM files formatted without 128 byte headers (patch applied tooro.dicompackage version 0.5.0). This affected import of DICOM-RT data from TomoTherapy systems and other instances where file format departed from strict DICOM standards. -
read.DVH()failed to calculate structure volumes appropriately when structure volumes were not explicitly specified.
DEPRECATED AND DEFUNCT
Function
getStructureList()has been removed and replaced instead with a wider array of functionality usingsubset().
OTHER UPDATES
-
read.DICOM.RT()behavior updated, such that CT data is now scaled (using DICOM parameters"RescaleSlope"and"RescaleIntercept") to represent Hounsfield Unit data. Internal DVH conversion now generates warning when trying to convert from 'relative' to 'absolute' volume units when structure volume is zero.
DVH class behavior changed to enable relative/absolute dose conversion for stored dose parameters (e.g.
dose.max); changes affectread.DVH(),mean(),min(),max(),range(), and other internal DVH specification and conversion functions.Isodose line specification support added to
read.DVH(..., type="cadplan").
ACKNOWLEDGEMENTS
Thanks to Daniel Wollschlaeger for identifying and fixing the bug in
read.DVH().Thanks to Francis Gibbons for his contributions regarding inclusion of Elekta Monaco-formatted DVH data.
Thanks to Usman Lula for helping to identify an issue with DICOM-RT import from certain TomoTherapy workstations and to Brandon Whitcher for patching the
oro.dicompackage accordingly.
CHANGES IN VERSION 1.0.9
NEW FEATURES
New parameter
panel.lowerto specify plotting behavior when usingplot(..., plot.type="wilcox").Enabled
xlimandylimspecification when plottingDVHobject(s).Enabled import of a single collapsed
DVH.listfrom multiple input files (previously only able to import a nested list of individualDVH.listobjects corresponding to each input file).Enabled dose range specification on parameter export (e.g. can now calculate
"V10-20Gy"or"V<1500cGy") for a givenDVHobject.
BUG FIXES
-
range()calculation for an empty structure list failed, and calculation for a structure defined by a single point inappropriately returned value ofNA. -
calculate.DVH()failed when structure contained fewer than three points or was confined to a single plane along the x or y axes. -
read.DICOM.RT()failed when calculating DVHs from dose grid -
calculate.DVH()subroutines improperly ignoreddose.unitparameter input DVHs containing plan sum data without prescription dose/isodose information were considered as invalid DVH objects.
DVH plotting using
plot(..., plot.type="ttest")orplot(..., plot.type="wilcox")improperly displayed relative volume information along an absolute volume y-axis when parametervolume="absolute"was specified.DVH plotting using
plot(..., plot.type="wilcox")displayed inaccurate confidence intervals.
OTHER UPDATES
Updated behavior of
wilcox.test(..., paired=TRUE)to return parameter"estimate"as the true median of pairwise differences in lieu of the statistical (pseudo)median calculated by wilcoxon signed-rank test.Enhanced legend when using
plot(..., plot.type="grouped")(now supports filling/shading)Added
demo()functionality as a package tutorial.
ACKNOWLEDGEMENTS
Thanks to Maura Kirk for identifying the plan sum DVH class validation bug.
Thanks to Eric Ojerholm for identifying the DVH plotting bugs, for suggesting user-modifiable
xlim/ylimspecification as well as dose ranges on volumetric parameter export, and for suggesting DVH plotting enhancements when usingplot(..., plot.type="wilcox").Thanks to Abodunde Adegunloye for identifying the error in structure
range()calculation as well as the error incalculate.DVH()andread.DICOM.RT().
CHANGES IN VERSION 1.0.8
NEW FEATURES
DVH plotting using
plot(..., plot.type="ttest")has been expanded to incorporate width specification as implemented forplot(..., plot.type="grouped").New function
getStructureList()to extract desired structures from a list of DVH lists (generated byread.DVH()using multiple input files)
BUG FIXES
Error in validity check for classes
DVHandzDVHwhenrx.isodosenot specified.Error in
read.DICOM.RT()function preventing proper import of RT plan data when the plan contained more than one dose reference point.Error in
read.DICOM.RT()function preventing proper import of RT plan data when the plan contained no dose grid.Error in initialization of new
RTdataobjects containing dose grid information (attributedose.unitsimproperly specified).Error in sub-selection of
DVH.listandstructure.listobjects where individual names were coercible to numerical values (e.g. "45").Improper z coordinate specification when using
read.DICOM.RT()on an inversely ordered list of DICOM image slices.DVH plotting using
plot(..., plot.type="ttest")generated improper shading ranges in some instances. This graphical depiction has been adjusted to generate actual confidence intervals with relative contributions scaled by a group's internal variance.DVH parameter selection (e.g.
DVH["V20Gy"]) failed when called upon an empty DVH object.
ACKNOWLEDGEMENTS
Thanks to Primoz Peterlin for identifying the bug in
DVHclass validation.Thanks to Nicola Dinapoli for identifying the bug in
read.DICOM.RT()import.
CHANGES IN VERSION 1.0.7
NEW FEATURES
New class
zDVH(along with relevant methods) to store one or more axially-segmented and calculated dose-volume histograms. The class otherwise contains all elements of theDVHclass and is largely interchangeable with otherDVHobjects.New plot functionality for axial dose-volume histogram displayed from one or more
zDVHobjects.New method for
compareStructures()("DSC") which calculates Dice similarity coefficients between pairs of structures.
BUG FIXES
Fatal error in
convert.DVH(..., dose="relative")when prescription dose not specified.
OTHER UPDATES
Added attribute
dose.unitsto dose grid in classRTdatato enable specification and processing of dose units.Added
stomachto package data contents in order to provide an example of azDVHobject.
CHANGES IN VERSION 1.0.6
NEW FEATURES
Added
calculate.DVH()function to perform DVH calculation given one or more input structure set(s) and dose grid data. This function now also implicitly extendsread.DVH(..., method="dicom")to enable DVH calculation from DICOM-RT data.
BUG FIXES
Fixed v.1.0.5 Windows build error due to incorrect file path specification in vignette.
DEPRECATED AND DEFUNCT
Prior internal function
extract.DVH()has been removed.
OTHER UPDATES
Added
janedoe.RTdatato package data contents in order to provide an example of aRTdataobject.New method for
as()function to convert astructure3Dobject to aDVHobject.Package vignette has been updated to incorporate some of the changes in recent releases.
CHANGES IN VERSION 1.0.5
NEW FEATURES
Functionality expanded for
[]accessor method toDVH.listandstructure.listobjects to enable pattern matching (e.g.janedoe["KIDNEY$"]and handling of redundant structure names inDVH.list(see updated package Vignette for further details).New method for
as()function to convert a list ofDVHand/orDVH.listobjects to a single combinedDVH.listobject.New method for
as()function to convert a list ofstructure3Dand/orstructure.listobjects to a single combinedstructure.listobject.Expanded
read.DICOM.RT()functionality to include calculation of DVHs from dose grid information. DVH calculations can be enabled by specifying logical parameterDVH=TRUE(default).-
LQE()now supports fractionation specification in either dose per fraction or total number of fractions (parameterNwas introduced for this purpose).
BUG FIXES
Fixed structure import using
read.DICOM.RT()for structure sets not mapped to a DVH present within the dose file (previously returned empty structures instead of populating the structures with their respective vertices).Fixed fatal error in DVH extraction from dose grid data (previously occurred when one or more points were duplicated within a structure).
Input of empty directly previously caused fatal error in
read.DICOM.RT()-
t.test(),wilcox.test()and methods employing this functionality (e.g.plot(..., plot.type="ttest")) previously failed if any elements in DVH list were empty. -
sum(),mean(),median(),mad(),var(), andsd()previously failed if any elements in DVH list were empty. Fixed integral dose calculation, which previously returned values that were inadvertently scaled by the dose bin width.
Fixed validity checking of
DVHobjects containing a single dose-volume value.x-axis improperly specified dose units as "cGy" when plotting DVHs in units of "Gy".
Isoeffective dose calculation using
LQE()was previously inaccurate due to incorrect implementation of the Withers isoeffective dose formula – this has now been corrected.Previously improper handling of
typespecifier inread.DVH()where specified type was not provided and list of input files was longer than length 6.
DEPRECATED AND DEFUNCT
Removed unused package dependency on Rcpp (future releases may reincorporate this dependency in order to support C++ implementations of various algorithms).
OTHER UPDATES
Changed formatting of printed
DVHobjects (structure volume is now displayed to precision of one decimal point and min/max doses displayed to two decimals).-
dose.unitsparameter introduced forLQE()function. -
DVHclass expanded to include patient identifying information (new parameterspatientandID) -
read.DVH(..., type="dicom")now links toread.DICOM.RT(..., DVH=TRUE)and returns a DVH list extracted from the relevant DICOM-RT directory.
ACKNOWLEDGEMENTS
Thanks to Daniel Wollschlaeger for identifying the bug in
read.DVH()type specification and for his suggestion to expand theDVHclass specification to include patient identification.
CHANGES IN VERSION 1.0.4
NEW FEATURES
Expanded
read.DICOM.RT()functionality to include import of DVHs from dose file where relevant.Expanded
plot()functionality to include display of astructure.listobject containing multiple structures.Function
compareStructures(..., method="axial")can now process structures that contain one or more holes (e.g. a hollow sphere)New wrapper class
RTdatato store a corresponding CT image, dose grid, and structure set.New functions to support interaction with
RTdataclass.
BUG FIXES
Updated DVH parameter extraction to return maximal dose in cases where extrapolated dose exceeds actual maximum dose.
DVH methods previously failed without graceful warning or exit in cases where prescription dose was not specified (e.g. plan sum DVH data from Eclipse).
DEPRECATED AND DEFUNCT
Method
compareStructures(..., method="grid")has been renamed tocompareStructures(..., method="axial"). Code still supports call using "grid" method, however it now generates a warning to use the preferred "axial" method.
OTHER UPDATES
Added plotting support for
structure3Dobjects without pre-specified triangulation; previously a call toplot()would generate an empty plotting window.Updated
gEUD()calculation to improve performance for large values of tissue-specific parameter 'a'.Added slot
rx.isodoseto classDVHto enable application of prescription dose to variable isodose lines (relevant in select cases).
ACKNOWLEDGEMENTS
Thanks to Daniel Wollschlaeger for identifying the bug in DVH dose extraction as well as for his suggestion regarding variable prescription isodose lines.
Thanks to Brandon Whitcher for his phenomenal and generous support regarding the
oro.dicompacakge.
CHANGES IN VERSION 1.0.3
NEW FEATURES
New methods for
sum()implemented to handle DVH data (assumes *non-overlapping* structures); it can be used to calculate total dose from multiple independent structures (e.g. paired/bilateral lungs or kidneys).New function
gEUD()to calculate generalized equivalent uniform dose values fromDVHandDVH.listobjects.New function
LQE()to perform linear quadratic extrapolation for iso-effective dose conversion amongDVHandDVH.listobjects with different fractionation.Extended
read.DVH()function to import CadPlan files (for achival/historical data).Extended
read.DVH()function to import multiple files simultaneously, if desired.Expanded functionality of DVH parameter access; now a user may specify output type in parentheses (e.g.
DVH["V20Gy(cc)"]).
BUG FIXES
Updated
plot(..., plot.type="grouped")to ensure thatmultipliercontains a positive value (previously inappropriate negative value would result in a plotting error).Fixed issue with
mean(),median(),mad(),sd(), andvar()calculations on DVH lists where differing dose units were not handled appropriately.Added method to
mean()for proper handling ofDVHobjects (code was previously omitted, leading to an error on call to the function).Updated NAMESPACE file to export method definitions for
dim().Fixed an internal function which was causing errors upon processing of
DVH.listobjects containing one or more empty DVHs.Fixed fatal error in
read.DVH()caused by attempted read of an improperly-formatted file.Fixed error in
read.DICOM.RT()affecting structure set import when DICOM header "FrameOfReferenceUID" not specified.
DEPRECATED AND DEFUNCT
The
centerparameter in the DVH-specificplot(..., plot.type="grouped")function is no longer supported. Instead, the parameter is now implicitly determined from thewidthparameter (e.g.center="mean"whenwidth="sd").
OTHER UPDATES
Added version requirement for
oro.dicompackage (must be >= 0.4.1) in order to appropriately import high-resolution structure sets.DVH list method for
wilcox.test()now updated to includeestimateparameter in returned values.Confidence interval display updated in DVH list methods
plot(..., plot.type="ttest")andplot(..., plot.type="wilcox").Added slot
dose.fxto classDVHto enable specification of dose fractionation (relevant in select cases).
ACKNOWLEDGEMENTS
Thanks to Daniel Wollschlaeger for his suggestion to include CadPlan support as well as his support in implementation.
Thanks to Brandon Whitcher for his phenomenal and generous support regarding the
oro.dicompacakge.
CHANGES IN VERSION 1.0.2
NEW FEATURES
Expanded class
DVH,read.DVH(), and other supporting functions to allow for dose specification (and analysis) in either units of cGy or Gy.Added ability to calculate integral dose for
DVHobjects, with usage and implementation described further in an updated package vignette.
BUG FIXES
Fixed issue where structure import from DICOM-RT files failed (due to variable ordering of "ReferencedROINumber" DICOM header).
Fixed issue where attempted structure import from an empty DICOM-RT file caused fatal error.
Fixed issue where attempted structure import from an empty structure set file caused fatal error.
Fixed issue where one or more empty structures in structure list input caused
compareStructures()to fail.Fixed issue within
compareStructures()where fault in internal color specification caused fatal error.Fixed issue when plotting using
compareStructures()andmethod="grid"where improper colors would be displayed for partially overlapping structures.Fixed issue where axial comparisons were plotted in improper order when using
compareStructures()andmethod="grid".
OTHER UPDATES
Added implementation of
dimfunction to assess size ofstructure3Dobjects.Updated implementation of
read.DVHfunction to allow for import of relative dose parameters (e.g. max dose as percent of prescription dose).-
new("DVH")now creates a structure with volume equivalent to zero (instead of prior NULL value default). -
johndoeandjanedoedatasets were updated to conform to newestDVHspecifications.
ACKNOWLEDGEMENTS
Thanks to Daniel Wollschlaeger for his critical feedback and help in updating this version of the package.
CHANGES IN VERSION 1.0.1
NEW FEATURES
New function
read.DICOM.RT()to import 3-dimensional structural information from one or more DICOM-RT files.New class
structure3Dto store 3-dimensional information encoding a structure.New functions to support interaction with
structure3Dclass.New class
structure.listto store a list ofstructure3Dobjects.New functions to support interaction with
structure.listclass.New function
compareStructures()to assess similarities and differences among two or morestructure3Dobjects within astructure.list.
BUG FIXES
For
plot(..., method="grouped", width="IQR", center="mean"), shading offset was previously incorrect, resulting in improper plotting.For
plot(..., method="grouped", width="quantile", center="mean"), shading offset was previously incorrect, resulting in improper plotting.Fixed error causing overwrite of slot
structure.volume, preventing proper creation ofDVHobjects.Fixed
names<-function forDVH.listclass which had erroneously prevented lookup of newly assigned names
OTHER UPDATES
RadOnc.RData file updated to include example 3-dimensional structural data (
cord,mandible,teeth).Implemented coercion from class DVH to DVH.list,
as(..., Class="DVH.list").
CHANGES IN VERSION 1.0.0
NEW FEATURES
This is the first release of the RadOnc package.
DEPRECATED AND DEFUNCT
This is the first release of the RadOnc package.
BUG FIXES
This is the first release of the RadOnc package.