aeskulap-users
[Top][All Lists]
Advanced

[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
>
>   





reply via email to

[Prev in Thread] Current Thread [Next in Thread]