Data formats review - Surface and surface-sampled data #3
Replies: 7 comments 11 replies
-
@ neurolabusc at March 26, 2022, 1:01pm Chris and I have a draft presentation available for viewing here. If anyone wishes to comment or modify this, contact me by email and I can provide editorial permissions. |
Beta Was this translation helpful? Give feedback.
-
@ ofgulban at March 28, 2022, 9:39am Hello, I am interested in joining this meeting as I work with several surface
I am not sure if I can contribute more than @ neurolabusc 's draft presentation, but I would be very interested to follow the discussion. I have filled in the availability form, hope it is enough to be included. Thanks, |
Beta Was this translation helpful? Give feedback.
-
@ glyg at March 29, 2022, 4:40pm Hi, Josh Moore mentioned this thread to me, so I allow my self to chime in. I mostly have experience on fluorescence microscopy images, and have also worked on meshes for epithelium models, in Python. I have started working on an implementation in Also maybe of interest in this topic meshio does a good job of unifying lots of formats in a single API. Before trying for PLY, I looked into OBJ and VRML --- the good point with OBJ is that it is very standard and not extensible, so a legal OBJ can be opened anywhere, this is not in general the case with PLY as it is permissive on the names of the mesh elements you can store. VRML is an old virtual reality XML standard, I haven't looked much further. Hope this helps, Guillaume |
Beta Was this translation helpful? Give feedback.
-
@ neurolabusc at March 30, 2022, 10:39pm OK. I thought the Caterva format looks like an interesting zarr-class library. In general, blosc has a lot of useful ideas for our field, with features like data-swizzling really improving compression performance. I still think these formats are a bit too complex and language specific for use as a NIfTI-style interchange format, but show great promise for internal storage (in the same way that mrtrix mif files use strides and other features internally, but support NIfTI for interchange). |
Beta Was this translation helpful? Give feedback.
-
@ neurolabusc at April 23, 2022, 11:26pm @ glyg after our discussion I did update the JavaScript benchmark to include PLY format. I would be interested to hear optimizations for any of these formats, these readers are used for NiiVue so performance gains can help real users. I optimized the reader to handle the special case where vertices only store position information as float32's - this allows block reading. I also added an optimization for the most common form of storing indices. In the table below As an aside, I also added the uncompressed GIfTI. An interesting feature of GIfTI is that uncompressed meshes are both slower and larger than compressed GIfTI. The penalty for the base64 encoding comes into play here. While JavaScript is a lot slower than native LLVM code, the relative performance of the different formats is the same.
|
Beta Was this translation helpful? Give feedback.
-
@ fangq at April 24, 2022, 4:55pm thanks again for the opportunity for me to present the JMesh formats last Friday. As a quick follow up, I just submitted a PR to mesh benchmark to include mesh Overall, the loading speed in Python shares a similar relative pattern as JavaScript and MATLAB as shown in the presentation, but generally speaking offers the best speed compared to JS and MATLAB -- with the exception that
The benchmark raw data and plots can be found here |
Beta Was this translation helpful? Give feedback.
-
@ ofgulban at April 27, 2022, 12:50pm @ neurolabusc, you have mentioned in the meeting that it might be possible to volunteer or suggest a topic for the next meetings. I would be interested to propose presenting and opening a discussion about some arguments on the surface visualizations from high resolution cortical imaging perspective. How should I proceed about this? |
Beta Was this translation helpful? Give feedback.
-
@ effigies at March 25, 2022, 3:02pm
Following up on the latest meeting where we went over NIfTI, MINC, AFNI's BRIK/HEAD and DICOM, there was a request to cover surface formats such as GIFTI and CIFTI-2.
I'd like to propose the following line up:
I'm happy to cover GIFTI and CIFTI-2 if I can't get someone more knowledgeable. My perspective on these is more based on the problems of associating meshes and mesh-sampled data (which are inefficient to bundle in many cases).
Beta Was this translation helpful? Give feedback.
All reactions