nuǝW pǝuoᴉʇᴉsoԀ ʎlǝʌᴉʇɐƃǝN


    10.0.0 • Public • Published

    The X Toolkit: WebGL™ for Scientific Visualization

    • XTK is easy, lightweight and fast !
    • Native reading of a variety of scientific file formats (see File formats)
    • Volume rendering, thresholding and cross-sectional slicing of 3d image data
    • Label maps, color tables and surface overlays are supported, as well as Constructive Solid Geometry
    • CDash + Google Closure driven build and test system


          Knee Atlas
          Fiber Atlas
          Brain Atlas


    lesson00 Lesson 00: Hello cube!
    The most simple XTK lesson displays a white cube.
    lesson01 Lesson 01: Skin the cube and rotate it!
    This one adds a texture to the cube and activates spinning.
    lesson02 Lesson 02: Constructive Solid Geometry is fun!
    Mesh primitives can be combined using boolean operations.
    lesson03 Lesson 03: We need more cubes!
    One thousand objects are rendered in a single scene.
    lesson04 Lesson 04: The magic Porsche!
    This lesson loads a mesh from a .STL file and shows off the magic mode.
    lesson05 Lesson 05: Give me skull, baby!
    A visualization of a mesh loaded from a .VTK file.
    lesson06 Lesson 06: Connectivity!
    Load and render brain fibers from a .TRK file.
    lesson07 Lesson 07: One renderer is not enough!
    Here multiple 3D renderers are showing the same object with different camera positions.
    lesson08 Lesson 08: Surf free!
    Loading freesurfer meshes and brain fibers at the same time.
    lesson09 Lesson 09: Points to Spheres!
    Point data is loaded from a .VTK file and each point is displayed as a sphere.
    lesson10 Lesson 10: Slice it!
    Load a .NRRD single-file DICOM volume and a segmentation mesh from a .VTK file.
    lesson11 Lesson 11: Slice it with colors!
    This one loads a .NRRD single-file DICOM volume and the corresponding segmentation as a label map colorized using a color lookup-table.
    lesson12 Lesson 12: Curvature!
    Here we load a freesurfer mesh (.SMOOTHWM) and different curvature (.CRV) values as an overlay.
    lesson13 Lesson 13: I want 2D!
    This lesson links three 2D renderers to one 3D renderer and loads a .NRRD single-file DICOM and a label map.
    lesson14 Lesson 14: Is it a cube?
    Zoom in to see the particles and some great effects!
    lesson15 Lesson 15: D-I-C-O-M!
    Here we visualize a brain MR scan read from DICOM files.
    lesson16 Lesson 16: 10 PRINT 3D
    A 3D version of the excellent 10 PRINT pattern showcasing advanced XTK object generation.
    lesson17 Lesson 17: (RE)Slice it!
    New arbitrary reslicing capabilities. Everything is happening in Real Time!
    Leap Motion Ready!


    Get it right here: xtk.js or include it like this:

    <script type="text/javascript" src=""></script>


    npm install xtk
    # or 
    yarn add xtk
    import 'xtk';
    // window.X is now available

    Example Usage

    // create a new 3d renderer
    var r = new X.renderer3D();
    // create a mesh from a .vtk file
    var skull = new X.mesh();
    skull.file = 'skull.vtk';
    // add the object
    // .. and render it

    Check out the live version!

    API Documentation

    The full documentation of the API is available here.

    More information... available at Project X, the X Toolkit wiki system.

    Need help?

    We use for user support. Please ask and tag ([xtk]) your question there!


    Yes, please! See the Developer's Heads Up and the X:Future page.


    Copyright (c) 2012 The X Toolkit Developers <>

    The X Toolkit (XTK) is licensed under the MIT License:


    • Hähn D, Rannou N, Ahtam B, Grant PE, Pienaar R: Neuroimaging in the Browser using the X Toolkit. NeuroInformatics, September 2012. Abstract and Poster.
    • more..

    Affiliations and Sponsors

    Boston Children's Hospital Boston      Harvard Medical School


    npm i xtk

    DownloadsWeekly Downloads






    Last publish


    • kamilkisiela