What is DICOM.pm?
DICOM.pm was originally written by Andrew Crabb and subsequently modified by Jonathan Harlap. I've since made improvements and bug fixes to improve the handling of the DICOM images I used on a daily basis. There is still much to be improved, but now it can read and write simple DICOM images.
The pod documentation is currently fairly rudimentary:
NAME
DICOM.pm is a Perl library that allows Perl programs to read the headers of medical image files conforming to DICOM standards.
SYNOPSIS
use DICOM;
my $dicom = DICOM->new();
$dicom->fill($dicomFile);
my $patientName = $dicom->value('0010', '0010');
DESCRIPTION
DICOM (Digital Imaging and Communications in Medicine) is a standard designed to allow medical image files to be transferred, stored and viewed on different makes of computers. Perl is a multiplatform language that excels at system tasks such as file manipulation. It's easy to learn, particularly if you are familiar with C or the Unix shells and utility programs.
This library provides the methods to read and parse a DICOM file, then to recover the contents of each header element by their standard DICOM group and element codes. Header element values can be edited (either through the GUI or command line) and the modified file written back to disk.
METHODS
LIMITATIONS
DICOM.pm is not a thourough implementation of the DICOMv3 standard. Most notably, the following features are either broken or not implemented at all:
- Only supported encoding for PixelData is Explicit VR Little-Endian Native encoding;
- No support whatsoever for Implicit VRs;
- No support for VR of type SQ (Sequence), except for skipping over SQs that are explicit VRs.
AUTHOR
Andrew Crabb, <ahc(at)jhu.edu>
Jonathan Harlap, <jharlap(at)bic.mni.mcgill.ca>
Alexandre Carmel-Veilleux <acveilleux(at)mrs.mni.mcgill.ca>
COPYRIGHT AND LICENSE
Copyright © 2002 by Andrew Crabb
Some parts are Copyright © 2003 by Jonathan Harlap
Some parts are Copyright © 2004-2005 by Alexandre Carmel-Veilleux
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.6.0 or, at your option, any later version of Perl 5 you may have available.
DOWNLOAD