Identify AETITLE in DicomCStoreRequest request

540 views
Skip to first unread message

Giuseppe Melis

unread,
Mar 6, 2016, 6:18:35 PM3/6/16
to Fellow Oak DICOM
Hi,
can I identify in the  "public DicomCStoreResponse OnCStoreRequest(DicomCStoreRequest request)" the AETITLE?
Or is a field present only in OnReceiveAssociationRequest(DicomAssociation association)?
So there is an ID that connect the request with the association?

Thank you.

Giuseppe

Giuseppe Melis

unread,
Mar 8, 2016, 5:05:54 PM3/8/16
to Fellow Oak DICOM
I don't understand where is the AETITLE field in dicomtag.
request.Dataset.Get<string>(DicomTag.XXXXXXXXX).
I used
DicomTag.ReceivingAE
DicomTag.RequestingAE
DicomTag.RetriveAE
DicomTag.SendingApplicationEntityTitle    etc.

How can retrive AETitle from request object?

Thank you

Adil Tiadi

unread,
Mar 10, 2016, 9:00:29 AM3/10/16
to Fellow Oak DICOM
Hi,

You can get your answer in this file.

You can get AECalling and AE Called like this:

public void OnReceiveAssociationRequest(DicomAssociation association)
{
 
String AECalled = association.CalledAE;
 
String AECalling = association.CallingAE;


 
foreach (var pc in association.PresentationContexts)
 
{
   
if (pc.AbstractSyntax == DicomUID.Verification) pc.AcceptTransferSyntaxes(AcceptedTransferSyntaxes);
   
else if (pc.AbstractSyntax.StorageCategory != DicomStorageCategory.None) pc.AcceptTransferSyntaxes(AcceptedImageTransferSyntaxes);
               
}


               
SendAssociationAccept(association);
           
}

I hope it will help you.

Best regards

Adil

Giuseppe Melis

unread,
Mar 10, 2016, 9:49:46 AM3/10/16
to Fellow Oak DICOM
If I've 2 AETITLE in the service or receive from 2 different device with 2 different AETITLE, I want save it in different path or execute different process.
So I must know called and calling AETITLE. But this values must be read in public DicomCStoreResponse OnCStoreRequest(DicomCStoreRequest request).
Because if I receive 200 images from 2 AETITLE or send to 2 my AETITLE at the same time, how can save the study in different storage path?

Thank you

Giuseppe Melis

unread,
Mar 10, 2016, 9:56:21 AM3/10/16
to Fellow Oak DICOM
The problem is can read the AETITLE in DicomCStoreRequest request or there is an ID between association and request? Or the service can't receive from different  AETITLE (called/calling), but can work only a study and only after have received the first study can receive the second?

Thank you 

Adil Tiadi

unread,
Mar 10, 2016, 3:08:45 PM3/10/16
to Fellow Oak DICOM
Hi, 

Sorry i was in meeting...
Which version of fo-dicom you have?
I will write you a simple sample that will create you a folder for each AET tomorrow  !
Maybe we can talk about it by mail

Best regards,

Adil TIADI

Giuseppe Melis

unread,
Mar 10, 2016, 5:50:09 PM3/10/16
to Fellow Oak DICOM
My fo-dicom version is 2.02.

Thank you

Giuseppe

Adil Tiadi

unread,
Mar 11, 2016, 3:19:53 AM3/11/16
to Fellow Oak DICOM
Hi, 

I changed the sample of dicom store scp provided by fo-dicom community to fit to you.
Tell me if it's ok for you.

Best regards.

Adil 

Program.cs

Giuseppe Melis

unread,
Mar 11, 2016, 6:02:33 AM3/11/16
to Fellow Oak DICOM
Ok. But if I've 2 AET (A1 and A2) and receive 2 association AET at the same time: first from B1 to A1 and then B2 to A2. Then the OnCStoreRequest receive the first study from B1 after the B2 association. I've a problem because the AET global variable is set to B2 association but in this moment I received B1 . Is this correct? There is a problem because the association and the request not have a unique ID ? 

Thank you

Giuseppe

Adil Tiadi

unread,
Mar 11, 2016, 7:32:33 AM3/11/16
to Fellow Oak DICOM
Hi,

No it's will work... For each association, the program created a folder for each AE.
The program will create a folder for A1\B1 and for A2\B2.
Each association got his own id.
Maybe I didn't really understand your trouble. Sorry!

Best regards,



Giuseppe Melis

unread,
Mar 11, 2016, 8:13:06 AM3/11/16
to Fellow Oak DICOM
Ok I undestand the " program created a folder for each AE ". but don't understand if there is a connection beetwen the 2 function:
 - public void OnReceiveAssociationRequest(DicomAssociation association)
- public DicomCStoreResponse OnCStoreRequest(DicomCStoreRequest request)

The workflow of a single AE is:
1 Receive association request OnReceiveAssociationRequest(DicomAssociation association)
2 Response ok
3 Receive first image in OnCStoreRequest(DicomCStoreRequest request)
4 Response ok
5 Receive association request OnReceiveAssociationRequest(DicomAssociation association)
6 Response ok
7 Receive second image in OnCStoreRequest(DicomCStoreRequest request)
8 Response ok
9 Receive association request OnReceiveAssociationRequest(DicomAssociation association)
10 Response ok
11 Receive third image in OnCStoreRequest(DicomCStoreRequest request)
12 Response ok
.....etc. repeat until last image.

But if I receive from many AE at the same time.
Between the phase 1 and the phase 3  I can receive many AE association before start receive the first image from first AE (in a big hospital there is the problem).
The association is not the image, so there is an amount of time between association and receipt image. If I use a global variable in that amount of time it can change before read the image.

It is right?

Adil Tiadi

unread,
Mar 12, 2016, 3:45:21 AM3/12/16
to Fellow Oak DICOM
Hi,

I use this program for my customers (hospital, vet clinic) with no trouble.
Let's try it if you want with some store clients and send simultenaously multiple studies. 

Best regards,

Adil

jarek_w

unread,
May 18, 2016, 4:54:59 AM5/18/16
to Fellow Oak DICOM
Hi Giuseppe,
Have a look at: request.File.FileMetaInfo.SourceApplicationEntityTitle property. Hope it helps.
JarekW
Reply all
Reply to author
Forward
0 new messages