Comments (12)
I'm happy to help. You know, there's a saying in german thats like "time isn't something that you do have, but it's something you have to take". If you're working on that then of course I will find the time to work with you on that :-)
from fo-dicom.
The Japanese character set (ISO 2022 IR 13/iso-2022-jp) is indeed supported in fo-dicom.
The problem you are encountering is that when fo-dicom reads the Specific Character Set data it only uses the first of the specified encodings in the data string. And since the first character in the Specific Character Set data in your file is a backslash (\
) the data is interpreted as consisting of three (3) items with the first item empty...
I would say that your sample file is invalid and that the first backslash in the Specific Character Set data should be removed. If you remove it, fo-dicom appears to be able to interpret Japanese characters:
from fo-dicom.
Response by Mariusz Kowalski in Google Groups on July 27, 2015:
Anders,
Thank you for dealing with this issue.
I think that using backslash at the beginning of Specific Character Set is correct. I search a little and here are some examples:
http://www.manualslib.com/manual/24431/Canon-Cr-1-Mark-Ii.html?page=84
http://medical.nema.org/dicom/2013/output/chtml/part05/sect_H.3.html
https://www.dabsoft.ch/dicom/5/6.1/
I think that it is wrong behavior that fo-dicom uses only one (first) encoding because (if I understand this mechanism clearly) in case of Code Extension there are some escape characters in strings which should invoke switching of encoding.
Next thing is that when i remove backslash from the beginning of Specific Character Set fo-dicom still display some of tags incorrect:
Thanks,
Mariusz
from fo-dicom.
Many thanks for those links, Mariusz. You are right, I stand corrected :-)
Currently, fo-dicom does not support code extension techniques, but of course it should. As far as I can tell, it is quite a large task to implement though, so it will have to wait until after the version 1.1.0 of fo-dicom that we are about to release shortly.
As an additional help, Mariusz, could you please also display the correct values of the tags above?
from fo-dicom.
Response by Mariusz Kowalski in Google Groups on July 28, 2015:
Correct values:
Patient's Name: ??^??=漢字^表意=かな^ひょうおん
Patient ID: @DM_Cod11_マダタロウ
Patient Comments: YamadaTarou山田太郎ヤマダタロウ
Additional Patient History: YamadaTarou山田太郎ヤマダタロウ
Thanks for your effort, Anders.
from fo-dicom.
Any news about this issue?
from fo-dicom.
@gofal - you mentioned that now that the encoding lives in the dataset instead of in the tags (in fo-dicom 5), it would be easier to add code extension support. I guess to correctly support this, you would need a list of encodings instead of a single encoding in the dataset (at least optionally), which would probably also mean to change the API (I haven't looked closely at this, so I may be wrong). Are there any plans to add this support for the fo-dicom 5 release?
from fo-dicom.
If nobody is working on this, I may have a shot, if you don't mind.
from fo-dicom.
@mrbean-bremen the idea of introducing the new version 5 was, to fix some issues that live deep in the core and change the api. in version4 a lot of things have not been implemented or fixed because it would break api or the core too much.
Yes, I have plans to implement this, but my time is very limited. So would be really great if you could do it!
from fo-dicom.
@gofal - Ok, I already had a look and I will see if I can put something together over the weekend to get this started. I will use the implementation in pydicom as a template (I refactored the encoding part there some time ago).
I will have some questions, of course, regarding upwards compatibility, performance (I may need some help in .NET regarding that), and more, so I will need some of your time anyway...
from fo-dicom.
Hah - that's my standard response if asked if I've got time to help...
from fo-dicom.
some more details are handled in #1200
from fo-dicom.
Related Issues (20)
- fo-dicom is missing NuGet package README file
- JsonDicomConverter is throwing an ArgumentException for Infinity values FL and FD VRs HOT 1
- HTj2k compression support HOT 1
- Error while trying to render image when OverlayData is present HOT 11
- Optimize Rendering by reducing memory usage
- Implement the new forumula of VOI LUT Function Linear_Exact
- Rendering of YBR_RCT and YBR_ICT fail
- Print SCU layout Images not rendering in the correct order
- Add Support to set dicom client ip HOT 2
- Set Time Out duration for requested association for C-Echo / C-Store HOT 4
- Question - How to Load PixelData as Fragments HOT 1
- ImageSharp is not free software - Disclaimer? HOT 5
- DICOM files where numeric tags contain "NaN" (don't ask) cause exceptions
- Race condition in GenericGrayscalePipeline
- Corrupt Multi-frame File - Consistent for all image sizes. HOT 2
- How to monitor the time for a SCU client to transfer multiple files at a time on the SCP Server side HOT 3
- Code in fo-dicom to apply window width and center on an image HOT 1
- TCP listener stuck while processing TLS handshake HOT 4
- HTJ2K Throwing exception HOT 2
- The SCU client transmits images to the fo-dicom c-store-scp, and the speed decreases sequentially after each task is transmitted
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fo-dicom.