Showing revision 4.5

  • MCX/MMC Suite - GPU-accelerated photon transport simulation platform

    Monte Carlo eXtreme, or MCX, is an open-source Monte Carlo (MC) photon simulator for modeling light transport in 3D turbid media. The MCX/MMC Suite also contains mesh-based Monte Carlo (MMC) - an anatomically accurate 3D Monte Carlo (MC) simulator that can use a tetrahedral mesh to represent extremely complex tissue structures.

    Both MCX and MMC supports graphics processing units (GPUs) and are capable of simulating thousands of photons simultaneously, making them among the fastest and most accurate photon modeling tools. Since their initial releases, the MCX Suite has become one of the most widely disseminated biophotonics modeling platforms, well-known for its high accuracy, high speed and versatility, as attested to by its over 27,000 downloads and nearly 1,000 citations from a large (2,400 registered users) world-wide user community. This rapidly expanding user community presents a diverse set of demands and a wide range of applications in the form of continuously evolving complex imaging domains and modalities. We are dedicated to serving this active and growing research community, and draw strong motivation from our extensive interactions with users, aiming to further expand the breadth, complexity, and efficiency of our simulation platform.

    The development of MCX/MMC simulation platform is funded by the NIH/NIGMS under grant R01-GM114365.

    Website http://mcx.space
    Wiki http://mcx.space/wiki
    Source code http://github.com/mcextreme
    User forum https://groups.google.com/g/mcx-users
    Download http://mcx.space/wiki/?Get
    Citation http://mcx.space/wiki/?Citation

  • Iso2Mesh - 3D image based mesh generation toolbox

    "Iso2Mesh" is a MATLAB/Octave-based mesh generation toolbox, designed for easy creation of high quality surface and tetrahedral meshes from 3D volumetric images. It contains over 200 mesh processing scripts/programs, working either independently or interacting with external free meshing utilities. Iso2Mesh toolbox can directly convert a 3D image stack, including binary, segmented or gray-scale images such as MRI or CT scans, into quality volumetric meshes. This makes it particularly suitable for multi-modality medical imaging data analysis and multi-physics modeling. Above all, iso2mesh is open-source. You can download it for free. You are also allowed to extend the toolbox for your own research and share with other users. Iso2Mesh is cross-platform and is compatible with both MATLAB and GNU Octave (a free MATLAB clone).

    Between 2009 and 2020, Iso2Mesh has been cited over 620 times, with over 4,500 registered users worldwide, and an accumulative download over 40,000.

    The details of this toolbox can be found in the following papers (citing the first paper is highly encouraged):

    1. - Anh Phong Tran, Shijie Yan and Qianqian Fang*, (2020) "Improving model-based fNIRS analysis using mesh-based anatomical and light-transport models," Neurophotonics, 7(1), 015008
    2. - Qianqian Fang and David Boas, "Tetrahedral mesh generation from volumetric binary and gray-scale images," Proceedings of IEEE International Symposium on Biomedical Imaging (ISBI 2009), pp. 1142-1145, 2009

    Website http://iso2mesh.sf.net
    Wiki http://iso2mesh.sf.net
    Source code http://github.com/fangq/iso2mesh
    User forum https://groups.google.com/g/iso2mesh-users
    Download http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?Download
    Documentation http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?Doc

    Iso2Mesh Suite

    Currently, Iso2Mesh and its submodules are broadly distributed among popular open-source MATLAB toolboxes, especially among major neuroimaging tools, including

    1. - Fieldtrip (http://www.fieldtriptoolbox.org) [iso2mesh/jsonlab]
    2. - BrainStorm (https://neuroimage.usc.edu/brainstorm) [iso2mesh/brain2mesh/easyh5]
    3. - Lead-DBS (http://www.lead-dbs.org) [iso2mesh]
    4. - ROAST (https://www.parralab.org/roast) [iso2mesh]
    5. - HOMER2 (https://github.com/BUNPC/AtlasViewer) [iso2mesh/metch]
    6. - REST (https://github.com/goodshawn12/REST) [iso2mesh]

  • JSONLab - MATLAB JSON/UBJSON/MassagePack encoder/decoder

    JSONLab is a free and open-source JSON/UBJSON/MessagePack encoder and decoder written in the native MATLAB language. It can be used to convert a MATLAB data structure (array, struct, cell, struct array, cell array, and objects) into JSON/UBJSON/MessagePack formatted strings and files, or to parse a JSON/UBJSON/MessagePack file into MATLAB data structure. JSONLab supports both MATLAB and GNU Octave (a free MATLAB clone).

    JSON (JavaScript Object Notation) is a highly portable, human-readable and "fat-free" text format to represent complex and hierarchical data, widely used for data-exchange in applications. UBJSON (Universal Binary JSON) is a binary JSON format, specifically designed to specifically address the limitations of JSON, permitting efficient storage of binary data with strongly typed data records, resulting in smaller file sizes and fast encoding and decoding. MessagePack is another binary JSON-like data format widely used in data exchange in web/native applications. It is slightly more compact than UBJSON, but is not directly readable compared to UBJSON.

    We envision that both JSON and its binary counterparts will play important rules not only for light-weight data storage, but also for storage and interchange of scientific data. It has both the flexibility and generality as in other general-purpose file specifications, such as HDF5 but has significantly reduced complexity and excellent readability.

    Towards this goal, we have developed the JData Specification (http://github.com/fangq/jdata) to standardize serializations of complex scientific data structures, such as N-D arrays, sparse/complex-valued arrays, trees, maps, tables and graphs using JSON/binary JSON constructs. The text and binary formatted JData files are syntactically compatible with JSON/UBJSON formats, and can be readily parsed using existing JSON and UBJSON parsers. JSONLab is not just a parser and writer of JSON/UBJSON data files, but one that systematically converts complex scientific data structures into human-readable and universally supported JSON forms using the standardized JData data annotations.

    Website http://openjdata.org/jsonlab
    Wiki http://iso2mesh.sf.net
    Source code https://github.com/fangq/jsonlab
    User forum https://groups.google.com/g/iso2mesh-users
    Download http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?jsonlab/Download
    Documentation http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?jsonlab/Doc

  • OpenJData - Future-proof scientific data format

    OpenJData is a set of open data-standards based on JSON/binary JSON formats. They are self-documenting, highly extensible, versatile, lighweight and easy-to-implement.

    JData is a general-purpose data interchange format aimed for portability, readability and simplicity. It utilizes the JavaScript Object Notation (JSON) [RFC 4627] and Universal Binary JSON (UBJSON) specifications to store complex hierarchical data in both text and binary formats. In this specification, we define a list of JSON-compatible constructs to store a wide range of data structures, including scalars, arrays, structures, tables, hashes, linked lists, trees and graphs, and support optional data grouping and metadata for each data element. The generated data files are compatible with JSON/UBJSON specifications and can be readily processed by most existing parsers. Advanced features such as array compression, data linking and anchoring are supported to greatly enhance portability and scalability of the generated data files.

    Website http://openjdata.org
    Wiki http://openjdata.org/wiki
    Source code https://github.com/OpenJData
    User forum https://groups.google.com/g/openjd-users
    Download http://openjdata.org/wiki/#code
    Documentation http://openjdata.org/wiki
  • Brain2mesh - One-liner brain mesh generator

    The Brain2Mesh toolbox provides a streamlined matlab function to convert a segmented brain volumes and surfaces into a high-quality multi-layered tetrahedral brain/full head mesh. Typical inputs include segmentation outputs from SPM, FreeSurfer, FSL etc. This tool does not handle the segmentation of MRI scans, but examples of how commonly encountered segmented datasets can be used to create meshes can be found in the package named brain2mesh-demos.

    The details of this toolbox can be found in the following paper:

    1. Anh Phong Tran, Shijie Yan and Qianqian Fang*, (2020) "Improving model-based fNIRS analysis using mesh-based anatomical and light-transport models," Neurophotonics, 7(1), 015008

    Website http://mcx.space/brain2mesh
    Source code https://github.com/fangq/brain2mesh
    User forum https://groups.google.com/g/iso2mesh-users
    Download https://github.com/fangq/brain2mesh/releases/tag/v0.7.9
    Brain mesh library https://github.com/OpenJData/BrainMeshLibrary

  • MCX/MMC Suite
  • Iso2Mesh
  • JSONLab
  • OpenJData
  • Brain2Mesh
Powered by Habitat