Hida is a javascript DICOM viewer and analysis tool. It is developed as part of a research internship at the Academic Medical Center in Amsterdam. Its initial goal was to provide a future proof rebuild of a Liver Uptake measurement algoritm, but has quickly grown as a general purpose web-based DICOM tool.
The requirements were as follows:
- Provide basic DICOM viewing tools
- Windowing (level and width)
- Adding and editing of ROI's
- Implement HIDA algoritm based on Liver uptake function measured by IODIDA clearance rate in liver transplant patients and healthy volunteers.
- Enable distributable as multiplatform application using Node-Webkit
- Supported platforms: Windows / OS X / Linux
- Node-Webkit version has access to file-system
- Enable online HTML5 application
By running the complete application in your browser or in a Node-Webkit container, there is no nead to upload files in any sort of way. This means that all code is executed only on your computer, and privacy issues are not an issue!
- Languages:
- CoffeeScript (http://coffeescript.org/)
- Running on NodeJS and compiled to javascript to run in the browser
- SASS (http://sass-lang.com/)
- CoffeeScript (http://coffeescript.org/)
- Frameworks / libraries / technologies:
- AngularJS (https://angularjs.org)
- Paper.js (http://paperjs.org)
- HTML5 Web Workers (https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API)
- For more detail, see
package.jsonandbower.json
- NW.js (http://nwjs.io/, formerly Node-Webkit)
- Webpack (https://webpack.github.io/)
- Git (https://git-scm.com, choose option to make available on prompt)
- NodeJS (https://nodejs.org, with NPM)
- All dependencies of Node-Gyp (https://github.com/TooTallNate/node-gyp)
- Python 2.7
- Visual Studio
You might want to use https://chocolatey.org/
We assume homebrew is installed (http://brew.sh).
- NodeJS:
brew install node
Just do an npm install. This will install all dependancies.
npm startStarts the webpack development server and NW.js development applicationnpm run appRuns clean production application (without compiling it into a distributable versions)npm run buildCleans everything and build production distributable versions of the app
These commands are combinations of the following single tasks:
npm run wp-cleanWebpack cleans application bundlenpm run wp-compileWebpack compiles source into application bundlenpm run wp-serverWebpack runs development servernpm run nw-buildNW.js builds webpack bundle into applicationnpm run nw-cleanNW.js cleans build foldernpm run nw-devNW.js runs development application (use with development server)npm run nw-openNW.js opens build foldernpm run nw-runNW.js directly runs application bundle
- Professionalize
- Automated testing
- Remove ROI's
- Window moving relative to magnitude (e.g. higher number = higher steps)
- Export Images
- Reenable simplification of ROI's
- Needs additional point
