Main content

Home

Menu

Loading wiki pages...

View
Wiki Version:
**Introduction** This sample dataset and scripts are designed to evaluate [niimath][1], a clone of the popular [fslmaths][2]. This dataset can be used to evaluate different CPUs (e.g. [Apple ARM M1 vs x86-64][3]) or different compilers (e.g. Clang/LLVM, gcc, MSVC). A structural T1-weighted and resting state T2* series using the [HCP sequences][4] are provided. A batch script is provided to run some basic computations. Currently, these are simple mathematical operations that may not be ideal for determining compiler performance. For example, we have observed that untested [March Cubes][5] algorithms perform much better using Clang than either MSVC or gcc. **Results** Here is the geometric mean benchmark for different computers: - Windows 8250U (15w), Clang - 39.8s (86 1.24 42 560) - macOS i5-8259u (28w), Clang - 32.0s (58 0.836 42 513) - macOS M1 (~15w, passive cooling), Clang - 21.7s (33 0.76 22.0 401) The included image `bet.nii.gz` can be used to test the [conversion][6] of a voxel-based image to a triangulater mesh. Consider the call `niimath bet.nii.gz -mesh -v 1 bet.ply`. Here is the geometric mean (and times for pre-smooth, clustering, marching cubes and simplification in milliseconds: - Windows 8250U (15w), Clang - 167 (49, 206, 124, 625) - Windows 8250U (15w), MSVC - 174 (58, 182, 132, 665) - macOS i5-8259u (28w), Clang - ? - macOS M1 (~15w, passive cooling), Clang - 66 (16, 98, 51, 245) Compiled for clang/gcc using included make file. MSVC used: `cl /O2 -DFSLSTYLE -DPIGZ -DREJECT_COMPLEX -DNII2MESH niimath.c MarchingCubes.c meshify.c quadric.c base64.c radixsort.c bwlabel.c bw.c core.c tensor.c core32.c core64.c niftilib/nifti2_io.c znzlib/znzlib.c -I./niftilib -I./znzlib` [1]: https://github.com/rordenlab/niimath [2]: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Fslutils [3]: https://github.com/neurolabusc/AppleSiliconForNeuroimaging [4]: https://www.humanconnectome.org/hcp-protocols [5]: https://github.com/neurolabusc/nii2mesh [6]: https://github.com/neurolabusc/nii2mesh
OSF does not support the use of Internet Explorer. For optimal performance, please switch to another browser.
Accept
This website relies on cookies to help provide a better user experience. By clicking Accept or continuing to use the site, you agree. For more information, see our Privacy Policy and information on cookie use.
Accept
×

Start managing your projects on the OSF today.

Free and easy to use, the Open Science Framework supports the entire research lifecycle: planning, execution, reporting, archiving, and discovery.