======= Soma IO ======= A reimplementation of the former AIMS IO system, more generic, with a data-structure-independent API. :somaiodox:`C++ doc ` Soma-IO relies on :cartobdox:`Carto base `: C++ general usage library. Soma-IO has specializations, or implementations for specific data structures, like volumes etc, in :cartoddox:`Carto Data `, and may have in other libraries in the future. Such specializations are generally available through :somaiodox:`plugins `. See also the :somaiodox:`C++ docs for the IO system ` IO system URLs ============== Options may be passed to the IO system through URL-like extensions to file names. The general syntax is similar to HTML requests: :: filename?option=x&other_option=y All software using the Soma-IO system support such syntax. For instance you may run Anatomist to read a part of an image: :: anatomist my_mri.nii?ox=70&sx=100&oy=70&sy=150&oz=30&sz=100 The support for such options may depend on specific formats IO implementations. Some are generic to a data type (3D/4D volumes for instance), but may or may not be supported in a specific format. Volume options -------------- .. raw:: html
Option Type Explanation
ox, oy, oz, ot int Partial reading / writing origin in the volume on disk: correspond to the number of voxels to skip in x, y, z, t directions. x, y, z orientation is the coordinates system used in Soma-IO, currently fixed to the AIMS one (x: right->left, y: anterior->posterior, z: top->bottom). t is the time (4th) dimension.
Note that for writing, partial IO must be enabled through the "partial_writing" option.
sx, sy, sz, st int Partial reading / writing size of the volume to read, in voxels, in the same orientation as ox, oy, oz, ot.
partial_reading bool (int) Enable partial reading. Enabled by default
partial_writing bool (int) Enable partial writing in an existing, already allocated file.
resolution_level int For formats allowing multi-resolution images, such as OpenSlide, this parameter specifies the resolution level to be read.
.. toctree::