This code is an update of Dave Johnson's original decodeOBJ. It reads Analyze (TM) object (.obj) files, which store voxel data in a compressed format, and returns a MATLAB array of the uncompressed data and structure header of all the fields.
The main differences to the original code are:
(i) reads Version 7 object files (and should also read Version 6).
(ii) supports multiple volumes.
(iii) should support 4D objects but this is untested.
(iv) uses connected component analysis to merge connected ROIs across slices.
(v) returns the object map as an int16 array and sets datatype and bitpix in the header structure to Analyze/NIfTI appropriate values.
This function was tested on R2017a but should work in earlier versions.
The Image Processing Toolbox is only required for the connected component analysis using bwconncomp.
Bill Crum (2020). decodeOBJ3(file) (https://www.mathworks.com/matlabcentral/fileexchange/62963-decodeobj3-file), MATLAB Central File Exchange. Retrieved .