Giter VIP home page Giter VIP logo

cornerstonewadoimageloader's Introduction

โ›” [DEPRECATED] Active at new home @cornerstonejs/dicom-image-loader

This repo is no longer supported, please consider using @cornerstonejs/dicom-image-loader instead. There you can find

  • Typescript support (and type definitions)
  • Better developer experience (e.g. mono repo, linting, etc)

cornerstone WADO Image Loader

A cornerstone Image Loader for DICOM P10 instances over HTTP (WADO-URI) or DICOMWeb (WADO-RS). This can be used to integrate cornerstone with WADO-URI servers, DICOMWeb servers or any other HTTP based server that returns DICOM P10 instances (e.g. Orthanc or custom servers)

Key Features

  • Implements a cornerstone ImageLoader for DICOM P10 Instances via a HTTP get request.
    • Can be used with a WADO-URI server
    • Can be used with Orthanc's file endpoint
    • Can be used with any server that returns DICOM P10 instances via HTTP GET
  • Implements a cornerstone ImageLoader for WADO-RS (DICOMWeb)
  • Supports many popular transfer syntaxes and photometric interpretations see full list and codec for more information.
  • Framework to execute CPU intensive tasks in web workers
    • Used for image decoding
    • Can be used for your own CPU intensive tasks (e.g. image processing)

Live Examples

Click here for a live example of this library in use!

You can also see it in action with the cornerstoneDemo application.

Install

Get the distributed unminimized file:

or the distributed minimized file:

Usage

The cornerstoneWADOImageLoader depends on the following external libraries which should be loaded before cornerstoneWADOImageLoader.js:

  1. dicomParser
  2. cornerstone

New in 1.0.0: Specify the cornerstone instance you want to register the loader with.

cornerstoneWADOImageLoader.external.cornerstone = cornerstone;

Have your code configure the web worker framework:

var config = {
  maxWebWorkers: navigator.hardwareConcurrency || 1,
  startWebWorkersOnDemand: true,
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);

See the web workers documentation for more details on configuring.

Upgrade to CWIL v4.x

Cornerstone-WADO-Image-Loader (CWIL) v4.0.x has been released, which adds support for using WebAssembly (WASM) builds of each codec. This significantly improves image decoding performance and enables us to load codec at runtime when needed dynamically, which reduces the build time and complexity.

In addition, we have improved the image loading performance in CWIL v4.x. In previous versions of CWIL, image loading includes fetching AND decoding an image before returning a promise completion, preventing more requests from being made until the queue is empty. This limitation has been fixed in CWIL v4, which separates image retrieval and decoding into two steps. Now after an image is retrieved, a new request is sent to the server immediately.

Improvement
CWIL Bundle Size 30x smaller (3.0 MB vs 87 kb with dynamic import)
JPEG Baseline Codec 4.5x faster (2.87 ms for 512x512 16 bit CT Slice)
JPEG 2000 Codec 1.8x faster (41.02 ms for 512x512 16 bit CT Slice)

Steps to upgrade

Dynamic Import

In v4.x, we have added dynamic importing support for the codecs as needed. To be able to use such feature, instead of

import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader';

you need to do:

import cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader/dist/dynamic-import/cornerstoneWADOImageLoader.min.js';

This way, codecs are loaded dynamically when needed. You have another option to create an alias in the webpack config file as we do here for OHIF Viewer.

resolve: {
  alias: {
    'cornerstone-wado-image-loader':
      'cornerstone-wado-image-loader/dist/dynamic-import/cornerstoneWADOImageLoader.min.js',
  },
},

