IOFormat
IOF_v0.33.0_release
|
IOFormat functionalities, for now, and for the future.
What is available in IOFormat for now...
As far, IOFormat only allows to load images (or set of Images).
IOFormat contains a base of plugins to handle the most current formats.
Here is the list of supported formats and extensions for reading:
Format | input |
---|---|
PNG (.png) | any stream |
MRC (.mrc) | any stream |
JPEG (.jpg/.jpeg) | any stream |
JPEG2K (.jp2/.j2k/.jpc/.j2c) | any stream |
JPEG3D (.jp3d) | file path |
Tiff (.tiff/.tif) [^1] | any stream |
Dicom (.dcm) | any stream |
BMP (.bmp) | any stream |
PGX (.pgx) | file path |
PPM (.ppm) | file path |
SUN (.ras/.sun) | file path |
GATAN (.dm2/.dm3/.dm4) | file path |
RAW (.raw) | any stream |
LDM (.lda/.ldm) | any stream (with limitations)[^2] |
AmiraMesh (.am) | any stream |
[^1]: Tiff native reader may falllback to ImageAccess implementation if some feature is not supported by the native implementation.
[^2]: LDM format is not adapted for streaming because of its multifile structure. It only works if .ldm file contains an URI toward internal .dat file.
Here is the list of supported formats and extensions for writing:
Format | Output Type |
---|---|
PNG (.png) | Stream |
MRC (.mrc) | Stream |
JPEG (.jpg/.jpeg) | Stream |
RAW (.raw) | Stream |
TIFF (.tiff) | Stream |
JPEG2K (.jp2) | Stream |
Customer is free to implement its own extractor/writer to handle any other format. See Plugin System chapter for more details.
If you look for more informations about IOFormat plugins, you should consult Plugins chapter.
Not threadsafe yet
IOFormat is available for following compilers:
IOFormat is wrapped for:
Here is a array which gives all compatibility for handled languages:
Compilers | C++ | .NET Standard 2.0 | Python |
---|---|---|---|
MSVC 14 | X | ||
MSVC 15 | X | X[^1] | 3.6, 3.7, 3.8 |
Apple Clang 9.1 | X | ||
RHEL 7 gcc 4.8 | X | X | |
RHEL 8 gcc 8 | X | X | |
Ubuntu 18.04 gcc 7 | X | X | 3.6 |
Ubuntu 20.04 gcc 9 | X | X | 3.8 |
[^1]: Some limitations in .NET Core 2.1:
What should be available in IOFormat soon...
IOFormat could be able to load sounds, meshes, measures, pdf, ...
IOLink could be used in multi-threaded environments.
Wrapping for JAVA is considered but not planned yet.