Skip to content

An F# based DICOM parser for reading DICOM files

Notifications You must be signed in to change notification settings

steveofficer/FSharp-DICOM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FSharp-DICOM

This is a work in progress library for reading DICOM files, following the DICOM chapter 10 format. It also serves as a platform for me to learn F# while writing something useful.

The library consists of 2 main parts.

Lexer.fs

The Lexer performs a first pass over the DICOM file in order to split it up into the Preamble, and the set of DataElements. The DataElements either represent a simple tuple of VR, tag and value, or they represent an SQ element in which case they are a tuple of tag and list DataElement. The value of a simple DataElement is a byte[] in little endian format read from the DICOM file.

Parser.fs

The Parser transforms the DataElements produced by the Lexer into a stronger typed VR objects. This means that each DataElement's byte[] value has been translated into a specific type as defined by the DataElement's VR code and the DICOM specification. These types are either a single value or a list of values.

About

An F# based DICOM parser for reading DICOM files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages