- Pyvox Home
- Design Goals
- How to Contribute
Pyvox is designed to work directly with multi-dimensional image data (up to 8 dimensions) in signed integer, unsigned integer, real floating point, and complex floating point formats from 1 to 16 bytes long. Currently supported operations on such arrays include:
- Reading or writing image files in all supported formats, both big and little endian. For data portability, external files are always written in some specified external format (e.g. big-endian 2-byte two's complement integer or big-endian 4-byte IEEE 754 float), and converted to or from the native format as necessary.
- Image arithmetic, including boolean operators, comparison, transcedental functions, table lookup, and min/max.
- Image resampling to new coordinate systems.
- The morphological operations erode and dilate.
- Univariate and bivariate histograms.
- K-means and nearest neighbor classification.
- Object extraction, where an object is defined as a maximal connected set of voxels.
- Convolution and linear filtering.
- A basic set of matrix operations.
- Fast Fourier transforms.
- Interactive image viewing along any coordinate axis with intensity windowing and selection of data format (which is also useful for determining the format of a unknown image file).
- Interactive and automated image registration.
- Interactive modification of images, especially for manual correction of not-quite-correct automatically masked and segmented images.
- Interactive editing of ROI maps.
Additional capabilities will be added as determined by the needs of Pyvox users. Some areas that are currently under consideration include:
- Improved masking and segmentation algorithms, including handling of shading and partial volume effects.
- Tools for validating brain masking and segmentation algorithms.