The Vindr Lab Viewer is for viewing medical images. It can retrieve and load images from most sources and formats; render sets in 2D, 3D, and reconstructed representations; allows for the manipulation, annotation, and serialization of observations; supports internationalization, hotkeys, and many more features.
The VindrLab project consists of two parts. So let's clone and run both projects together.
- Vindr Lab Dashboard: To manage Projects, Study list, Label, setting, Export label,...
- Vindr Lab Viewer: For viewing medical images, labeling (bounding box, polygon, segment).
The Vindr Lab Viewer base on OHIF project. For more detail about configure, please read the documentation.
- Yarn 1.17.3+
- Node 10+
- Yarn Workspaces should be enabled on your machine:
yarn config set workspaces-experimental true
- Fork this repository
- Clone your forked repository
git clone https://github.com/YOUR-USERNAME/vindr-lab-viewer.git
- Navigate to the cloned project's directory
- Add this repo as a
remote
namedupstream
git remote add upstream https://github.com/vinbigdata-medical/vindr-lab-viewer.git
yarn install
to restore dependencies and link projectsyarn start
to run project.
Note: This project will be opened from the vindr-lab-dashboard project. So, let's clone and run it before running this project.
From this repository's root directory:
# Enable Yarn Workspaces
yarn config set workspaces-experimental true
# Restore dependencies
yarn install
These commands are available from the root directory. Each project directory
also supports a number of commands that can be found in their respective
README.md
and project.json
files.
Yarn Commands | Description |
---|---|
Develop | |
dev or start |
Default development experience for Viewer |
dev:project <package-name> |
Replace with core , ui , i18n , cornerstone , etc. |
test:unit |
Jest multi-project test runner; overall coverage |
Deploy | |
build * |
Builds production output for our PWA Viewer |
build:package * |
Builds production commonjs output for our Viewer |
build:package-all * |
Builds commonjs bundles for all projects |
The Medical Image Viewing Platform is maintained as a monorepo
.
This means that this repository, instead of containing a single project, contains many projects.
If you explore our project structure, you'll see the following:
.
├── extensions #
│ ├── _example # Skeleton of example extension
│ ├── cornerstone # 2D images w/ Cornerstone.js
│ ├── dicom-html # Structured Reports as HTML in viewport
│ ├── dicom-microscopy # Whole slide microscopy viewing
│ ├── dicom-pdf # View DICOM wrapped PDFs in viewport
│ └── vtk # 2D MPR
│
├── platform #
│ ├── core # Business Logic
│ ├── i18n # Internationalization Support
│ ├── ui # React component library
│ └── viewer # Connects platform and extension projects
│
├── ... # misc. shared configuration
├── lerna.json # MonoRepo (Lerna) settings
├── package.json # Shared devDependencies and commands
└── README.md # This file
These projects comprise the
Name | Description |
---|---|
@ohif/core | Business logic and classes that model the data, services, and extensions that are framework agnostic |
@ohif/i18n | Language files and small API for wrapping component/ui text for translations |
@ohif/viewer | The Vindr Lab Viewer. Where we consume and configure all platform library's and extensions |
@ohif/ui | Reusable React components we consume and compose to build our Viewer's UI |
Name | Description |
---|---|
@ohif/extension-cornestone | 2D image viewing, annotation, and segementation tools |
@ohif/extension-dicom-html | Support for viewing DICOM SR as rendered HTML |
@ohif/extension-dicom-microscopy | Whole slide microscopy viewing |
@ohif/extension-dicom-pdf | View DICOM wrapped PDFs in a viewport |
@ohif/extension-vtk | 2D MPR |
Note: If you use or find this repository helpful, please take the time to star this repository on Github. This is an easy way for us to assess adoption and it can help us obtain future funding for the project.
This work is supported primarily by Vingroup Big Data Institute