| NEWS | R Documentation |
Added 95-percentile Hausdorff distance method to compareStructures()
Adds CITATION file
Exposes file encoding parameter for read.DVH() function
Thank you to Tomas Kalibera for his help in supporting file encoding.
Added Aria v15 formatted DVH input functionality to read.DVH()
Added automatic filetype matching to read.DVH() in cases where type not specified
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
Eliminates use of deprecated rgl package and plot() method for structure3D and structure.list objects
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.
[currently in development] Adds a modified Earth-Mover's Distance to compareStructures()
Adds modality argument 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.
Updated RadOnc-package.Rd file to conform with latest CRAN requirements
Updated package vignette to correct a typo re: instructions for use
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.
Added support for plan sum import from Aria 13 using read.DVH(..., type="aria13")
Thanks to Maura Kirk for her assistance with Aria 13 plan sum import.
Added a new function, get.HU(), which is able to extract corresponding Hounsfield Unit (HU) values from RTdata for one or more structures.
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).
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).
Extended read.DICOM.RT() function to import MRI data (previous code was unable to import MR data)
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.
Extended read.DVH() function to import RayStation files.
Extended read.DVH() function to import TomoTherapy files.
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.
Documentation for plot.DVH() updated to include highlight parameter, which specifies shading of p-value data.
Documentation for plot.DVH() updated to include paired parameter, which specifies behavior of t.test() and wilcox.test().
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.
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.list object based upon patient identifiers, structure name, and/or dosimetric constraints.
read.DVH() maintained open file connections, problematic for simultaneous import of hundreds of DVH files.
oro.dicom package failed to recognize DICOM files formatted without 128 byte headers (patch applied to oro.dicom package 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.
Function getStructureList() has been removed and replaced instead with a wider array of functionality using subset().
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").
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.dicom package accordingly.
New parameter panel.lower to specify plotting behavior when using plot(..., plot.type="wilcox").
Enabled xlim and ylim specification when plotting DVH object(s).
Enabled import of a single collapsed DVH.list from multiple input files (previously only able to import a nested list of individual DVH.list objects 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 DVH object.
range() calculation for an empty structure list failed, and calculation for a structure defined by a single point inappropriately returned value of NA.
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 ignored dose.unit parameter 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.
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.
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/ylim specification 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().
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)
Error in validity check for classes DVH and zDVH when rx.isodose not 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 RTdata objects containing dose grid information (attribute dose.units improperly specified).
Error in sub-selection of DVH.list and structure.list objects 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.
Thanks to Primoz Peterlin for identifying the bug in DVH class validation.
Thanks to Nicola Dinapoli for identifying the bug in read.DICOM.RT() import.
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 DVH class and is largely interchangeable with other DVH objects.
New plot functionality for axial dose-volume histogram displayed from one or more zDVH objects.
New method for compareStructures() ("DSC") which calculates Dice similarity coefficients between pairs of structures.
Fatal error in convert.DVH(..., dose="relative") when prescription dose not specified.
Added attribute dose.units to dose grid in class RTdata to enable specification and processing of dose units.
Added stomach to package data contents in order to provide an example of a zDVH object.
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.
Fixed v.1.0.5 Windows build error due to incorrect file path specification in vignette.
Prior internal function extract.DVH() has been removed.
Added janedoe.RTdata to package data contents in order to provide an example of a RTdata object.
New method for as() function to convert a structure3D object to a DVH object.
Package vignette has been updated to incorporate some of the changes in recent releases.
Functionality expanded for [] accessor method to DVH.list and structure.list objects 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 DVH and/or DVH.list objects to a single combined DVH.list object.
New method for as() function to convert a list of structure3D and/or structure.list objects to a single combined structure.list object.
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 (parameter N was introduced for this purpose).
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(), and sd() 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 DVH objects 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 type specifier in read.DVH() where specified type was not provided and list of input files was longer than length 6.
Removed unused package dependency on Rcpp (future releases may reincorporate this dependency in order to support C++ implementations of various algorithms).
Changed formatting of printed DVH objects (structure volume is now displayed to precision of one decimal point and min/max doses displayed to two decimals).
dose.units parameter introduced for LQE() function.
DVH class expanded to include patient identifying information (new parameters patient and ID)
read.DVH(..., type="dicom") now links to read.DICOM.RT(..., DVH=TRUE) and returns a DVH list extracted from the relevant DICOM-RT directory.
Thanks to Daniel Wollschlaeger for identifying the bug in read.DVH() type specification and for his suggestion to expand the DVH class specification to include patient identification.
Expanded read.DICOM.RT() functionality to include import of DVHs from dose file where relevant.
Expanded plot() functionality to include display of a structure.list object 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 RTdata to store a corresponding CT image, dose grid, and structure set.
New functions to support interaction with RTdata class.
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).
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.
Added plotting support for structure3D objects 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.isodose to class DVH to enable application of prescription dose to variable isodose lines (relevant in select cases).
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.dicom pacakge.
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 DVH and DVH.list objects.
New function LQE() to perform linear quadratic extrapolation for iso-effective dose conversion among DVH and DVH.list objects 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)"]).
Updated plot(..., plot.type="grouped") to ensure that multiplier contains 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 DVH objects (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.list objects 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.
The center parameter in the DVH-specific plot(..., plot.type="grouped") function is no longer supported. Instead, the parameter is now implicitly determined from the width parameter (e.g. center="mean" when width="sd").
Added version requirement for oro.dicom package (must be >= 0.4.1) in order to appropriately import high-resolution structure sets.
DVH list method for wilcox.test() now updated to include estimate parameter in returned values.
Confidence interval display updated in DVH list methods plot(..., plot.type="ttest") and plot(..., plot.type="wilcox").
Added slot dose.fx to class DVH to enable specification of dose fractionation (relevant in select cases).
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.dicom pacakge.
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 DVH objects, with usage and implementation described further in an updated package vignette.
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".
Added implementation of dim function to assess size of structure3D objects.
Updated implementation of read.DVH function 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).
johndoe and janedoe datasets were updated to conform to newest DVH specifications.
Thanks to Daniel Wollschlaeger for his critical feedback and help in updating this version of the package.
New function read.DICOM.RT() to import 3-dimensional structural information from one or more DICOM-RT files.
New class structure3D to store 3-dimensional information encoding a structure.
New functions to support interaction with structure3D class.
New class structure.list to store a list of structure3D objects.
New functions to support interaction with structure.list class.
New function compareStructures() to assess similarities and differences among two or morestructure3D objects within a structure.list.
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 DVH objects.
Fixed names<- function for DVH.list class which had erroneously prevented lookup of newly assigned names
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").
This is the first release of the RadOnc package.
This is the first release of the RadOnc package.
This is the first release of the RadOnc package.