In addition WASM builds of the codec files should be made available in the build folder. We use CopyWebpackPlugin to copy the WASM files to the build folder. See here for how we do it in OHIF Viewer.

 plugins: [
  new CopyWebpackPlugin([
    {
      from:
        '../../../node_modules/cornerstone-wado-image-loader/dist/dynamic-import',
      to: DIST_DIR,
    },
  ]),

Note 1: You need to give the correct path in the CopyWebpackPlugin, the above path is relative to the node_modules folder in the OHIF Viewer.

Note 2: For other http servers like IIS, you need to configure it to serve WASM files with the correct MIME type.

Troubleshooting

Having problems viewing your images with cornerstonWADOImageLoader? Check out the troubleshooting guide.

Backlog

  • Support for images with pixel padding
  • Support for high bit (e.g. mask out burned in overlays)
  • Free up DICOM P10 instance after decoding to reduce memory consumption
  • Add support for compressed images to WADO-RS loader
  • Look at using EMSCRIPTEN based build of IJG for JPEG
  • Consolidate all EMSCRIPTEN codecs into one build to cut down on memory use and startup times
  • Add support for bulk data items to WADO-RS Loader
  • Add events to webWorkerManager so its activity can be monitored
  • Add support for issuing progress events from web worker tasks

FAQ

Why is this a separate library from cornerstone?

Mainly to avoid adding a dependency to cornerstone for the DICOM parsing library. While cornerstone is intended to be used to display medical images that are stored in DICOM, cornerstone aims to simplify the use of medical imaging and therefore tries to hide some of the complexity that exists within DICOM. It is also desirable to support display of non DICOM images so a DICOM independent image model makes sense.

How do I build this library myself?

See the documentation here

How do I add my own custom web worker tasks?

See the documentation here

How do I create imageIds that work with this image loader?

See the documentation here

What Transfer Syntaxes are supported?

See transfer syntaxes

Copyright

Copyright 2016 Chris Hafey [email protected]


cornerstonewadoimageloader's People

Contributors

andrebot avatar ayselafsar avatar chafey avatar dannyrb avatar deminoth avatar dependabot[bot] avatar diego0020 avatar evren217 avatar fbonnet-creative avatar galelis avatar igoroctaviano avatar jamesapetts avatar jmhmd avatar kofifus avatar lifeng-github avatar lscoder avatar malaterre avatar maltempi avatar nikgurev avatar ohif-bot avatar ouwen avatar pwespi avatar rodrigobasilio2022 avatar saucistophe avatar sedghi avatar simonmd avatar sisobus avatar swederik avatar wayfarer3130 avatar zaid-safadi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cornerstonewadoimageloader's Issues

Replace jpx by libopenjpeg for JPEG 2000 decoding

I'm not submitting a pull request because I don't have a setup to test it correctly and I don't really know how you want to organize the source code.

The latest minified release is here:

https://github.com/jpambrun/openjpeg/releases

The interface is somewhat similar to jpx:

image = Module.opj_decode(compressedPixelData);
var j2kWidth = image.sx;
var j2kHeight = image.sy;
var pixelData = new Int16Array(image.pixelData);

image.pixelData is actually an Int32Array and if the image is in color, the pixels are interleaved as follows : RGBRGBRGB...

Interest in adding re-slicing code?

Hi @chafey,

Thanks for the nice DICOM libraries. I'm working on making a tool to measure psoas muscle area on abdominal CT images using cornerstone. I need to be able to select the appropriate L4 level on a sagittal view. Currently, I have to use XTK to re-slice the images, which is a huge pain since XTK is fairly bloated. I was wondering if there is any interest in adding code to re-slice DICOM images. Here's the code to do a fast reslicing of a 3D array in Javascript using views: http://jsfiddle.net/n38mwh95/1/

I can help with this, but I'm not sure exactly how to handle the pixels in the context of the DICOM format and your library. If you can provide additional pointers, I will see if I can contribute something decent.

CornerstoneImageLoadProgress's broken in v0.12.0

Hi Chris, I found cornerstoneImageLoadProgress event is not sending the imageId param, to fix this, please change the line 57 of loadImage.js from this:

var xhrRequestPromise =  loader(parsedImageId.url);

To this:

var xhrRequestPromise =  loader(parsedImageId.url, imageId);

Regards,
Leonardo.

RLE Multiframe error

Hi again, I'm getting en error while trying to load an RLE multiframe image using cornerstoneWADOImageLoader, here's the error:

RangeError: argument 1 accesses an index that is out of range
Stack trace:
decode16@http://127.0.0.1/displaystudy/js/cornerstone/cornerstoneWADOImageLoader.js:505:23
decodeRLE@http://127.0.0.1/displaystudy/js/cornerstone/cornerstoneWADOImageLoader.js:453:7
decodeTransferSyntax@http://127.0.0.1/displaystudy/js/cornerstone/cornerstoneWADOImageLoader.js:578:14
makeGrayscaleImage@http://127.0.0.1/displaystudy/js/cornerstone/cornerstoneWADOImageLoader.js:3739:29
createImageObject@http://127.0.0.1/displaystudy/js/cornerstone/cornerstoneWADOImageLoader.js:255:14
xhrRequest/xhr.onreadystatechange@http://127.0.0.1/displaystudy/js/cornerstone/cornerstoneWADOImageLoader.js:4105:30

The image is this:

http://181.165.182.82:8083/cgi-bin/wado/instance/?objectUID=2.16.840.1.113662.5.8796823269005.3.124.1441314757&contentType=dicom/rle

I must add using ExplicitLittleEndian TS doesn't raises the error, please check:

http://181.165.182.82:8083/cgi-bin/wado/instance/?objectUID=2.16.840.1.113662.5.8796823269005.3.124.1441314757&contentType=dicom/explicit

Leonardo.

Memory issue with image decoding

I tried to use cornerstone to load SC study with JPEG-LS (Transfer Syntax: 1.2.840.10008.1.2.4.70), images have a high resolution like (4192x5081), study contains around 15 images, memory allocated to view this study sometimes exceed 2 Gb, average size for each image is around 8 Mb, bitsAllocated is 8 bit, photometric is MONOCHROME2.

I used latest charLS-DynamicMemory-browser.js but still the same,

My question is this considered a memory leak, or it's normal behavior based on image dimensions, and if so do you think changing the transfer syntax to JPEG-2000 would fix the memory leak.

Thanks.

This image is not loading in the viewer

I am attempting to load the attached image and on cornerstoneWADOImageLoader line 2775 column 134,015 there is this function

function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest;}

