Giter Site home page Giter Site logo

dcmjs.org's People

Contributors

bebbi avatar jcfr avatar pieper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dcmjs.org's Issues

intermittent segfault messages

Like this:
segmentation fault loading 1 bytes from address 0
index.html:54 segmentation fault loading 1 bytes from address 0
VM148:1 segmentation fault loading 1 bytes from address 0

No way to reproduce, happens more or less depending on number of clouds in the sky. I had it on different occasions, when opening or reloading the page, or otherwise - once I even had it occur during a debugging session where I stepped through code that only did jQuery dicomDOM processing. With one arbitrary step, the error was there.

undefined state after processing

When all files are processed, the "clear list" button is not enabled. Dragging more files leads to adding them to the open list.
Proposed resolution: clear list when files are processed

too many zip files

A 333 files test dataset ended up creating 242 "*-continuationNNN" zip files.
62 of them are empty, 119 are 132K, 61 are 264K.

In a next run, (same 333 files, files were cleared), 666 zip files are created.
71 are empty, 521 are 132K, 70 are 264K, 1 is 524K (somewhere in the middle)

Looks like the second case additionally has the issue of re-using old files.

zip file never gets created

In a folder set of 15 files, process stops after this message: -- 14 of 15 processed (93%)
No bug, just stops. I think it's related to other zip file bug.
(I tested on your latest commit ce148b5, not my subsequent ones - it's present on all versions).

skip map failures

Looking at the full process, there's one feature missing (all mentioned options and return values below exist, but the logic to write vs skip is missing):
// after mapDom

if (options.keepMappingFailures === false) {
if (result.status.mapFailed) {
//need logic to skip file (i.e., not add it to the zip set)
}
}

review structural dicom tags not in CTP profile

Do you see any other "special" DICOM (file) tags to keep in a "only keep explicitly mentioned tags" scenario?CTP doesn't explicitely deal with below so we should add them to our (CTP based) config. So far we've got:
"Item",
"ItemDelimitationItem",
"SequenceDelimitationItem",
"GenericGroupLength",
“PixelData”

Improved transparency of the anonymization details

at the moment it lacks transparency at the web page level as to how anonymization is actually done. Exact details of the profile applied should be easily available to the user through some web page interface. The profile details should also be saved together with the anonymized dataset for tracking purposes.

fix hashUID function

hashing UID works but is not completely following specs
http://www.itu.int/rec/T-REC-X.667-201210-I/en
The sha1.js might be returning wrong sha1 functions for strings that contain non-readable chars.
Also, the final replacement of digits may be wrong.
Issue appears minor, but there's an unknown risk of the sha1.js reducing the target value space, so better to implement and confirm compliance with specs.

Improve transparency of the output directory structure configuration

you might want to consider is to use DICOM tags for defining the structure of the organized data. I think the approach used by CTP for this purpose [1] is more transparent than the one in dcmjs [2].

[1] "This example shows tags for PatientID/AccessionNumber/StudyInstanceUID: (0010,0020)/[00080050]/(0020,000D)", see http://mircwiki.rsna.org/index.php?title=CTP-The_RSNA_Clinical_Trial_Processor#DirectoryStorageService

[2] trialname/centersubj/dicomstudyid/dicomseriesid/

download log

some way of downloading stuff created by mapDom and returned as return_value.status.log
Important here to verify keepOnlyExplicitTags is not removing too much (will manually analyze the log for now)

chrome gets stuck after reading

not sure if same as #9, so it gets it's own issue. I did another test run on a very large dataset of size n. I just saw it count to almost the end (very good performance there) - could very well be n-1 or n - and then displaying "ignoring hidden file/directory: .DS_Store", and getting stuck there. No error message, but the browser tab (not the browser as a whole) is getting completely locked. CPU resources spike very high for a long time (presumably before I'm going to kill it). Here, I suspect the jqGrid is the guilty - can we avoid too much data in jqGrid or should we even completely skip it for the purpose of this run?

file grouping of output by zipFileName

use mapDom zipFileName to group files into zips, optionally making multiple zips with numeric extension to zipFileName if too many files in the same group.

adding tags not working

in mapper.js there's a new tagInsert function which adds tags to the jQuery dom as discussed, but the tags won't get converted into the DICOM image output.

progress blocks when no internet connection

Because the page uses google analytics the progress bar hangs at 99% when there's no internet connection and you try to load from a local file (would probably happen if google were down too). Is there a way to exclude google analytics from the list of things we are waiting for?

(Discovered the issue while trying to code at the airport ; )

organize fails on some bad dicom

This message shows up in the debug console when dropping data exported from ITK (CreateADicomSeries module in Slicer). Probably an unescaped character or something.

Uncaught Error: Invalid XML:


258
00\01
1.2.840.10008.5.1.4.1.1.2
1.2.826.0.1.3680043.2.1125.1.59359411652205962355962884364659604
1.2.840.10008.1.2
1.2.826.0.1.3680043.2.1143.107.104.103.115.2.0.17.111.124.113
GDCM 2.0.17
GDCM/ITK 4.6.0


ORIGINAL\PRIMARY\AXIAL
1.2.840.10008.5.1.4.1.1.2
1.2.826.0.1.3680043.2.1125.1.59359411652205962355962884364659604
20090219
010100.000000
1
MR
Unknown manufacturer
Unknown
MR
head
Unknown model
2766852498
LUNG3-72
20060101
010100.000000
M
None
1.3
HFS
1.2.826.0.1.3680043.2.1125.1.34493480437392627366231424368094418
1.2.826.0.1.3680043.2.1125.1.37921084629263350765371580798490328
SLICER10001
1
61
8.64517-133.929\116.786
0\1\0\0\0-1
1.2.826.0.1.3680043.2.1125.1.33360776706425990252973269286741708
SN
1
MONOCHROME2
256
256
1\1
16
16
15
1
84
169
0
1
None
=./uploadedFile.dcm.0.raw

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.