2009-04 Paul Murrell * graphicsqc.Rnw: Added (slightly modified) JSS article as vignette * CITATION: Added citation file 2009-03 Paul Murrell * compare.R: gqcShell(): new function to provide cross-platform system() calls. 2009-02 Paul Murrell Changed stop() and warning() messages so that they use gettextf() rather than paste() so that they are more amenable to translation. Changed paste("file", "path", sep=".Platform$separator) to file.path("file", "path") * makeplots.R: plotFunction(): record date using Sys.time() rather than date() so we get an ISO date format. notYetImplemented(): added 'feature' argument so that the message can be more informative. * graphicsQC-package.Rd: Removed package metadata. 2008-11 Paul Murrell * makeplots.R: (): Changed how "call" is calculated (plotExpr): Changed meaning of default value of 'filetype'; default is still NULL, but now that means produce ALL available formats * compare.R: (): Changed how "call" is calculated * report.R: (writeReport): Added 'browse' arg so automatically opens browser. 2007-11-10 Stephen Gardiner * DESCRIPTION: Changed the name of the package to ``graphicsQC''. * tests.R (): Replaced ``graphicsqc'' with ``graphicsQC''. * graphicsqc-package.Rd: Renamed to graphicsQC-package.Rd 2007-10-31 Stephen Gardiner * report.Rnw: Updated. Includes bullet points and some content written. 2007-10-30 Stephen Gardiner * makeplots.R, compare.R, report.R, log.R (): All function names have been backquoted and laid out similar to what dump would do. Many of the comments have also been tidied. * makeplots.R (): Changed from stop() when length(prefix) > 1 to warning(). (evalPlotCode): Strips trailing \n from warnings and errors (so XML will read properly). Note: writing/reading using CData also won't read the last \n's. (plotFile): Re-ordered arguments so path comes before prefix because prefix normally has sensible defaults. (plotFunction): Likewise. (plotExpr): Likewise (except prefix has to be chosen by the user). * tests.R (): Changed calls to plotExpr/plotFile/plotFunction to match change in ordering of arguments. * log.R (getQCResult): When auto-detecting for the highest classed object, if many are detected, now gives a warning and calls notYetImplemented(). * compareExpr.xsl: (): Changed to "Warnings/Errors Differences" rather than 'Warnings/Errors Comparisons'. * compareFunAndFile.xsl: (): Changed to "Warnings/Errors Differences" rather than 'Warnings/Errors Comparisons'. * NAMESPACE: Changed print.qcPlotExprResult and print.qcCompareExprResult to use S3method(). Defined S3method()s for report.* (qcPlotExprResult, qcPlotFileResult, qcPlotFunResult, qcCompareExprResult, qcCompareFileResult, qcCompareFunResult, default). * plotExpr.Rd: Updated/fleshed out. * compare.Rd: Updated/fleshed out. * plotFile.Rd: Removed - merged into plotExpr.Rd. * plotFunction.Rd: Removed - merged into plotExpr.Rd. * graphicsqc-package.Rd: Updated/a little fleshed out. 2007-10-23 Stephen Gardiner * report.R (): Uses getQCResult so can auto-detect. (report): New generic function (report.qcPlotExprResult, report.qcPlotFileResult, report.qcPlotFunResult, report.qcCompareExprResult, report.qcCompareFileResult, report.qcCompareFunResult, report.default): New functions (refactored code). * log.R (getQCResult): Added argument for 'which' so can be used to auto-detect all log files, or just plot ones. * NAMESPACE: Added print.qcPlotExprResult and print.qcCompareExprResult. * compareFunAndFile.xsl: TOC only reports numbers of differences. Comparison logs section removed. All 'Files' are listed with links to their respective logs. New 'No plots to compare' section. * makeplots.R (print.qcPlotExprResult) Changed to match arguments of the print generic. * compare.R (print.qcCompareExprResult) Changed to match arguments of the print generic. * gridExample2.tar.gz: New File. 2007-10-16 Stephen Gardiner * makeplots.R (plotExpr, plotFunction, plotFile): Changed R version in info from 'getRversion()' to 'version$version.string' (more informative). (evalPlotCode): Removed the text "Warning in evalPlotCode:" from being appended on to every warning. Likewise for "Error in evalPlotCode:". * compare.R (): Relaxed 'erase' to default to "none" and give a warning if invalid input given. Changed to check for path until AFTER reading the log in as it may have been a character vector. (compareExpr, compareFunOrFile): Changed R version in info from 'getRversion()' to 'version$version.string' (more informative). * compare.Rd (): Changed argument listing to match function (path changed). * writeReport.R (): Also passes xslStyleSheets when recursing for sub-types. * compareFunAndFile.xsl (): Fixed bug where "Warnings" and "Errors" column in Warnings/Errors comparisons table would not be correctly sized if the warnings/errors didn't occur in the first file. Added unpaired (for unpaireds in the compareExpr Logs). * compareExpr.xsl (unpaired): Includes links to plots in "Plots" section. * DESCRIPTION: Changed 'Sxslt' to "Suggests" instead of "Depends" * tests.R (): Added test to check if Sxslt can be loaded before writeReport is called. * gridExample.tar.gz: New File. 2007-10-09 Stephen Gardiner * compare.Rd: Updated change of 'logDiffDirectory' to 'path'. * compare.R (): Comparing qcPlotFunResult and qcPlotFile results include 'info' in the result. (readCompareFunLog): Now also reads 'info' from qcCompareFunResult files. (compareFunOrFile): New function (refactored code from compare()). (compareWarnings): Fixed a bug where if one plotExpr call had 1 warning (or error) and the other didn't, this wouldn't be reported. * makeplots.R (plotFunction, plotFile): Also include their own info. (plotFunction): Included test to make sure prefixes are unique. * log.R (writeXmlCompareTypeLog): Reads path from the result object rather than as an argument. Now writes info. (writeXmlPlotTypeLog): Writes info too. (readPlotFunLog): Also reads info. (readCompareExprLog): Fixed a follow on from the bug listed above (under compare.R (compareWarnings)). * writeReport.R (): Added new argument "xslStyleSheets" which is a list to let users overwrite a default XSL style sheet if they want. * writeReport.Rd: Included new argument (xslStyleSheets). * plotExpr.xsl: Added some comments. Plots now have their own cell in the table. * compareExpr.xsl: Changed to use addXSLTFunctions solution ('graphicsqc:::logToHTML' didn't seem to work). Added some comments. General improvements. * compareFun.xsl renamed to compareFunAndFile.xsl. * compareFunAndFile.xsl: Neatened use of for-each. Included template for qcCompareFileResult. * plotFunAndFile.xsl: New file. * plotExpr.xsl: Added some comments. * tests.R: Some updates to tests and more tests. 2007-10-02 Stephen Gardiner * compare.R (): renamed 'logDiffDirectory' to 'path'. (): qcPlotFun result now also has a path attribute. (): qcPlotFun and qcPlotFile results generate their own filename and pass to writeXmlCompareTypeLog(). * writeReport.R (): Renamed 'logDiffDirectory' to 'path'. Unnested 'logToHTML' so don't have to use addXSLTFunctions(). ^ Doesn't work when in package ..? Added support for qcCompareFunResult files. (getCompareExprName): New function. * plotExpr.xsl (): Better use of CSS for tables (now with some cellpadding). * compareExpr.xsl (): Better use of CSS for tables (now with some cellpadding). Use 'path' instead of 'logDiffDirectory'. * compareFun.xsl: New file (unfinished). * log.R (writeXmlCompareTypeLog): Writes the new path attribute. Also takes new argument of filename. Also changed to read 'path' properly. (readPlotFunLog): Reads in the new path attribute. * tests.R (): Some updates. 2007-09-26 Stephen Gardiner * writeReport.Rd: New file. * inst/xsl/plotExpr.xsl: New file. * inst/xsl/compareExpr.xsl: New file. * report.R (readCompareExprLog): Moved to log.R (readCompareFunLog): Likewise. (writeReport): Has content now (New function) (Still needs to autodetect). * compare.R (): Accepts logDiffDirectory and checks it. (compareExpr): Accepts logDiffDirectory, includes it in info and passes it on. (compareType): Likewise. * compare.Rd (): Includes new parameter (logDiffDirectory). * log.R (writeXmlCompareExprLog): saveXML writes to logDiffDirectory. * NAMESPACE: Added writeReport. * DESCRIPTION: Added Sxslt to Depends. 2007-09-18 Stephen Gardiner Removed all checks for XML. Moved all XML read/writing into log.R * makeplots.R (print.qcPlotExprResult): New function. * compare.R (compareWarnings): New function. (getPairs): Removed warning comparison and fixed bug for completely unpaired filetypes. (compareExpr): Modified to include new comparison of warnings. (readCompareExprLog): Reads new warnings. (writeCompareExprLog): Writes new warnings. (print.qcCompareExprResult): New function (unfinished: requires unpaired + warnings/errors). (shortenDirectory): New function (used for printing). 2007-08-27 Stephen Gardiner * compare.R (getSupportedIMFormats): Fixed warning about locale message from Deja Vu. (writeXmlCompareExprLog): Removed overall result. Re-written. Fixed bug to include unpaired files. Fixed bug in compare so "controlInfo" gets written properly. (compareExpr, writeXmlCompareExprLog): Removed filetype writing to compareLog as it's already found in the log (readPlotExprLog): Updated to read changes in plotExpr (see below). Also vastly improved and neatened. (mergeList): New Function. (readLog): Now also reads qcPlotFileResult. (compare): Added comparison for qcPlotFileResult. (getQCResult): Detects qcPlotFileResults now too. (getLogType): Added qcPlotFileResult, qcCompareExprResult, qcCompareFunResult, and qcCompareFileResult to valid log types. (readLog): Likewise. (getPairs): Re-written - reads new plotExpr logs and sorts unpaired warnings/errors as well. (writeXmlCompareTypeLog): New function. * makeplots.R (plotExpr): Changed to write filenames, warnings, and errors by type. (writeXmlPlotExprLog): Likewise. Also vastly improved/neatened. (writeXmlInfo): New function. (plotFunction): Set rogue $`example..` names to NULL for round trip. (plotFile): Likewise. * tests.R (): Made round-trip test for compareExpr results. Many miscellaneous updates. * report.R (readCompareExprLog): New Function. (readCompareFunLog): Likewise. * plotFile.Rd (): Fixed \warning{} about opening graphics device to \section{} * plotFunction.Rd (): Likewise. * compare.Rd (): New file containing brief documentation. 2007-08-13 Stephen Gardiner * NAMESPACE: created * compare.R (writeXmlCompareExprLog): Writes blank results nicely. Writes unpaired according to test/control. Writes test and control info too. (Note: Still needs to readPlotExprLog them). Writes overall result. (compareType): Checks to see if there's anything to compare first. Removes automatic names for 'round trip'. (compareExpr): Includes test and control info in result. Includes 'overall' result (include there are unpaired?). (comparePNG): Fixed to only return the diffPlot name if it made one. (GNUdiff): Fixed output redirection so all blanks get deleted. (readPlotExprLog): Reads overall result. * tests.R (): made 'blank' tests and updated miscellaneous tests. * plotFile.Rd (): Changed note about opening graphics device to warning * plotFunction.Rd (): Likewise. 2007-08-13 Stephen Gardiner * makeplots.R (getAbsolutePath): Removed and replaced with normalizePath(path.expand()) in plotFunction. (plotFunction): Set to use only the first prefix when naming the XML log file. (plotFile): Likewise. (readPlotExprLog): Now reads logFilename. (writeXmlPlotExprLog): Now writes logFilename too. (writeXmlPlotFunLog): New function. (writeXmlPlotTypeLog): refactored (and renamed) so plotFile can use it too. * compare.R (getDiffName): Changed to use basename. (comparePDF, comparePNG, compareBMP, comparePS, GNUdiff): return list results (compareExpr): Sets names for the resulting list. (compareType): Set to use SIMPLIFY = FALSE to return a list. Reordered calls to other compare functions so it's: test, control, for consistency. (writeXMLCompareExprLog): New function. (getCompareExprLogFilename): Likewise. * plotFile.Rd (): Brief/skeleton documentation created. * plotFunction.Rd (): Likewise. * tests.R (): Updated some tests.