Which throws an out of range error, for the mean time and in order to allow the script to continue I replaced it with this function

function _emscripten_memcpy_big(dest,src,num){ try { HEAPU8.set(HEAPU8.subarray(src,src+num),dest); return dest; } catch(e) { console.info(dest); console.info(src); console.info(num); return dest; } }

The image still does not display, it is all black but the process continues with the rest of the images, the affected images are "JPEG2000 by Aware v. 3.18.7.3 for Win32"

Is it that the type of compression is not supported or is there a known work around?

dicom.zip

Enhanced MR Image Storage Issue

Enhanced MR Image Storage (1.2.840.10008.5.1.4.1.1.4.1 ) does not renders correctly.

Im not sure if the library supports it or not, I could not find the supported SOP Classes.

dumpWithDataDictionary output

Status:Ready; file size 4.749 MB; parse time 44ms; SHA1 = ee64744688d34b778168f26e95127856f8684b1f
Enhanced MR Image Storage; Explicit VR Little Endian

Horos Validation output

Error - Orientation vector is not unit vector for vector of VelocityEncodingDirection - values are 0\0\0
Error - Illegal root for UID - "6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6" in (0x2005,0x1395) View Procedure String
Warning - Value dubious for this VR - (0x0008,0x0090) PN Referring Physician's Name PN [0] = - Retired Person Name form
Warning - Value dubious for this VR - (0x0010,0x0010) PN Patient's Name PN [0] = - Retired Person Name form
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Length invalid for this VR = 98, expected <= 64
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'I' (0x49)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'M' (0x4d)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'A' (0x41)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'G' (0x47)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = '' (0x5f)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'T' (0x54)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'Y' (0x59)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'P' (0x50)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'S' (0x53)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'L' (0x4c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'I' (0x49)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'C' (0x43)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = '
' (0x5f)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'U' (0x55)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'M' (0x4d)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'B' (0x42)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'R' (0x52)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'C' (0x43)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'H' (0x48)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'O' (0x4f)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = '' (0x5f)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'U' (0x55)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'M' (0x4d)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'B' (0x42)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'R' (0x52)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'P' (0x50)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'H' (0x48)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'A' (0x41)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'S' (0x53)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = '
' (0x5f)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'U' (0x55)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'M' (0x4d)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'B' (0x42)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'R' (0x52)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'D' (0x44)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'Y' (0x59)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'A' (0x41)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'M' (0x4d)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'I' (0x49)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'C' (0x43)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = '' (0x5f)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'S' (0x53)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'C' (0x43)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'A' (0x41)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'C' (0x43)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'H' (0x48)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'M' (0x4d)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'I' (0x49)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'C' (0x43)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'A' (0x41)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'L' (0x4c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = '
' (0x5f)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'S' (0x53)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'H' (0x48)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'I' (0x49)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'F' (0x46)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'T' (0x54)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'D' (0x44)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'S' (0x53)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'C' (0x43)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'D' (0x44)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'I' (0x49)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'G' (0x47)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'O' (0x4f)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'N' (0x4e)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = 'E' (0x45)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Value invalid for this VR - (0x2005,0x1395) UI View Procedure String UI [0] = <6,IMAGE_TYPE,SLICE_NUMBER,ECHO_NUMBER,PHASE_NUMBER,DYNAMIC_SCAN,CHEMICAL_SHIFT,DESCENDING,NONE,4,6> - Character invalid for this VR = ',' (0x2c)
Error - Dicom dataset contains invalid data values for Value Representations
EnhancedMRImage
Error - Attribute present when condition unsatisfied (which may not be present otherwise) Type 2C Conditional Element= Module=
Warning - is only permitted to be empty when actually unknown; should be absent (not empty) if an unpaired body part, and have a value if a paired body part - attribute
Warning - Unrecognized defined term for value 1 of attribute
Warning - Coding Scheme Designator is deprecated - attribute =
Warning - Unrecognized defined term for value 1 of attribute
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0100) SH Code Value
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0102) SH Coding Scheme Designator
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0104) LO Code Meaning
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0012) DA Instance Creation Date
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0013) TM Instance Creation Time
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0014) UI Instance Creator UID
Warning - Attribute is not present in standard DICOM IOD - (0x0020,0x0013) IS Instance Number
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x9123) UI Creator-Version UID
Warning - Attribute is not present in standard DICOM IOD - (0x0010,0x21c0) US Pregnancy Status
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x0095) DS Pixel Bandwidth
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9016) CS Spoiling
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9020) CS Magnetization Transfer
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9021) CS T2 Preparation
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9022) CS Blood Signal Nulling
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9026) CS Spectrally Selected Excitation
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9027) CS Spatial Pre-saturation
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9028) CS Tagging
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9035) FD Tag Thickness
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9036) CS Partial Fourier Direction
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9051) CS Transmit Coil Type
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9053) FD Chemical Shift Reference
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9058) US MR Acquisition Frequency Encoding Steps
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9059) CS De-coupling
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9069) FD Parallel Reduction Factor In-plane
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9077) CS Parallel Acquisition
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9081) CS Partial Fourier
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9090) FD Velocity Encoding Direction
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9091) FD Velocity Encoding Minimum Value
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9101) CS Frequency Correction
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9155) FD Parallel Reduction Factor out-of-plane
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9168) FD Parallel Reduction Factor Second In-plane
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9179) CS Specific Absorption Rate Definition
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9180) CS Gradient Output Type
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9181) FD Specific Absorption Rate Value
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9182) FD Gradient Output
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9199) CS Water Referenced Phase Correction
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9200) CS MR Spectroscopy Acquisition Type
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9231) US MR Acquisition Phase Encoding Steps in-plane
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9240) US RF Echo Train Length
Warning - Attribute is not present in standard DICOM IOD - (0x0018,0x9241) US Gradient Echo Train Length
Warning - Attribute is not present in standard DICOM IOD - (0x0020,0x9072) CS Frame Laterality
Warning - Attribute is not present in standard DICOM IOD - (0x0020,0x9254) FD Respiratory Interval Time
Warning - Attribute is not present in standard DICOM IOD - (0x0020,0x9255) FD Nominal Respiratory Trigger Delay Time
Warning - Attribute is not present in standard DICOM IOD - (0x0028,0x3003) LO LUT Explanation
Warning - Attribute is not present in standard DICOM IOD - (0x0028,0x9001) UL Data Point Rows
Warning - Attribute is not present in standard DICOM IOD - (0x0028,0x9002) UL Data Point Columns
Warning - Attribute is not present in standard DICOM IOD - (0x0040,0x0006) PN Scheduled Performing Physician's Name
Warning - Attribute is not present in standard DICOM IOD - (0x0040,0x0241) AE Performed Station AE Title
Warning - Attribute is not present in standard DICOM IOD - (0x0040,0x0250) DA Performed Procedure Step End Date
Warning - Attribute is not present in standard DICOM IOD - (0x0040,0x0251) TM Performed Procedure Step End Time
Warning - Attribute is not present in standard DICOM IOD - (0x0040,0x0321) SQ Film Consumption Sequence
Warning - Attribute is not present in standard DICOM IOD - (0x0040,0x9210) SH LUT Label
Warning - Dicom dataset contains attributes not present in standard DICOM IOD - this is a Standard Extended SOP Class

