commontk / dcmjs.org Goto Github PK
View Code? Open in Web Editor NEWWebsite showcasing dcmjs - a javascript cross-compile of dcmtk
Home Page: http://dcmjs.org
Website showcasing dcmjs - a javascript cross-compile of dcmtk
Home Page: http://dcmjs.org
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.
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
mapping table gets displayed, but csvMappingTable variable doesn't get updated. handleCSVFileSelect is not called even if mapfile is re-selected
re-factor mapping
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.
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).
ahem, helpful for very large datasets
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)
}
}
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”
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.
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.
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/
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)
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?
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.
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.
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 ; )
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
Hello team,
Basically I have two questions.
I need to change the dicom tag values client side ? Can you please suggest a way ?
I am using "http://dcmjs.org/organize/index.html" for the reference. I just started work on this. Can you please explain steps in brief.
zip files cannot be read with standard Win7 unzip.
This is also true for relatively small files
CTP config files are in a well-structured format, and have been used by a large community of users. It would be very helpful if those could be reused in dcmjs.org
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.