Tags give the ability to mark specific points in history as being important
  • v3.0.0   Release 3.0.0
    Release v3.0.0

    Announcement: iMSTK 3.0.0

    This release features major improvements to the computational workflow, physics, and rendering aspects of the toolkit. Major refactoring and bug fixes were made across the board to allow easy extension of classes, improve clarity and separation of roles of different imstk libraries and enforce consistency of design across the toolkit.

    Here is a comprehensive list of changes made for this release.

    New Features

    • Introduction of configurable task-graph and task-based parallelism.
    • Major upgrade to the rendering module (VTK backend)
      • Upgrade to VTK 9.0
      • Realistic fluid rendering using screen space fluids
      • Faster particular rendering of fluids
      • Addition of physically based rendering
    • Addition of 3D image support and volume rendering
    • Improved physics models for particle based dynamics: Addition of extended position based dynamics (xPBD)
    • Addition of support for modeling 1D elastic structures with bending stiffness
    • Addition of faster reduced order deformation models (Linux only)
    • Addition of Reverse Cuthill–McKee algorithm (RCM) for mesh renumbering
    • Major refactoring simulation manager: Improved time stepping policies, multiple scene management and scene controls, addition of async simulation mode
    • Improved capabilities of the geometric utility module: addition of geometric processing filters, New tetrahedral mesh cover generation (based on ray-casting)

    Improvements or Refactoring

    • Upgrade external dependency from Vega 2.0 to 4.0 (finite element library backend)
    • Clear majority of the warnings in imstk libraries
    • Refactored examples: consistent naming, factoring out object addition into separate functions, use heart dataset, remove redundant mapping, Removed line mesh example
    • New examples for scene management, volume rendering, task graph
    • Renamed files to be consistent with class names
    • Vulkan shader project removed for VTK backend
    • Remove imstkVolumetricMesh dependency on vega volumetric mesh
    • Easy configuration of finite element deformable object, viewer, renderer and simulation manager
    • Concrete dynamcal models now derive from AbstractDynamicalModel
    • Solvers are moved to models from scene
    • Added default solvers for models
    • SPHSolver is removed
    • SceneObject class now has update calls
    • DynamicalObject de-templatized
    • Fix render window default title to imstk
    • Replace external project download links with .zip versions
    • Uses CHECK() instead of LOF(FATAL)/LOG_IF(FATAL) for simplicity
    • imstkLogger is now a singleton
    • Allow exclusion of files while building library targets
    • Refactoring to use forward declarations where possible
    • Templated solvers with matrix type
    • Faster TetraToTriangle map
    • Interactions are now specified explicitly
    • PbdConstraints moved to Constraints library, PbdConstraints and PbdModel decoupled
    • PbdModel performance improvements
    • SPHModel performance improvements (using TaskGraph)

    Bug Fixes

    • Fix PhysX backend build issues on Ubuntu
    • Fix imstkFind.cmake issues
    • Fix imstkConfig.cmake issues
    • PbdModel reset fix
    • All Scene, SceneObjects reset correctly now

    API Changes

    • simulationManager::startSimulation() to simulationManager::start()
    • CollisionGraph::addInteraction(std::shared_ptr, std::shared_ptr, CollisionDetection::Type, CollisionHandling::Type, CollisionHandling::Type) to CollisionGraph::addInteraction(std::shared_ptr())
    • DynamicalModels now have default solvers

    For more information about imstk, please visit our website: http://www.imstk.org/


    Venkata Sreekanth Arikatla, Andrew Wilson, Jianfeng Yan, Aaron Bray, Sankhesh Jhaveri, Johan Andruejol

  • v2.0.0   Release 2.0.0
    Release v2.0.0

    Release 2.0.0

    Announcement: iMSTK 2.0.0

    This release adds major features for the physics and rendering modules. Parallel support is also added. Major improvements to the CMake build and install steps have been implemented. Many modules have been refactored for clarity and to reduce redundancy.

    For more information, visit our website: http://www.imstk.org/

    New Features

    • Rigid body dynamics with Physx backend
    • Debug rendering support
    • Octree-based collision detection
    • Multithreading support (using Intel TBB)
    • Smoothed Particle Dynamics for fluids
    • Customizable on-screen text
    • New simulation modes for simulation manager to allow flexibility
    • VR support for Vulkan backend
    • Particle systems for visual effects
    • Lens distortion for use in VR (Vulkan backend)
    • Vulkan renderer compressed texture support

    Improvements or Refactoring

    • Improved CMake build and install
    • Enable compiler flags to report W4-level warnings
    • Remove cyclic dependencies between modules
    • Add color to stdout on windows
    • Refactored Position based dynamics classes
    • Refactor rendering specification using a visual model
    • Modifications to the code formatting rules
    • Refactor geometry mapping classes
    • Remove unused files and classes
    • Disable building tests for external dependencies
    • Update the VRPN to the latest to fix Linux build
    • Update VTK backend to 8.2.0
    • Remove ODE external library

    Bug Fixes

    • Fix undefined behaviour of PBDModelConfig
    • Use vtkPolyData instead of vtkPolyLine for VTKdbgLinesRenderDelegate
    • Fix compilation with BUILD_EXAMPLES Off

    Contributors for this release

    Venkata Sreekanth Arikatla, Nghia Truong, Nicholas Boris Milef, Aaron Bray, Ruiliang Gao, Johan Andruejol

  • v1.0.0   Release 1.0.0
    Release v1.0.0

    Announcement: iMSTK 1.0.0

    We are introducing Interactive Medical Simulation Toolkit (iMSTK)-a free & open source software toolkit written in C++ that aids rapid prototyping of interactive multi-modal surgical simulations.

    For more information, visit our website



    • Cross-platform build
    • CMake automated superbuild
    • Test infrastructure (via google test)
    • Continuous Integration
    • Scene and simulation management
    • Vulkan and VTK rendering backends
    • Advanced rendering: Physically based rendering, Subsurface scattering, Decals, Shadows,
    • Graphical overlays (Vulkan backend only)
    • Standard user controls (pause, run, exit, pan-zoom-rotate)
    • SteamVR support including (Oculus, HTC Vive (VTK backend only)
    • Finite elements (linear, co-rotational, non-linear formulations)
    • Position based dynamics
    • Penalty and constraint-based collision handling
    • Linear solvers: Direct and Iterative matrix solvers
    • Non-linear Newton solver
    • Collision detection (CCD, Spatial hash based collision, narrow phase queries)
    • External device support (VRPN)
    • Support for standard mesh input formats (.obj, .dae, .fbx., .stl, .vtk, .vtu, etc.)
    • Asynchronous logging (using g3log)
    • Audio support
    • Haptic rendering (OpenHaptics)

    Contributors for this release

    Venkata Sreekanth Arikatla, Alexis Girault, Nicholas Boris Milef, Ricardo Ortiz, Thien Nguyen, Rachel Clipp, Mohit Tyagi, Samantha Horvath, Jean-Baptiste Vimort, Sean Radigan, David Thompson, Dženan Zukić, Mayeul Chassagnard, Tansel Halic, Hina Shah, Andinet Enquobahrie, Hong Li, Shusil Dangi