|
Download the GPL version of Imebra
Click here to buy the Imebra Commercial License (499 USD).
Visit the Imebra's website
Imebra is a multiplatform open source C++ Dicom library from Puntoexe.
The full source code, examples and documentation are freely available under the Affero GPL 3 license. A commercial license that allows to include IMEBRA and the examples in commercial application is available. Note: Both the AGPL3 license and the Commercial license are available in the documentation distributed with the library. The AGPL3 and the commercial source files are identical. 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), features that can be found only in high end and expensive libraries. All the library's source code is available. A sample application (dicom2jpeg) supplied with the library allows to convert dicom files to jpeg or movies. Imebra and the sample applications is released under a dual-licensing scheme: - the Affero GPL license (version 3)
- a commercial license
Main features Multi platform.
The source code can be compiled on Windows, Linux, Max OS X and Pocket PC Full source codeThe full source code and the documentation are available under the GPL license or a commercial license. 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)
All the formats are supported both in compression and decompression mode 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. Planned features Other features have been planned but have not been included in this release. The missed features are the following: - support for dicom objects (like patient, procedure, image, and so on)
- network support for communication between Dicom devices
The library can be downloaded from the Downloads section
Mercurial (Hg) accessAll the source code is available and released under the Affero GPL license version 3. 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. When your application is not licensed under the GPL-compatible Free Software License as defined by the Free Software Foundation then you must obtain an Imebra Commercial License from Puntoexe. The Imebra Commercial License costs 499USD. Click here to buy the Imebra Commercial License. Imebra Commercial License Version 1 Definitions The Imebra Commercial License will be referred to as "The license" in the remainder of this text. The Imebra Library will be referred to as "Imebra". The software based on Imebra and developed by the license holder will be referred to as "The product". Version This license covers all versions 0.xx.xx and 1.xx.xx of Imebra. License grant - This license allows the usage of Imebra by an unlimited number of developers on an unlimited number of CPUs for the development of one major version of one product.
- This license allows the distribution of an unlimited numbed of copies of one major version of the product based on Imebra.
- The product based on Imebra must add significant and primary functionality to the functionalities provided by Imebra.
- The license holder is allowed to make modifications to the Imebra source code but in no event will the original copyright holders of this library be held responsible for action or actions resulting from any modifications of the source.
- The license holder is not required to publicize or otherwise make available any software used in conjunction with Imebra.
- In no event shall the copyright notice in any of the source files supplied in Imebra be removed or modified.
Redistributables The Imebra's source code cannot be redistributed; the Imebra library can be redistributed only in machine-executable form, statically or dinamically linked to the product developed by the license holder. Termination This license is effective until terminated. You may terminate it at any point by destroying the Imebra source code together with all copies Imebra. Also, Puntoexe has the option to terminate if you fail to comply with any term or conditions of this Agreement. You agree upon such termination to destroy Imebra together with all copies of the Imebra. Rental You cannot rent, lease or lend Imebra. Copyright
The software is protected by copyright law and international treaty provisions. You acknowledge that no title to the intellectual property in the Imebra is transferred to you. You further acknowledge that title and full ownership rights to the Imebra will remain the exclusive property of Puntoexe or its suppliers, and you will not acquire any rights to the Imebra library except as expressly set forth in this license. You agree that any copies of Imebra will contain the same proprietary notices which appear on and in the Imebra distribution. Limitations of Liability In no event shall the initial developers or copyright holders be liable for any damages whatsoever, including - but not restricted to - lost revenue or profits or other direct, indirect, special, incidental or consequential damages, even if they have been advised of the possibility of such damages, except to the extent invariable law, if any, provides otherwise. FAIL-SAFE PERFORMANCE
Imebra IS NOT DESIGNED, MANUFACTURED OR INTENDED FOR USE OR RESALE AS ONLINE CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATIONS SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF Imebra COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE. Severability In the event of invalidity of any provision of this license, the parties agree that such invalidity shall not affect the validity of the remaining portions of this license. Governing law This license will be governed by the laws of Italy and is subject to the exclusive jurisdiction of the Italy courts. Entire agreement This is the entire agreement between you and Puntoexe which supersedes any prior agreement or understanding, whether written or oral, relating to the subject matter of this license. |