2011.11.27 Version 1.3.1 (development) Core * Fixes #9 Added support for creating new tags properly. Pixeler (Tool) * #10 Initial code to support the creation of DICOM files from scratch. Specifically for lossy jpeg 8-bits. Still under development. nanodcm (Command line tool) * Nanodicom from the command line! - Anonymizer: support for map y tags options (using json encoded). Fixes #11. Be aware that there is no handling of json errors. Example: (make sure to escape the quotes with \" to have a proper json string $ ./nanodcm anonymize --path=samples --map=[[16,16,\"patient0\",\"Mapped\"]] --mask=CT_small.dcm 2011.11.17 Version 1.3 (stable) Core * #6 Fixed a bug that throws an exception when the file is smaller than 132 bytes and not a DICOM file. Now the error is set in the errors array and a Nanodicom object is returned. * #8 Added support to return profiling data in different units. Default is ms. Only seconds (s) and milliseconds (ms) supported. Getter (Tool) * #7 Added a new tool: Getter. Almost the same thing, but forces to load dictionaries for convenience. Otherwise, traditional code will not load dictionaries (improves performance). nanodcm (Command line tool) * Nanodicom from the command line! - Run it recursively or not. - Specified the path to search. - Specified the mask to use for the file pattern - Display errors and warnings - Do dumping of multiple files in a single run. - Anonymize your files. Creates backups for you. 2011.09.08, Version 1.2 (stable) Core * #3 added support for partial reading of DICOM objects. Basically, parse does not throw an error anymore. A public "status" variable is updated accordingly: 0 => Initial (Not parsed yet), 1 => Partial (Some tags were read), 2 => Success (Is it a DICOM file), 3 => Failure (Not a DICOM file). Dumping or the object still can be performed, but only up to the number of tags found. * #5 added support for AT vr reading and writing. * added a summary method that displays most important information about the object. * adedd "get" method that allows to pass a default value which will be returned if no value is found. * "errors" and "warnings" are now saved in their corresponding public arrays. * method "is_dicom" now parses the full dicom object and returns true or false based on status after being parsed. Framework * #4 added test suites. Anonymizer * added support to pass a list of replacement values. Great when replacements need to be consistent over different number of runs. Pixeler * added support for RLE compression, jpeg 8-bit lossy and uncompressed data. * added support to read Monochrome1 and Monochrome2 or Paletter color photometric representations * added support to read Planar Configuration of 0 (Color-by-pixel RGBRGB...) and 1 (Color-by-plane RRRR...GGGG...BBBB...) * added support for multiple drivers (libraries). Works with gd (default), imagick (Image Magick) and gmagick (Gmagick). To change driver just call ->set_driver('imagick') before doing ->get_images(). * saving images handle jpg (default), png and gif.