$Date: 2022-03-23 11:00:29 +0000 (Wed, 23 Mar 2022) $ DVHMETRICS RELEASE VERSIONS at https://cran.r-project.org/ Version 0.4.2 (March 23, 2022) * readDVH(..., type="RayStation") - additional information on date, prescription dose, structure volumes can be passed via option raystation (thanks: Ryan Hughes) - imports structure volume and prescribed dose from output if present (thanks: Ryan Hughes) * runGUI() - fix saving NTCP metrics * getNTCP() - implement Kaellman 1992 relative seriality model * getMeanDVH() - add option returnDVHObj to indicate whether returned object should be a regular DVH object that can be used in functions such as getMetric() or showDVH() (thanks: Jose Mesquita) Version 0.4.1 (April 09, 2021) * readDVH() - support Eclipse uncertainty plans: specify uncertainty=TRUE (thanks: Trine Kirkegaad) Version 0.4 (November 30, 2020) * runGUI() - the shiny GUI is now a dashboard based on package bs4Dash Version 0.3.11 (April 30, 2020) * runGUI() - fix upload of Eclipse files (thanks: Li-Wen Huang) Version 0.3.10 (March 16, 2020) * readDVH() - enable reading absolute volume files from HiArt (thanks: Meriam Kebdani) - add possible option volume_from_dvh if structure volume should be determined from maximum volume in a DVH, relevant for files with absolute volume from HiArt and Monaco * runGUI() - fix DataTables output by adding DT to Imports, and prefixing calls with DT:: (thanks: Li-Wen Huang) Version 0.3.9 (July 15, 2019) * re-added dependency on package reshape2 * readDVH() - improve importing MasterPlan files (thanks: Belen Cambre) * runGUI() - add button to select/deselect all patients/structures (thanks: Santam Chakraborty) * getMetric(), checkConstraint() - fix bug turning numeric into character * parseDVH() - fix Unix/Linux-specific bug preventing reading of files (thanks: Santam Chakraborty) Version 0.3.8 (March 26, 2019) * removed dependency on package markdown * removed dependency on package reshape2 * readDVH(..., type="HiArt") - additional information on patID, prescription dose, structure volumes, etc. can be passed via option hiart * getMetric() - document AAPM TG263 (2018) recommendations for specifying DVH metrics * getEUD() (and hence getNTCP()) - attempt to make more numerically stable for large dose values caused an error for negative EUDa values (fixed) (thanks: Jahan Mohiuddin) Version 0.3.7 (November 22, 2017) * readDVH() - add support for PRIMO 0.3.1 - add support for ProSoma (thanks: Manfred Sassowsky) - fix for Eclipse 15 (thanks: Stefania Naccarato) - pass argument encoding to file() to enable UTF-8 or UTF-8-BOM * getEUD() (and hence getNTCP()) - make more numerically stable for large dose values given in cGy and large exponent a (thanks: Jesper Pedersen) * runGUI() - enable interactive zoom for DVH diagrams and constraint plots Version 0.3.6 (July 27, 2016) * showMeanDVH() - experimental new function to visually compare average DVHs from several groups of patients * runGUI() - fix showing average DVHs * getEUD() - fix error for EUDa = 1, EUDa = -Inf, EUDa = +Inf Version 0.3.5 (March 8, 2016) * readDVH() - fix bug when reading Pinnacle files - Monaco files can now have spaces in structure names (thanks: Alan Kalet) - when reading Monaco files without relative volume, structure volume is assumed to be max available volume, and relative volume is calculated * getTCP() - change variable name NTCP to TCP * getDMEAN() - better accuracy of DMEAN, DMIN, DMAX through changes in convertDVH() * getMetric() - add "DHI" for the Homogeneity Index according to ICRU 83 formula 3.3: (D2%-D98%) / D50% * convertDVH() - when converting to differential DVH, interpolate cumulative DVH first, not differential DVH afterwards - spline interpolation as well as spline and kernel smoothing options are moved to convertDVHsmooth() * convertDVHsmooth() - new function with linear/spline interpolation as well as kernel smoothing of the differential DVH Version 0.3.4 (November 27, 2015) * getMeanDVH() - new function that returns point-wise aggregates of several DVHs, by default the mean, median, standard deviation, minimum and maximum of the volumes * showDVH() - add option addMSD to show the point-wise mean DVH as well as shaded areas for point-wise 1-SD and 2-SD around the mean * convertDVH() - with toType="asis" and interp="linear", DVHs are interpolated with equally spaced dose values * getMetric(), showDVH() - change default: match supplied IDs and structure names exactly to allow for structures containing '+' signs, use fixed=FALSE for regular expression matching * checkConstraint(), showConstraint() - fix bug: make functions work for files not exported from Eclipse or Cadplan - fix bug: make functions work for DVH files with duplicate rows * getEUD(), getNTCP(), getTCP() - fix bug: version 0.3.1 broke EUD calculation and therefore NTCP/TCP calculation Version 0.3.3 (October 13, 2015) * readDVH() - add support for RayStation (thanks: Michael R. Young) - fix bug: version 0.3.1 broke reading Cadplan files - fix bug: correctly convert Cadplan and Monaco differential DVHs to cumulative DVHs (unlike Eclipse, they are not per unit dose) - allow structure names with leading non-alphanumeric characters * getDMEAN() - fix bug: version 0.3.1 broke DMEAN, DMIN, DMAX, DSD for DVHs where these metrics were not exported from the TPS * convertDVH() - fix bug: if option interp was not set, different interpolation methods were used for different IDs when converting DVHLstLst objects - fix bug: correctly scale differential DVH for perDose=FALSE Version 0.3.1 (August 05, 2015) * DESCRIPTION, NAMESPACE - import utils and stats to accomodate new R-devel * readDVH() - add support for Elekta Monaco (thanks: Reid Thompson), - add support for Tomo HiArt (thanks: Nico Banz) - read Course header entry for Eclipse files - add option courseAsID for appending the Course to the original patient ID * convertDVH() - in DVHs objects, a differential DVH is saved to list element dvhDiff, a cumulative DVH is saved to list element dvh. The original DVH is copied to the other list element, respectively. Version 0.3 (May 5, 2015) * getMetric() - fix bug: V*% was incorrect - increase accuracy for linear and spline interpolation of DVHs with few unique nodes * getBED(), getEQD2(), getIsoEffD() - add methods to directly convert all doses in (list of) DVHs * getEUD() - fix bug: gEUD calculation based on EQD2 Version 0.2 (April 7, 2015) * Shiny web application - add settings for gEUD and (N)TCP parameters in metrics and constraint - exact matching for selected patients and structures instead of regex-matching - fix bug: selection of patients and structures in 'Show DVH' - fix bug: DVHs for different structure sets * readDVH() - new option 'add' which allows to merge previously loaded data with new data read from file (regardless of TPS origin) - add support for data exported by Pinnacle3 that conforms to a specific directory layout / file structure explained in the docs (thanks: Bjorne Riis) - fix bug: read first DVH line as well * convertDVH() - new function to convert between differential and cumulative DVH with optional spline interpolation / kernel smoothing for the differential DVH * mergeDV() - new function to merge different DVH objects, possibly from different treatment planning systems * checkConstraint(), getMetric() - add DEUD to calculate generalized equivalent uniform dose (gEUD), DNTCP to calculate normal tissue complication probability (NTCP), and DTCP for tumor control probability (TCP) - add option 'interp' to choose DVH interpolation method between linear interpolation, a cubic monotone Hermite spline, and cubic local polynomial kernel regression - now work with artificial DVHs with only two points, possibly horizontal or vertical * checkConstraint() - fix bug: correct projection of constraint point onto line segments as affine (not linear) subspaces * getMetric() - if the TPS does not export dose minimum, maximum, mean, median, standard deviation -> calculate based on the differential DVH * getEUD() - new convenience function to calculate generalized equivalent uniform dose from DVH, DVH list, or DVH list of lists * getNTCP() - new convenience function to calculate normal tissue complication probability from DVH, DVH list, or DVH list of lists according to Lyman probit, Niemierko logit, Kaellman Poisson model * getTCP() - new convenience function to calculate tumor control probability from DVH, DVH list, or DVH list of lists * getDMEAN() - new convencience function to calculate DMEAN, DMEDIAN, DMIN, DMAX, DMODE, DSD from the (interpolated) differential DVH instead of relying on values exported by the TPS. * getBED() - new function for the biologically effective dose (BED) * getEQD2() - new function for the 2Gy fractions biologically equivalent dose (EQD2) * getIsoEffD() - new function for the isoeffective dose according to the linear-quadratic model Version 0.1 (January 29, 2015) * Initial release