[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Aeskulap-users] aeskulap dicom issues
From: |
Alexander Pipelka |
Subject: |
Re: [Aeskulap-users] aeskulap dicom issues |
Date: |
Thu, 12 Apr 2007 08:07:58 +0200 |
User-agent: |
Thunderbird 1.5.0.10 (X11/20070403) |
Ok. I was a bit surprised about the SCP behaviour and installed the
'ctn' debian package (this should be the wustl ctn you're using). It's
version 3.0.6.
I started the simple_storage server and did a default query (no query
params).
Everything worked. Here's the output:
address@hidden:~$ simple_storage -c CTN 8001
CFind Request
Message ID: 1
Data Set Type: 0001
Priority: 0002
Class UID: 1.2.840.10008.5.1.4.1.2.1.1
Find callback
SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
Query Level: STUDY
Response Count: 1
DCM Dump Elements
Object type: ELEMENT LIST
Object size: 122
Group: 0008, Length: 72
0008 0005 10 // ID Specific Character Set//ISO_IR 100
0008 0020 0 // ID Study Date//
0008 0030 0 // ID Study Time//
0008 0052 5 // ID Query Level//STUDY
0008 0061 0 // ID Modalities in Study//
0008 1010 0 // ID Station Name//
0008 1030 0 // ID Study Description//
Group: 0010, Length: 34
0010 0010 1 // PAT Patient Name//*
0010 0020 0 // PAT Patient ID//
0010 0030 0 // PAT Patient Birthdate//
0010 0040 0 // PAT Patient Sex//
Group: 0020, Length: 16
0020 000d 0 // REL Study Instance UID//
0020 0010 0 // REL Study ID//
DCM Dump Elements Complete
Find callback
SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
Query Level: STUDY
Response Count: 2
Find callback
SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
Query Level: STUDY
Response Count: 3
Find callback
SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
Query Level: STUDY
Response Count: 4
Find callback
SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
Query Level: STUDY
Response Count: 5
Maybe 'simple_storage' is the wrong choice. I'm not familiar with the
ctn package.
Is this a valid testing evironment or do i have to use some special
options ?
Alex
Mitchell Laks schrieb:
> Alex,
> you need to review the definition of the
> Patient root model
>
>
> *********************
> more importantly look at the FAQ #38 on dcmtk forum
>
> FAQ #38: How can I use findscu for a query with the query/retrieve service?
>
>
>
>
> Joined: 02 Nov 2004
> Posts: 117
> Location: Oldenburg, Germany
>
> PostPosted: Wed, 2005-01-19, 13:31 Post subject: FAQ #38: How can I use
> findscu for a query with the query/retrieve service? Reply with quote
> Question How can I use findscu for a query with the query/retrieve service?
>
> Exclamation Here is an example: using findscu to query an image from a
> query/retrieve SCP using the patient root information model:
>
> Code:
> findscu -v -P -k 0008,0052="IMAGE" -k 0010,0020="300019" -k
> 0020,000D="1.2.3.1" -k 0020,000E="1.2.3.2" -k 0008,0018="1.2.3.3" localhost
> 104
>
> Explanation:
>
> * -v runs the application in verbose mode
> * -P specifies to use the patient root information model
> * -k 0008,0052="IMAGE" tells the application that you are querying on
> image level (i.e. for an image)
> * -k 0010,0020="300019" is the patient ID of the patient in question
> (unique key on patient level)
> * -k 0020,000D="1.2.3.1" is the study instance uid of the study in
> question (unique key on study level)
> * -k 0020,000E="1.2.3.2" is the series instance uid of the series in
> question (unique key on series level)
> * -k 0008,0018="1.2.3.3" is the sop instance uid of the image in question
> (unique key on image level)
> * localhost is the machine the query/retrieve SCP is running on
> * 104 is the port the query/retrieve SCP is listening to.
>
> Note that when you are querying on a certain query level (attribute 0008,0052
> set to either PATIENT, STUDY, SERIES or IMAGE), you have to specify all
> unique keys of levels which are above this level; e.g. on image level, you
> have to specify a patient id, a study instance uid and a series instance uid
> to denote the patient/study/series you are referring to, and of course you
> have to finally provide a sop instance uid to specify the image you are
> looking for.
>
>
> *******************8
>
> thus you do NOT have a valid dicom query because you do NOT have a
>
> * unique key on patient level
>
> which must be the PATIENTID which we do not know.
>
> I also tried to use only the patient ID and no name attribute:
>
> here is the aeskulap output:
>
> ******************
> address@hidden:~$ aeskulap
> datadir: /usr/local/share
> trying to load '/usr/local/share/aeskulap/images/grid-1.png'
> trying to load '/usr/local/share/aeskulap/images/grid-2h.png'
> trying to load '/usr/local/share/aeskulap/images/grid-2v.png'
> trying to load '/usr/local/share/aeskulap/images/grid-4.png'
> trying to load '/usr/local/share/aeskulap/images/grid-16.png'
> trying to load '/usr/local/share/aeskulap/images/stock-tool-scale-22.png'
> trying to load '/usr/local/share/aeskulap/images/stock-layers-24.png'
> trying to load '/usr/local/share/aeskulap/images/series-1x1.png'
> trying to load '/usr/local/share/aeskulap/images/series-2x1.png'
> trying to load '/usr/local/share/aeskulap/images/series-2x2.png'
> trying to load '/usr/local/share/aeskulap/images/series-3x2.png'
> trying to load '/usr/local/share/aeskulap/images/series-3x3.png'
> trying to load '/usr/local/share/aeskulap/images/series-4x4.png'
> trying to load '/usr/local/share/aeskulap/images/stock-tool-eraser-22.png'
> trying to load '/usr/local/share/aeskulap/images/cursor_pan.png'
> trying to load '/usr/local/share/aeskulap/images/stock-tool-measure-22.png'
> trying to load '/usr/local/share/aeskulap/images/aeskulap.png'
> prescan: 0
> on_windowlevels_modality_changed() - indexint: 0
> StudyManager::on_filter_search()
> turning cursor busy
> NEW QUERY:
>
> # Dicom-Data-Set
> # Used TransferSyntax: UnknownTransferSyntax
> (0008,0005) CS [ISO_IR 100] # 10, 1
> SpecificCharacterSet
> (0008,0020) DA (no value available) # 0, 0 StudyDate
> (0008,0030) TM (no value available) # 0, 0 StudyTime
> (0008,0052) CS [STUDY] # 6, 1
> QueryRetrieveLevel
> (0008,0061) CS (no value available) # 0, 0
> ModalitiesInStudy
> (0008,1010) SH (no value available) # 0, 0 StationName
> (0008,1030) LO (no value available) # 0, 0
> StudyDescription
> (0010,0010) PN [*] # 2, 1 PatientsName
> (0010,0020) LO [3273016] # 8, 1 PatientID
> (0010,0030) DA (no value available) # 0, 0
> PatientsBirthDate
> (0010,0040) CS (no value available) # 0, 0 PatientsSex
> (0020,000d) UI (no value available) # 0, 0
> StudyInstanceUID
> (0020,0010) SH (no value available) # 0, 0 StudyID
> QueryServerGroup()
> T::SendObject()
> Status Detail:
>
> # Dicom-Data-Set
> # Used TransferSyntax: LittleEndianImplicit
> (0000,0902) LO [Query was formatted improperly. Check required keys] # 52,
> 1 ErrorComment
> T::Drop()
> T::Destroy()
> cursor busy off
> no results !!!
>
> **************
> while this is the ctn output:
>
>
>
> Supported classes: 1
> 23282 Rashi
> Forked child
> ACCEPTED (AES localhost meshulums fun) (Rashi ) 20070411 232058.000000 23461
> Parent
> CFind Request
> Message ID: 1
> Data Set Type: 0001
> Priority: 0002
> Class UID: 1.2.840.10008.5.1.4.1.2.1.1
> Find callback
> SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
> Query Level: STUDY
> Response Count: 1
>
> DCM Dump Elements
> Object type: ELEMENT LIST
> Object size: 130
> Group: 0008, Length: 72
> 0008 0005 10 // ID Specific Character Set//ISO_IR 100
> 0008 0020 0 // ID Study Date//
> 0008 0030 0 // ID Study Time//
> 0008 0052 5 // ID Query Level//STUDY
> 0008 0061 0 // ID Modalities in Study//
> 0008 1010 0 // ID Station Name//
> 0008 1030 0 // ID Study Description//
> Group: 0010, Length: 42
> 0010 0010 1 // PAT Patient Name//*
> 0010 0020 7 // PAT Patient ID//3273016
> 0010 0030 0 // PAT Patient Birthdate//
> 0010 0040 0 // PAT Patient Sex//
> Group: 0020, Length: 16
> 0020 000d 0 // REL Study Instance UID//
> 0020 0010 0 // REL Study ID//
> DCM Dump Elements Complete
>
> STUDY level query, Patient Root model is missing Patient ID (0010 0020) or
> has extra PATIENT level attributes
> Find callback
> SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
> Query Level: STUDY
> Response Count: 2
> Writing to network: Connection reset by peer
> f0012 TCP I/O Error (Illegal seek) occurred in routine: sendReleaseRPTCP
> Exiting
> Supported classes: 1
> 23461 Rashi
> Forked child
> ACCEPTED (AES localhost meshulums fun) (Rashi ) 20070411 232408.000000 23484
> Parent
> CFind Request
> Message ID: 1
> Data Set Type: 0001
> Priority: 0002
> Class UID: 1.2.840.10008.5.1.4.1.2.1.1
> Find callback
> SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
> Query Level: STUDY
> Response Count: 1
>
> DCM Dump Elements
> Object type: ELEMENT LIST
> Object size: 130
> Group: 0008, Length: 72
> 0008 0005 10 // ID Specific Character Set//ISO_IR 100
> 0008 0020 0 // ID Study Date//
> 0008 0030 0 // ID Study Time//
> 0008 0052 5 // ID Query Level//STUDY
> 0008 0061 0 // ID Modalities in Study//
> 0008 1010 0 // ID Station Name//
> 0008 1030 0 // ID Study Description//
> Group: 0010, Length: 42
> 0010 0010 1 // PAT Patient Name//*
> 0010 0020 7 // PAT Patient ID//3273016
> 0010 0030 0 // PAT Patient Birthdate//
> 0010 0040 0 // PAT Patient Sex//
> Group: 0020, Length: 16
> 0020 000d 0 // REL Study Instance UID//
> 0020 0010 0 // REL Study ID//
> DCM Dump Elements Complete
>
> STUDY level query, Patient Root model is missing Patient ID (0010 0020) or
> has extra PATIENT level attributes
> Find callback
> SOP Class: 1.2.840.10008.5.1.4.1.2.1.1
> Query Level: STUDY
> Response Count: 2
> Writing to network: Connection reset by peer
> f0012 TCP I/O Error (Illegal seek) occurred in routine: sendReleaseRPTCP
> Exiting
>
> ************
> thus you need to review the definitions of the query levels carefully:
>
> I should point out that i also corrected the people at osirix about this sort
> of thing
> using the same test bed. :)
>
> they made similar errors initially too.
>
> I stil think you should focus on display and comparison though.
>
> Mitchell
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Aeskulap-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/aeskulap-users
>
>