Giter Club home page Giter Club logo

atom-dicom-dump's Introduction

DICOM viewer for Atom

Overview

This package provides a point-and-click interface for exploring the content of DICOM files. At the moment, the functionality provided is allowing to run DCMTK command-line tools dcmdump and dsrdump, and GDCM gdcmdump tool (gdcmdump provides functionality not available in dcmdump, such as view of the Siemens CSA header).

By using this Atom package instead of running the DCMTK tools in the command line, you can:

  • conveniently copy content to the clipboard
  • do folding of the indented sections of the dump
  • search for content of interest
  • add a lot more features using powerful Atom engine ;)

Usage

Install the package

Install the package from Atom > Settings > Install

Install DCMTK and/or GDCM

You can download precompiled DCMTK packages from the official DCMTK page here:

http://dcmtk.org/dcmtk.php.en (look for the "DCMTK 3.6.2 - executable binaries" section)

If you cannot find the binary for your platform, you can use the following links for downloading unofficial DCMTK binaries we prepared. All of them are for 64-bit platforms.

We do not provide the binaries to download packages of GDCM for individual platforms, you can check SourceForge for binaries here: https://sourceforge.net/projects/gdcm/.

Set paths to the tools in the package settings

Screenshot

Activate package after opening a DICOM file

After opening a DICOM file in Atom, use context menu to invoke dcmdump, dsrdump or gdcmdump tools.

Status

This package is work in progress. Contributions from the community in the form of encouragements, comments, feature requests, bug repots and pull requests are very welcome!

Acknowledgment

This package is being developed by Andrey Fedorov as part of the QIICR project activities. QIICR was supported by NIH National Cancer Institute in 2013-2018 by the award U24 CA180918. Please contact Andrey, join QIICR community on Google+, or submit an issue on the issue tracker!

If you found this package useful in preparing an academic publication, we would appreciate if you cite this article:

Fedorov, A., Beichel, R., Kalpathy-Cramer, J., Clunie, D., Onken, M., Riesmeier, J., Herz, C., Bauer, C., Beers, A., Fillion-Robin, J.-C., Lasso, A., Pinter, C., Pieper, S., Nolden, M., Maier-Hein, K., Herrmann, M. D., Saltz, J., Prior, F., Fennessy, F., Buatti, J. & Kikinis, R. Quantitative Imaging Informatics for Cancer Research. JCO Clin Cancer Inform 4, 444โ€“453 (2020). https://ascopubs.org/doi/full/10.1200/CCI.19.00165

Demo

Screenshot

atom-dicom-dump's People

Contributors

fedorov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mrcuijt

atom-dicom-dump's Issues

Consider integration with gdcmdump

gdcmdump provides functionality not available in dcmdump, such as Siemens header parsing, so it might be quite helpful to add it.

@malaterre - would you be by any chance interested to contribute this functionality? Any thoughts are welcome!

Check for existence of binaries

As evident from the report in #5, it may help user and in troubleshooting if existence of the dcmdump/dsrdump binaries was confirmed before trying to do anything else when user triggers them.

Uncaught TypeError: Cannot read property 'getPath' of undefined

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.17.1 x64
Electron: 1.3.15
OS: Mac OS X 10.11.6
Thrown From: dicom-dump package 0.2.10

Stack Trace

Uncaught TypeError: Cannot read property 'getPath' of undefined

At /Users/BillClifford/.atom/packages/dicom-dump/lib/dicom-dump.coffee:70

TypeError: Cannot read property 'getPath' of undefined
    at Object.dcmdumpView (/packages/dicom-dump/lib/dicom-dump.coffee:70:52)
    at /packages/dicom-dump/lib/dicom-dump.coffee:50:35)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:265:1)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:3:1)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:166:1)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchApplicationMenuCommand (/Applications/Atom.app/Contents/Resources/app/src/atom-environment.js:1300:1)
    at EventEmitter.outerCallback (/Applications/Atom.app/Contents/Resources/app/src/application-delegate.js:334:1)
    at emitThree (events.js:116:13)
    at EventEmitter.emit (events.js:194:7)

Commands

     -8:57.5.0 core:delete (input.hidden-input)
     -8:55.3.0 core:paste (input.hidden-input)
 70x -8:51.6.0 core:move-left (input.hidden-input)
     -7:06.6.0 application:open (div.panels-item)
  2x -5:14.5.0 dicom-dump:toggledcm (input.hidden-input)
     -2:35.8.0 core:paste (input.hidden-input)
     -2:30.6.0 editor:select-to-first-character-of-line (input.hidden-input)
     -2:12.7.0 dicom-dump:toggledcm (div.tool-panel.tree-view)
     -1:28 application:open (div.tool-panel.tree-view)
     -0:33.2.0 dicom-dump:toggledcm (input.hidden-input)
     -0:22.3.0 dicom-dump:togglesr (input.hidden-input)
     -0:07.7.0 dicom-dump:toggledcm (div.tool-panel.tree-view)

Non-Core Packages

dicom-dump 0.2.10 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.