The MLImageFormat is a specific file format designed for the MeVis Image processing Library (ML).

Its files have the suffix .mlimage, preferable in lower case letters.

It supports the following features:

  • Page wise/tiled image file access:
    • Read
    • Write
    • Modify
    • Newer versions (at least file format sources with version MLImageFormatVersion.000.001.000) also support reading/writing of pages reaching outside the image with reduced memory consumption.
  • Reading/writing all image properties of ML paged images including
    • ImageProperty extensions
    • Medical image properties such as world matrix, c-, t-, and u-dim information and voxel size
    • DICOM trees
  • Support of all standard and (user defined) registered voxel types used in the ML
  • Support of all 6 ML image dimensions
  • Support for user and default data compressors from the ML DataCompressorFactory for lossy and lossless image compression (see MLDataCompressors)
  • Support of user defined image tags
  • Support for image sizes >> 4GB even on 32 bit systems (see Processing Large Volumes in MeVisLab).
  • Inter-platform and CPU support (Linux/Windows, Little/Big endian)
  • SDK classes for programmers in the MLImageFormat project (see ToolBoxReference/mlImageFormatPage):
    • MLImageFormat
    • MLImageFormatInfos
    • MLImageFormatTag
    • MLImageFormatTagList
    • MLImageFormatTools

and ML module classes as public sources:

and in the ML*DataCompressor projects for data compression (see ToolBoxReference/MLDataCompressorPage):

  • MLDataCompressor
  • MLDataCompressorFactory
  • MLBZip2DataCompressor
  • MLZLFDataCompressor
  • MLZL4DataCompressor
  • MLZLibDataCompressor

The default file format version is MLImageFormatVersion.000.000.000, the currently used one is MLImageFormatVersion.000.001.000. It is located at the start of all .mlimage files and can be used to identify the file format and its version. The nine zero/one digits can change in future, however, the length, the separating dots and the introducing MLImageFormatVersion string will not change.

Future MLImageFormat modules should always be able to read files with these two version numbers if all used compressors are available.

For more information see the documentation of the ML modules classes or the class documentation in the SDK.