here is the dicom file example
00010024.dcm.zip

Any ideas how to fix this?

Thanks in advance
ER

grayscale images

The text embedded in the grayscale DICOM images might become unreadable. the minPixelValue/maxPixelValue are 0/254 if I force them to 0/255 everything works fine.

dataSetCacheManager return wrong type multiframe image (dev branch)

for dev branch

if image multiframe and already loaded. (XA,uSG)

cornerstoneWADOImageLoader.wadouri.dataSetCacheManager.load function return type of dataset

alreadyLoadedpromise.resolve(loadedDataSets[uri].dataSet);

but

loadDataSetFromPromise function use byte array and convert dataset again.

var byteArray = new Uint8Array(dicomPart10AsArrayBuffer);
var dataSet = dicomParser.parseDicom(byteArray);

JPEGBaseline color images rendered wrong

Hi,

Cornerstone is rendering this US image in shades of green/magenta
(REMOVED because it appeared to have PHI)

I've been able to reproduce this by converting images to JPEGExtended (1.2.840.10008.1.2.4.51) transfer syntax with dcmtk's "dcmcjpeg.exe +ee"

It seems the JPEGBaseline decoder is aplying an unecessary color transform to the image: setting colorTransform to false in decoders/external/jpeg.js:955 fixes this:

