Code Monkey home page Code Monkey logo

Comments (4)

pieper avatar pieper commented on August 22, 2024

Hi - thanks for reporting and linking to your RPB work. Your uploader use case is exactly the kind of thing dcmjs is intended to support, but yes, the "real world" of dicom is complex and often frustrating.

The older commontk effort to cross compile dcmtk should still work, and in fact if it needs to be updated it is probably much easier to implement today than it was when we first did the experiment. The plan was exactly to take advantage of decades of battle hardening that the dcmtk team put into the package so it's probably the most robust solution. It's a fairly big package by javascript standards and slower so you could load it only if you run into problematic data that the pure js dcmjs can't handle.

That said, it's also probably not hard to fix the javascript code so that it works for this data. If you want to provide some code with tests that would be great.

I try to keep an eye on these projects but I'm not actively developing either one so they rely on community collaboration to keep them going.

from dcmjs.

kursawero avatar kursawero commented on August 22, 2024

Hi, thanks for your answer. We dig a little bit deeper and found a way how it could be fixed in the Javascript code. I added a pull request this.

It seems that we have sometimes some binary data in private tags in our data sets that have byte sequences which are similar to some tags that are used to detect the end of the sequence. The issue is gone by using tag and length, which are defined by the standard. Then we have 8 byte instead of 4 which we compare and it is more unlikely to match that sequence with binary data.

The "dcmconv" command line tool just calculated the item length and converted from undefined length items to defined length items that then did not pass the specific part of the code. That means at the end that the command line tool most likely also uses tag and length attributes for detection or it evaluates the "Sequence Delimitation Item", which is here just used in the outer while loop.

It would be great if someone could review and help getting the pull request merged.

from dcmjs.

kursawero avatar kursawero commented on August 22, 2024

I think, we can close the ticket, since the pull request has been merged to master. Thank you very much for the quick review.

It seems that the semantic release automation did not work (link to the failed job), because of the capitalized "F" in fix():. Could you please check that?

from dcmjs.

pieper avatar pieper commented on August 22, 2024

Okay, let me try another commit.

from dcmjs.

Related Issues (20)

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.