GithubHelp home page GithubHelp logo

isabella232 / wsi-to-dicom-converter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlecloudplatform/wsi-to-dicom-converter

0.0 0.0 0.0 1.83 MB

Conversion tool/library for converting whole slide images to DICOM

License: Apache License 2.0

CMake 16.38% Shell 6.42% C 3.19% C++ 73.29% Ruby 0.72%

wsi-to-dicom-converter's Introduction

WSI to DICOM Converter

This repository contains a tool that converts whole slide images (WSIs) to DICOM. To read the underlying whole slide images (WSIs), this tool relies on OpenSlide, which supports a variety of file formats.

Quickstart

Debian-based Linux

To download the latest release, on the Releases tab, download the installer for your operating system and then run it. For example, if you're running on a Debian-based system, download the wsi2dcm_x.y.z.deb file and then run:

sudo apt install ./wsi2dcm_x.y.z.deb

Note: if you get an error about missing shared libraries, run sudo ldconfig or make sure that /usr/local/lib is in your LD_LIBRARY_PATH.

MacOS

brew install wsi2dcm.rb

If an installer isn't available for your operating system, see Compiling from source.

After you have installed the WSI to DICOM converter, to convert a file, run the following command:

wsi2dcm --input <wsiFile> --outFolder <folder for generated files> --seriesDescription <text description>

Test data is freely available from OpenSlide.

To see all available options, run: wsi2dcm --help.

Complete set of parameters

input

Input wsi file, supported by openslide.

outFolder

Folder to store dcm files

tileHeight

Tile height px.

tileWidth

Tile width px.

levels

Number of levels to generate, levels == 0 means number of levels will be read from wsi file.

downsamples

Size factor for each level for each level, downsample is size factor for each level.

eg: if base level size is 100x100 and downsamples is (1, 2, 10) then

  • level0 100x100
  • level1 50x50
  • level2 10x10
startOn

Level to start generation.

stopOn

Level to stop generation.

sparse

Use TILED_SPARSE frame organization, by default it's TILED_FULL http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.17.3.html

compression

Compression, supported compressions: jpeg, jpeg2000, raw.

seriesDescription

(0008,103E) [LO] SeriesDescription Dicom tag.

studyId

(0020,000D) [UI] StudyInstanceUID Dicom tag.

seriesId

(0020,000E) [UI] SeriesInstanceUID Dicom tag.

jsonFile

Dicom json file with additional tags https://www.dicomstandard.org/dicomweb/dicom-json-format/

batch

Maximum frames in one file, as limit is exceeded new files is started.

eg: 3 files will be generated if batch is 10 and 30 frames in level

threads

Threads to consume during execution.

debug

Print debug messages: dimensions of levels, size of frames.

dropFirstRowAndColumn

Drop first row and column of the source image in order to workaround bug openslide/openslide#268

Compiling from source

If you're using Ubuntu, run the following command to download the dependencies and build the tool:

sudo ./cloud_build/ubuntuBuild.sh

Otherwise, follow these steps:

  1. Download the source from the Releases tab or check out the repo.
  2. Make sure that you have the following dependencies installed:
  1. Run the following commands:
mkdir build
cd build
cp -R %dcmtkDir% ./dcmtk-3.6.2 
cmake ..
make -j%threads%

wsi-to-dicom-converter's People

Contributors

dzelemba avatar kourtneyshort avatar pavertomato avatar

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.