case 3:
    // The default transform for three components is true
    colorTransform = false; //true;

I know DICOM is full of weird corner cases, do you think this is a valid solution?

cornerstone should detect invalid frame parameter

If the image ID URI specifies a frame that does not exist in the SOP Instance, cornerstone displays the following message in chrome:

Uncaught RangeError: Invalid typed array length

It should detect this situation and display a more useful error message

can be reproduced using the following URL:

http://dicomserver.co.uk/wado/WADO.asp?requestType=WADO&studyUID=0.0.0.0.2.8811.20010413115754.12432&seriesUID=0.0.0.0.3.8811.2.20010413115754.12432&objectUID=0.0.0.0.1.8811.2.1.20010413115754.12432&contentType=application/dicom&transferSyntax=1.2.840.10008.1.2.1?frame=1

wado-rs request missing " (Quotation Marks) in the accept header

Hi, I've been playing with the wado-rs example and noticed an issue.

In the wado-rs example, the accept header sub-media type is missing "". This has been a mistake in the DICOM standard and is now corrected in the 2016 revision (part 18 section 6.1.1.1).
Current request Accept header
Accept:multipart/related;type=application/octet-stream

Expected request Accept header
Accept:multipart/related;type="application/octet-stream"

Regards,
Zaid

MRI Images showing up as black

