Skip to content

Add MZ3 surface file format #1065

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
effigies opened this issue Nov 16, 2021 · 3 comments
Closed

Add MZ3 surface file format #1065

effigies opened this issue Nov 16, 2021 · 3 comments

Comments

@effigies
Copy link
Member

Via @neurolabusc:

you may want to consider handling the mz3 format, the page includes Python, Blender, JavaScript code as well as a full specification and examples datasets. It attempts to live at the Pareto frontier of file size and speed. It is both faster and smaller than GIfTI. The layout design maps directly onto modern GPU architectures (and hence WebGL, Metal and Vulkan APIs). I developed this primarily for the sample files distributed with Surfice, to reduce download times, disk usage and the time to run the demos / regression testing. It is intentionally simple, and does not have the flexibility of other formats. It does not attempt to do everything, but it can fill a niche.

@neurolabusc
Copy link

neurolabusc commented Nov 16, 2021

I forgot to mention Matlab code is provided. @gllmflndn contributed to the code and specification, and thanks to him it is supported by spm12 and PALM.

Relative size and speed for several mesh formats is here.

@neurolabusc
Copy link

@effigies I would suggest we close this issue. While mz3 is supported by Surfice, SPM and PALM, it was really designed to be an internal format so that the Surfice distribution size would be small and the demos would run very quickly. It did not have community input in development.

You can find Python (as well as Matlab and JavaScript) implementations and benchmarks for mz3, GIfTI, obj, STL, jmsh, bmsh. In brief, the mz3 and bmsh formats are virtually identical in terms of file size and speed. Both are on the Pareto frontier on these measures. While I created mz3, I would advocate that bmsh is better suited for the community as it is extensible and actively maintained by @fangq.

@effigies
Copy link
Member Author

Thanks, Chris. That sounds reasonable to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants