About

Imebra is a multiplatform open source C++ Dicom library.

The full source code, examples and documentation are freely available under the Free BSD license.

  • The library can handle Dicom3, NEMA and Jpeg files and supplies both high-level and raw access to the loaded data.
  • The embedded images can be easily decompressed or converted to other color formats or bit depth; writing Dicom Viewers or other applications is a quick and easy task.
  • Imebra can parse and build DICOMDIR files.
  • Imebra also supports the Unicode standard (on the fly conversion to/from Dicom charsets), the caching of large tags, and the transactions (never leave a dataset in an unconsistent state).

A sample application (dicom2jpeg) supplied with the library allows to convert dicom files to jpeg or movies.

Click here to download Imebra

Main features

  • Multi platform.
  • The source code can be compiled on Windows, Linux, Max OS X
  • Full source code
    The full source code and the documentation are available under the Free BSD
    The source code is well commented and can be easily extended.
  • Self contained
    The library needs only the STL and ICONV libraries. On Windows ICONV is not required
  • Dicom3 file parser and builder
    The library can parse Dicom3 and old NEMA streams and can build Dicom3 streams.
  • Jpeg file parser and builder
    Imebra can parse and build Jpeg streams. When a Jpeg stream is loaded it is automatically converted into an in-memory Dicom stream. The opposite operation is performed  when a stream needs to be saved
  • Image compression and decompression in the following formats:
    • jpeg baseline (8 bits per color channel lossy)
    • jpeg baseline extended (12 bits per color channel lossy)
    • jpeg lossless (up to 16 bits per color channel lossless)
    • raw dicom (up to 16 bits per color channel lossless)
    • rle dicom (up to 16 bits per color channel lossless)
  • Color space conversion
    The library supplies the transform classes that perform the color conversion, VOI/LUT calculation and high bit shift
  • Support for nested datasets (sequences)
    Nested datasets are used to contain several frames, color palettes or DICOMDIR data. Imebra fully supports nested datasets.
  • Support for Unicode and different Dicom charsets
    Imebra fully supports Unicode and the multiple charsets supported by the Dicom3 standard. The application doesn’t need to know about the Dicom charsets: Imebra transforms the Unicode strings to the Dicom charsets and viceversa.
  • Support for transactions
    When your application fails while it is modifying a collection of tags then it can leave the dataset in an unconsistent state.
    Imebra prevents this by introducing the transaction: if one of the modifications fails inside the transaction, then all the modifications performed in the same transaction are rolled back.
    Imebra supports nested transactions.
  • Load on demand
  • Larger tags can be loaded from the original stream only when they are needed. This process is transparent to the application, which can decide the minimum size of the tags that will be loaded on demand.
  • Imebra automatically decides if a tag has to stay in memory (for instance because the application wants to change its content).
  • This feature improves significantly the performances when a dataset with several images is loaded.

Mercurial (Hg) access

All the source code is available and released under the Free BSD license.

You can clone the public HG repository from http://bitbucket.org/puntoexe/imebra/
The HG repository may contain newer code than the release, but may be broken.

Donations

The development of Imebra takes time and a big effort.

You can help the developer by donating money or items from the Amazon wish list, or  simply by dropping him a message.

Click here to donate items from Amazon wish list

Click here to donate money via Paypal

Send a message

2 thoughts on “About

  1. How to get the lib files behind imebra.I got the header files during download not lib.The program must want the lib files.How it get?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>