Hello,

I'm attempting to view an MRI study that displays fine in Osirix and is parsable by dicomParser. Using cornerstone it shows up as a black image.

Initially I thought it was cornerstone, but I've come to think it's the WADOImageLoader. I tried reading it as an uncompressed image with the same issue so I don't think it's a codec issue.

I'm honestly at a loss. I've included an anonymized example.

IM-0001-0005.dcm.gz

RLELossLess Images

Hi,
Thanks for your great job.

I need to add RleLossLess Image support to cornestone.
I have done the following things:
Create a function extractRLEPixels, inspired from
http://marklomas.net/ch-egg/articles/rlejs.htm

function extractRLEPixels(dataSet, width, height, frame)
{
try
{
var compressedPixelData = dicomParser.readEncapsulatedPixelData(dataSet, dataSet.elements.x7fe00010, frame);
var result = new Array;
if (compressedPixelData.length == 0)
return result;

        if ((compressedPixelData.length % 2) != 0) {
            alert("Invalid RLE Pixeldata");
            return;
        }

        var length = compressedPixelData.length;
        for (var i = 0; i < length; i += 2) {
            var val = compressedPixelData[i];
            var count = compressedPixelData[i + 1];
            for (var c = 0; c < count; c++)
                result[result.length] = val;
        }
        return result;
    }
    catch(err)
    {

    }
}

Then in your existing function extractStoredPixels, i add:

if (transferSyntax === "1.2.840.10008.1.2.5")
{
return extractRLEPixels(dataSet, width, height, frame);
}

But it doesn't work, i have an outofrange exception when i try to decode a Dicom Image in rle.
Did i miss something ? Have you got an idea ?

Thanks
Thomas

Orthanc and cornerstone not working

Hello!

