Larvitar
Dicom Image Toolkit for CornerstoneJS
Current version: 2.2.1
Latest Published Release: 2.2.1
This library provides common DICOM functionalities to be used in web-applications: it's wrapper that simplifies the use of cornerstone-js environment.
Features:
- Orthogonal multiplanar reformat with contours generations
- Custom loader/exporter for nrrd files
- Segmentation masks support
- Memory management
- Support all dicom modalities
- 4D Cine support
- Anonymization functionalities
- Cine tools and ECG Parsing
- Masks management
Full documentation and examples are available at http://www.dvisionlab.com/Larvitar/.
Typescript
Types can be imported from larvitar/imaging/types
or larvitar/imaging/tools/types
.
import { Series } from "larvitar/imaging/types";
let newSerie: Series;
Dependencies
cornerstone
cornerstone-tools
dicomParser
DICOMImageLoader
webImageLoader
fileImageLoader
lodash
pako
papaparse
Installation
yarn add larvitar
Build package
yarn build
Coverage
Use yarn coverage
to generate type coverage report.
Development
Use yarn dev
to have webpack
hot-reload (live recompiling the library).
In order to test functionalities you can serve the .html file with VSCode extension LiveServer or other similar tools.
Once you are done, upgrade the version (README and package.json) and build the library. Docs will be compiled by the Github action.
Repository structure
index
main filedataDictionary
json file for dicom tagsimageAnonymization
provides anonymization functionalitiesimageColormaps
provides color maps functionalitiesimageContours
using to populate cornerstone tool for segmentation contours on 2D imagesimageIo
import a dicom image in .nrrd format and build contiguous array for exporting data as volumeimageLayers
provide support for multi-layer cornerstone fusion rendererimageLoading
initialize loader and custom loadersimageParsing
parse dicom files and return a cornerstone data structure ready to be used for renderingimagePresets
provides default image CT presets and set functionalityimageRendering
provides rendering functionalitiesimageReslice
provides reslice functionalitiesimageStore
provides data storage functionalities, vuex support is integratedimageTags
using to handle dicom tags and metadataimageTools
using to handle standard and custom cornerstone toolsimageUtils
utility functions on pixels and metadata tagsloaders/commonLoader
common functionalities for custom loadersloaders/dicomLoader
custom loader for DICOM files with support for multiplanar reformat (axial, sagittal and coronal planes)loaders/fileLoader
custom loader for png/jpg filesloaders/multiFrameLoader
custom loader for multiFrame dataloaders/nrrdLoader
custom loader for nrrd files with support for multiplanar reformat (axial, sagittal and coronal planes)loaders/resliceLoader
custom loader for resliced dataparsers/ecg
custom parser for ecg dataparsers/nrrd
custom parser for nrrd datatools/custom/4DSliceScrollTool
is a custom cornerstone tool for handling navigation of slices in a 4D DICOM seriestools/custom/contourTool
is a custom cornerstone tool for 2D visualization of segmented imagestools/custom/diameterTool
is a custom cornerstone tool for 2D visualization of diameter widgetstools/custom/editMaskTool
is a custom cornerstone tool for 2D visualization of segmentation masks with brush functionalitiestools/custom/EllipticalRoiOverlayTool
is a custom cornerstone tool for 2D visualization of elliptical widgetstools/custom/polygonSegmentationMixin
is a custom cornerstone tool for 2D visualization of polygonal widgetstools/custom/polylineScissorTool
is a custom cornerstone tool for 2D visualization of polyline widgetstools/custom/rectangleRoiOverlayTool
is a custom cornerstone tool for 2D visualization of rectangular widgetstools/custom/seedTool
is a custom cornerstone tool for 2D interactive seeding with custom colors and labelstools/custom/setLabelMap3D
tools/custom/thresholdsBrushTool
is a custom cornerstone tool for handling thresholds in a brush tooltools/default
default tools map and configurationtools/interaction
cornerstone interaction toolstools/io
import and export functionalities for toolstools/main
tools main functionalitiestools/state
tools state managementtools/segmentation
segmentation masks managementtools/strategies/eraseFreeHand
strategy for erasing freehand maskstools/strategies/fillFreeHand
strategy for filling freehand maskstools/strategies/index
strategies index
Contributors
- Simone Manini, D/Vision Lab
- Mattia Ronzoni, D/Vision Lab
- Sara Zanchi, D/Vision Lab
- Alessandro Re, D/Vision Lab
- Laura Borghesi, D/Vision Lab