bolox
asked on
DICOM Translator
I have a DICOM (CT IMage) and i need to extract the text information (HEADER).
I need to get each specific byte for it to work.
Can you help me, The relevant info is here http://www.psychology.nottingham.ac.uk/staff/cr1/dicom.html this will show you where the bytes are, and i can email you a dicom file if you require, but i believe therre are some downloadable ones there.
Just for sake i want in this demo to extract 0010,0010 (Patient Name) ONLY, by clicking a button, for it to open the file, and get info.
PLEASE HELP.
I need to get each specific byte for it to work.
Can you help me, The relevant info is here http://www.psychology.nottingham.ac.uk/staff/cr1/dicom.html this will show you where the bytes are, and i can email you a dicom file if you require, but i believe therre are some downloadable ones there.
Just for sake i want in this demo to extract 0010,0010 (Patient Name) ONLY, by clicking a button, for it to open the file, and get info.
PLEASE HELP.
Read the whole file
ie
Dim ff As Integer, Filename As String, s As String
Filename = "Yourfile"
ff = FreeFile
Open Filename For Binary Access Read Lock Read Write As #ff
s = Space$(LOF(ff))
Get #ff, , s
Close ff
dim Arr, I as long
arr = split(s, vbcrlf)
for i=0 to ubound(arr)
if (instr(arr(i), "0010,0010") then
' Find the line extra data from here
exit for
endif
next
erase arr
ie
Dim ff As Integer, Filename As String, s As String
Filename = "Yourfile"
ff = FreeFile
Open Filename For Binary Access Read Lock Read Write As #ff
s = Space$(LOF(ff))
Get #ff, , s
Close ff
dim Arr, I as long
arr = split(s, vbcrlf)
for i=0 to ubound(arr)
if (instr(arr(i), "0010,0010") then
' Find the line extra data from here
exit for
endif
next
erase arr
ASKER
This does not search through the file? IF i put un unknow file in, it does not give an error,
Could you put the result into a text field so that i can see what is has found?? and maybe put a limiter on it to say....
Display everything between 0010,0010 and 0011,0011 for example.
I WILL offer more pooints, i am waiting for some deleted question points to come my way.
Thanx
Could you put the result into a text field so that i can see what is has found?? and maybe put a limiter on it to say....
Display everything between 0010,0010 and 0011,0011 for example.
I WILL offer more pooints, i am waiting for some deleted question points to come my way.
Thanx
ASKER
if yo ugive me your email address i will email you a Dicom file, That way you can see what i am dealing with, (My question is a bit confusing now i think about it)
eddykwan2003@yahoo.com
Have you investigated the numerous DICOM reader controls and librarys available for DICOM manipulation. I use LeadTools medical imaging suite for our applications....Its costly though $8k for the full suite (2 month free eval though). Doing this by hand will be difficult unless you are positive regarding the modality of your images (Tomagraph,Intraoral-pano, etc....) otherwise byte position will be extremely variable.
>>Just for sake i want in this demo to extract 0010,0010 (Patient Name) ONLY, by clicking a button, for it to open the file, and get info.
>>Display everything between 0010,0010 and 0011,0011 for example
Which one you want?
You don't even has 0011,0011 in the file?
>>Display everything between 0010,0010 and 0011,0011 for example
Which one you want?
You don't even has 0011,0011 in the file?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
It is very difficult to work with DICOM files from scratch. Even if you succeed to extract some information from some specific file, this way may fail on another file.
When you will get some result, try it on variuos files from here:
http://www.barre.nom.fr/medical/samples/
See also list of DICOM programs on this page. Usually they are developed in C or C++ and not VB.
For full solution I suggest you to use some third-party tool, which supports COM interface and available for VB developer. This is one of the best (and costs a lot of money,unfortualtely):
http://www.leadtools.com/home2/techcat/ltprodfeatures.htm
When you will get some result, try it on variuos files from here:
http://www.barre.nom.fr/medical/samples/
See also list of DICOM programs on this page. Usually they are developed in C or C++ and not VB.
For full solution I suggest you to use some third-party tool, which supports COM interface and available for VB developer. This is one of the best (and costs a lot of money,unfortualtely):
http://www.leadtools.com/home2/techcat/ltprodfeatures.htm
ASKER
Sorry to be a pain, But it is in HEX format??
Can you still help.????
It starts at 504E0C00 (String 3BD) and continues to 100020
Any Ideas?
Can you still help.????
It starts at 504E0C00 (String 3BD) and continues to 100020
Any Ideas?
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:
PAQ/Refund
Please leave any comments here within the next seven days.
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
leonstryker
EE Cleanup Volunteer
I will leave a recommendation in the Cleanup topic area that this question is:
PAQ/Refund
Please leave any comments here within the next seven days.
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
leonstryker
EE Cleanup Volunteer
ASKER
Thankyou for all of your help, sory for the delay in responding.
Regards
Bolox
AKA Gavin
Regards
Bolox
AKA Gavin
ASKER