I need to serve some .dcm images on localhost, so I decided to go with Orthanc for that. I can see the file on localhost:8042/... perfectly, but when I put that link on the json (I'm using the Cornerstone web demo) It doesn't work. I used the nodejs that you mentioned for CORS but that didn't seem to work.
I'm using XAMPP to serve the webpage, so I also tried to put CORS on Apache, but that didn't work either, do you have any suggestions for this issue?

THanks in advance!

Google Chrome out of memory while prefetching series with web workers

Hi,
we use cornerstoneWADOImageLoader to work with several series.
Images are encoded in jpeg lossy.

I'm getting an out of memory while prefetching a series of compressed images.
In Google Chrome 32 bits the error happens after some series have been loaded (prefetched), in Google Chrome 64 bits it happens as soon as the first series is loaded.

Can you please give some info on how to empty the cache (I've seen you have in the backlog a similar task)?

I'm using the following configuration.

var config = {
    maxWebWorkers: navigator.hardwareConcurrency || 1,
    startWebWorkersOnDemand : true,
    webWorkerPath : 'bower_components/cornerstoneWADOImageLoader/dist/cornerstoneWADOImageLoaderWebWorker.min.js',
    taskConfiguration: {
        'decodeTask' : {
            loadCodecsOnStartup : true,
            initializeCodecsOnStartup: true,
            codecsPath: '../dist/cornerstoneWADOImageLoaderCodecs.min.js',
            usePDFJS: false
        },
        'sleepTask' : {
            sleepTime: 3000
        }
    }
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);

Potential file size issue?

I'm trying to read an ~16MB dcm file that has a transfer syntax of 1.2.840.10008.1.2 (which, if I understand correctly is little endian explicit). I keep running into "Status: Error - dicomParser.readUint16: attempt to read past end of buffer (file of size 15.839 MB )" when trying to parse the file.

No Image Rendering

I'm attempting to render an image from a base64 string stored in a database. dicomParser is correctly reading the data, but the image loader isn't rendering anything. I always get a canvas with zero height and width, despite the fact that the image data from dicomParser is correctly showing 600 and 800 for height and width, respectively. Any thoughts on where to start troubleshooting?

Here is the function I'm using to convert my base64 string to a file:

//Load image function
function loadAndViewImage(imageId,element) {
    cornerstone.loadImage(imageId).then(function(image) {
        console.log(image);
        var viewport = cornerstone.getDefaultViewportForImage(element, image);

        cornerstone.displayImage(element, image, viewport);
    }, function(err) {
        alert(err);
    });
}

//Convert base64 string from database to array parts for new File()
function b64toArrayParts(b64Data, sliceSize) {
  sliceSize = sliceSize || 512;

  var byteCharacters = window.atob(b64Data);
  var byteArrays = [];

  for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
    var slice = byteCharacters.slice(offset, offset + sliceSize);

    var byteNumbers = new Array(slice.length);
    for (var i = 0; i < slice.length; i++) {
      byteNumbers[i] = slice.charCodeAt(i);
    }

    var byteArray = new Uint8Array(byteNumbers);

    byteArrays.push(byteArray);
  }

  return byteArrays;
}

if (row.Name.endsWith('.dcm')) {
    //Get base64 string, and create File.
    var Base64content = (row.Body.realBlobValue!==undefined) ? row.Body.realBlobValue.asByteArray : row.Body.asByteArray;
    var arrayParts = b64toArrayParts(Base64content);
    var file = new File(arrayParts,row.Name,{type:'image/dicom'});
    console.log(file);

        //Create and add element to our field
    var dicomDiv = $('<div>')
        .addClass('dicom-image')
        .attr('id','dicomImage')
        .css({height: '512px', width: '512px'});
    field.element.append(dicomDiv);

    // Enable element with cornerstone
    var csElement = dicomDiv.get(0);
    cornerstone.enable(csElement);

   // Load image.
    var imageId = cornerstoneWADOImageLoader.fileManager.add(file);
    loadAndViewImage(imageId,csElement);
}

Image loader fails on implicit hostname

When passed a url such as: dicomweb:///api/v1/file/55cca47e20c30d6b680f1be9/download, the image loader attempts to fetch from http://api/v1/file/55cca47e20c30d6b680f1be9/download, and by removing the leading slash it becomes an invalid URL.

Cannot load these dicom files

Hi,

I am trying to load these files (attached - removed) using cornersonewadoimageLoader. But I cannot load it on the canvas.

I don't have any issue loading other files.

Could you please me know what maybe causing this?

I am using the replicate of cornerstonedemo

Thank you so much.

RLE compression and US RGB images

I'm testing the new RLE decompressor and found RGB US images aren't displayed correctly. Please take a look at the following image. The upper image is what I get when I display an uncompressed image, the bottom one is what I get on RLE compressed.

rle

Error on Loading Local file via wadouri:localpath

Sir
Tool : cornerstoneWADOImageLoader-master
Method : wadouri

On pasing the parameter : a/1.3.46.670589.11.8362.5.0.2672.2014092515570109004.dcm
this is a file on the local system. A error is raised in with alert message object xmlHttpRequest.

Kindly help

Regards

Dr Sanjay Gupta

dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset...

When trying to open some files with the cornerstoneWADOImageLoader 0.9.2 in combination with dicomParser 1.3.0 the exception "dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset..." is raised.

Please go to examples/wadouri/index.html and open this file: http://190.210.68.13:8888/cgi-bin/wado/instance/?objectUID=1.3.12.2.1107.5.2.37.48929.201510081009333606404861&contentType=dicom.

Structured report

Hey,
I love the work you've done here.
I'm currently working to build an online viewer and I've run into a problem with Structured Reports. This WADO image loader doesn't handle it very gracefully. (No pixel representation or bits allocated). I can probably detect whether it's a structured report before loading it, however, after that I don't know what to do with it. It's not exactly a PDF. Any ideas would be greatly appreciated.

DICOM image appearing very bright

I am not sure if I should be posting this issue here or in the https://github.com/chafey/dicomParser project. Apologies if this is in the wrong place.

The DICOM file linked to at the bottom of this message is appearing very bright when viewed through Cornerstone, including via the online WADOImageLoader example here: http://rawgit.com/chafey/cornerstoneWADOImageLoader/master/examples/dicomfile/index.html

When viewed any desktop DICOM viewer, like MicroDicom, it is displayed normally.

The DICOM file is 29mb and may be downloaded here: https://www.dropbox.com/s/qbf0i3x50bkz1tp/CR000000.dcm?dl=0

JpxImage is undefined

I get the error above in the extractJPEG2000Pixels function.
I could not find a JpxImage class anywhere in the project.

  • there's also nothing native I could find

Do you know if that part of the code works? Where can I get my hands on that class?

Incorrect WW/WC adjustment for some CR series

Some CR series like this one appear almost white and adjusting WW/WC manually doesn't seem to have any effect on the viewport. I can open the dicom file and it looks perfect with any desktop viewer (like microdicom for example) but cornerstone seems to have problems with it. I'm not sure if it's issue related to WADOImageLoader or dicomParser but the problem exists in my implementation and also when I'm using the cornerstoneWADOImageLoader examles.

Image not displaying properly

Hi
When i am trying to load image using cornerstoneWADOImageLoader it is coming different
cor

But when tried to load from Sante Dicom viewer it is viewing properly
when i use this version of the file cornerstone.js /*! cornerstone - v0.8.4 - 2015-09-12 | (c) 2014 Chris Hafey | https://github.com/chafey/cornerstone */ it works fine

but when i use this version cornerstoneWADOImageLoader.min.js
/*! cornerstone-wado-image-loader - v0.10.1 - 2016-05-04 | (c) 2014 Chris Hafey | https://github.com/chafey/cornerstoneWADOImageLoader */
it does not work
Do i need to make any changes please let me know
here is zip file for it
TEST.zip

Regards
Suraj

convertPALETTECOLOR not handling special cases

Special cases not handled by the current implementation

  • The implementation does not consider BE data
  • The implementation does not handle the scenario in which the LUT descriptor has a bits allocated value of 8 but the actual LUT sample size is 16 bits. (See second note in PS3.3 C.7.6.3.1.5)

Suggested change:

  • The implementation should first convert the LUTs to 8 bit prior to the loop so that the loop can use clean LUT values and avoid shifting repeatedly for every pixel. Not a big deal but pre-processing is preferred.

CornerstoneImageLoadProgress's loaded.imageId undefined

After upgrading Cornerstone to 0.9.0 the envent CornerstoneImageLoadProgress is no longer returning the imageId.

To check this please simply add this code

    $(cornerstone).bind('CornerstoneImageLoadProgress', function(eventData, loaded) {
        console.log(loaded);
    });

The proper result is similar to this:

Object { 
    imageId: "http://127.0.0.1/cgi-bin/wado/instance/?objectUID=1.3.12.2.1107.5.2.", 
    loaded: 51851, 
    total: 129530, 
   percentComplete: 40 
}

but now I'm getting

Object { imageId: undefined, loaded: 51851, total: 129530, percentComplete: 40 }

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.