Learn R Programming

oro.dicom (version 0.4.0)

readDICOMFile: Read Single DICOM File

Description

All information, both header and image, is read into a list structure from a DICOM file.

Usage

readDICOMFile(fname, endian = "little", flipud = TRUE, skip128 = TRUE,
              DICM = TRUE, skipSequence = TRUE, pixelData = TRUE,
              warn = -1, debug = FALSE)
rereadDICOMFile(fname, endian = "little", flipud = TRUE, DICM = TRUE, 
                skipSequence = FALSE, readPixelData = TRUE,
                warn = -1, debug = FALSE)
parseDICOMHeader(rawString, sq.txt = "", endian = "little", 
                 verbose = FALSE)

Arguments

fname
is the file name of the DICOM image (with suffix).
endian
is the endian-ness of the file (default is "little").
flipud
is a logical variable for vertical flipping of the image (default is TRUE).
skip128
is a logical variable to skip the first 128 bytes in the file (default = TRUE).
DICM
is a logical variable to read in the four bytes DICM (default = TRUE).
skipSequence
is a logical variable to skip all content contained in SequenceItem tags (default = TRUE).
pixelData
is a logical variable (default = TRUE) on whether or not the PixelData should be read from the DICOM files.
readPixelData
is a logical variable (default = TRUE) on whether or not the PixelData should be read from the DICOM files.
warn
is a number to regulate the display of warnings (default = -1). See options for more details.
debug
is a logical variable (default = FALSE) that regulates to display of intermediate processing steps.
verbose
is a logical variable (default = FALSE) that regulates to display of intermediate processing steps.
rawString
is a vector of raw values taken directly from the DICOM file.
sq.txt
is an character string (default = ) that indicates if the DICOM header field is embedded within a sequence.

Value

  • A list containing two elements: [object Object],[object Object]

Details

A while loop is used to traverse the unknown number of DICOM header fields contained in a single file. Information contained in sequences may be included/excluded according to the logical variable skipSequence (default = TRUE).

A resursive implementation of the code breaks the DICOM file into segments and calls itself to parse each segment.

References

Whitcher, B., V. J. Schmid and A. Thornton (2011). Working with the DICOM and NIfTI Data Standards in R, Journal of Statistical Software, 44 (6), 1--28. http://www.jstatsoft.org/v44/i06

Digital Imaging and Communications in Medicine (DICOM) http://medical.nema.org http://en.wikipedia.org/wiki/Digital_Imaging_and_Communications_in_Medicine

See Also

readDICOM

Examples

Run this code
x <- rereadDICOMFile(system.file("dcm/Abdo.dcm", package="oro.dicom"))
graphics::image(t(x$img), col=grey(0:64/64), axes=FALSE, xlab="", ylab="",
                main="Abdo.dcm")

x <- rereadDICOMFile(system.file("dcm/Spine1.dcm", package="oro.dicom"))
graphics::image(t(x$img), col=grey(0:64/64), axes=FALSE, xlab="", ylab="",
                main="Spine1.dcm")

Run the code above in your browser using DataLab