15,914,016 members
Sign in
Sign in
Email
Password
Forgot your password?
Sign in with
home
articles
Browse Topics
>
Latest Articles
Top Articles
Posting/Update Guidelines
Article Help Forum
Submit an article or tip
Import GitHub Project
Import your Blog
quick answers
Q&A
Ask a Question
View Unanswered Questions
View All Questions
View C# questions
View C++ questions
View Javascript questions
View Visual Basic questions
View Python questions
discussions
forums
CodeProject.AI Server
All Message Boards...
Application Lifecycle
>
Running a Business
Sales / Marketing
Collaboration / Beta Testing
Work Issues
Design and Architecture
Artificial Intelligence
ASP.NET
JavaScript
Internet of Things
C / C++ / MFC
>
ATL / WTL / STL
Managed C++/CLI
C#
Free Tools
Objective-C and Swift
Database
Hardware & Devices
>
System Admin
Hosting and Servers
Java
Linux Programming
Python
.NET (Core and Framework)
Android
iOS
Mobile
WPF
Visual Basic
Web Development
Site Bugs / Suggestions
Spam and Abuse Watch
features
features
Competitions
News
The Insider Newsletter
The Daily Build Newsletter
Newsletter archive
Surveys
CodeProject Stuff
community
lounge
Who's Who
Most Valuable Professionals
The Lounge
The CodeProject Blog
Where I Am: Member Photos
The Insider News
The Weird & The Wonderful
help
?
What is 'CodeProject'?
General FAQ
Ask a Question
Bugs and Suggestions
Article Help Forum
About Us
Search within:
Articles
Quick Answers
Messages
Comments by chitlenz (Top 1 by date)
chitlenz
7-Apr-11 1:22am
View
I think I get it, you want to do overlays right? I just don't understand why you are trying to alter the actual pixel data within the image instead of storing an external file and moving on. The solution I posted was for actually altering the pixeldata, since you have to re-sign the file using a valid DICOM UID if you make any edits at all to the original file. I don't know what your application is, so it's hard to understand your motive for doing this, but one possible reason is that you are digitizing a CR from film and want to insert patient data into the DCM file so that when the file is sent to a DICOM printer it will burn into the film, right? In this case, you will have a DCM UID issued from the digitizer (which usually allows you to edit the demographic data right at the capture, by the way) with whatever the tech typed in at capture time burned into the header. So, say the tech types in 'patient^one', and you want to modify that to show up as 'another^patient' when it prints (as the overlay). You would create a new DICOM file (from a UID base/root) and then add the pixeldata and header to match your needs, then you have a uniquely signed DICOM file. Again, this is all presuming you have to modify the file for some reason... have you looked into DICONDE yet (DICOM + Non Destructive Edits)? I think you may be driving a nail with a sledgehammer in a way. All demographic data from the header is applied as overlays, with the exception of US and CR/Film (there are other exceptions, but those mainly will show up in weird formats). In the DICOM standard, this is almost certainly covered in the 'hanging protocols' area, so if this explanation does not cover what you are looking for, you could look there as well.
Hope that helps.