| 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 for- read.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 where- typenot 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 and- plot()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 to- read.DVH()to fix problem calculating DVH from DICOM-RT data via- read.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 requirements
- Updated 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 from- RTdatafor 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 include- highlightparameter, which specifies shading of p-value data.
- Documentation for - plot.DVH()updated to include- pairedparameter, which specifies behavior of- t.test()and- wilcox.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 a- DVH.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 using- subset().
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 affect- read.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 using- plot(..., plot.type="wilcox").
- Enabled - xlimand- ylimspecification when plotting- DVHobject(s).
- Enabled import of a single collapsed - DVH.listfrom multiple input files (previously only able to import a nested list of individual- DVH.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 given- DVHobject.
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")or- plot(..., plot.type="wilcox")improperly displayed relative volume information along an absolute volume y-axis when parameter- volume="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 using- plot(..., plot.type="wilcox").
- Thanks to Abodunde Adegunloye for identifying the error in structure - range()calculation as well as the error in- calculate.DVH()and- read.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 for- plot(..., plot.type="grouped").
- New function - getStructureList()to extract desired structures from a list of DVH lists (generated by- read.DVH()using multiple input files)
BUG FIXES
- Error in validity check for classes - DVHand- zDVHwhen- rx.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 (attribute- dose.unitsimproperly specified).
- Error in sub-selection of - DVH.listand- structure.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 the- DVHclass and is largely interchangeable with other- DVHobjects.
- 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 class- RTdatato enable specification and processing of dose units.
- Added - stomachto package data contents in order to provide an example of a- zDVHobject.
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 extends- read.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 a- RTdataobject.
- New method for - as()function to convert a- structure3Dobject to a- DVHobject.
- 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 to- DVH.listand- structure.listobjects to enable pattern matching (e.g.- janedoe["KIDNEY$"]and handling of redundant structure names in- DVH.list(see updated package Vignette for further details).
- New method for - as()function to convert a list of- DVHand/or- DVH.listobjects to a single combined- DVH.listobject.
- New method for - as()function to convert a list of- structure3Dand/or- structure.listobjects to a single combined- structure.listobject.
- Expanded - read.DICOM.RT()functionality to include calculation of DVHs from dose grid information. DVH calculations can be enabled by specifying logical parameter- DVH=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 in- read.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 the- DVHclass 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 a- structure.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 to- compareStructures(..., 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 to- plot()would generate an empty plotting window.
- Updated - gEUD()calculation to improve performance for large values of tissue-specific parameter 'a'.
- Added slot - rx.isodoseto class- DVHto 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 from- DVHand- DVH.listobjects.
- New function - LQE()to perform linear quadratic extrapolation for iso-effective dose conversion among- DVHand- DVH.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 that- multipliercontains a positive value (previously inappropriate negative value would result in a plotting error).
- Fixed issue with - mean(),- median(),- mad(),- sd(), and- var()calculations on DVH lists where differing dose units were not handled appropriately.
- Added method to - mean()for proper handling of- DVHobjects (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-specific- plot(..., plot.type="grouped")function is no longer supported. Instead, the parameter is now implicitly determined from the- widthparameter (e.g.- center="mean"when- width="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 include- estimateparameter in returned values.
- Confidence interval display updated in DVH list methods - plot(..., plot.type="ttest")and- plot(..., plot.type="wilcox").
- Added slot - dose.fxto class- DVHto 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()and- method="grid"where improper colors would be displayed for partially overlapping structures.
- Fixed issue where axial comparisons were plotted in improper order when using - compareStructures()and- method="grid".
OTHER UPDATES
- Added implementation of - dimfunction to assess size of- structure3Dobjects.
- 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 of- structure3Dobjects.
- New functions to support interaction with - structure.listclass.
- New function - compareStructures()to assess similarities and differences among two or more- structure3Dobjects within a- structure.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 of- DVHobjects.
- Fixed - names<-function for- DVH.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.