PACS to PACS Data Transfer

All other questions regarding DCMTK

Moderator: Moderator Team

Message
Author
SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

PACS to PACS Data Transfer

#1 Post by SIMONP »

Hello...

Is it possible to retrieve DICOMs from on PACS System
directly to another one ?
To retrieve DICOMs to the file system we run something like
STORESCP and provide output folder for storage.
Is it possible to make anothe PACS acting as "STORESCP" ?
and have DICOMs forvarded directly there ?

Thanks again

Simon

Michael Onken
DCMTK Developer
Posts: 2051
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: PACS to PACS Data Transfer

#2 Post by Michael Onken »

Hi,

yes, you can ask a DICOM PACS to send the images to any other DICOM (storage) node, by telling the PACS the AE Title it should send the images to. This only works if the (sending) DICOM PACS has configured the desired receiver's AETitle with its corresponding IP address and port since otherwise, of course, the PACS does not know how to connect to the specified AE Title.

In DCMTK, movescu is the tool that you need to use as the client.

I wrote a DICOM DCMTK networking tutorial sometime ago that also covers an explanation of the C-MOVE command (that movescu uses to initiate transfer).

Best regards,
Michael

P.S: Probably I'm in Boston next year, and considering the price level, I will remember your offer, :) I you want to come to Germany instead, and learn more about DICOM and DCMTK, there is a good training opportunity October this year ;)

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#3 Post by SIMONP »

Thanks much Michael....

Not sure about coming to Germany this fall: I am a contractor and chances are that I won't
be on this contract shortly BUT my offer is valid no matter what...

Thanks again

Simon

PS just in case my private email: [hidden from bots, the editor]

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#4 Post by SIMONP »

Michael...

coming back to PACS-TO-PACS transfer...
If 2 PACS have each other in their configuration files,
is it possible to have high level DCMTK classes as
DcmSCU, DcmStorageSCU (not sire what else to mention)
to request this PACS-TO-PACS transfer... (to mimic your movescu utility functionality) ?
Maybe you even have some example which accomplishes that ?

Thanks again
Simon

Michael Onken
DCMTK Developer
Posts: 2051
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: PACS to PACS Data Transfer

#5 Post by Michael Onken »

Hi Simon,

there is no specialized class for MOVE, so far, comparable to DcmStorageSCU for STORE.

However, there is a DcmSCU tutorial

There is a short howto for DcmSCU that shows how to send a C-FIND (to find out about images on the PACS), followed by a C-MOVE to retrieve them.

As you can see, it's a page of code using DcmSCU.

Best,
Michael

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#6 Post by SIMONP »

Michael,
Thank you for this and all previous replies...
Your DcmSCU sample which demonstrates using C-FIND followed by C-MOVE is very useful (separate thank you for that):
I was able to query the PACS running DCMTK dcmqrscp for a specific study and retrieve found study to the PC where my app
(DcmSCU) is running and where I started DCMTK storescp...
Now I am trying the same but instead of storing DICOMs to the local file system send them to another PACS...
This is what I do: I apologize for the long post...

This is DCMTK PACS-FROM config…
==============================================
NetworkTCPPort = 104
MaxPDUSize = 16384
MaxAssociations = 16
HostTable BEGIN
simon_pc = (SIMON_PC, HARTFORD, 12340) //this is PC where DcmSCU us running
linux_pc = (LINUX_PC, TAOS, 11112) //this is PACS TO PC
FSSDicomImagingCompany = simon_pc, linux_pc
HostTable END
VendorTable BEGIN
"FSS DICOM Imaging Company" = FSSDicomImagingCompany
VendorTable END
AETable BEGIN
FSS_FROM_STORE "C:/dicomdb/db1/FSS_FROM_STORE" RW (100, 16384mb) FSSDicomImagingCompany
AETable END
==============================================

This is DCMTK PACS-TO config…
==============================================
NetworkTCPPort = 11112
MaxPDUSize = 16384
MaxAssociations = 16
HostTable BEGIN
simon_pc = (SIMON_PC, HARTFORD, 12340) //this is PC where DcmSCU is running...
freeport_pc = (FREEPORT_PC, FREEPORT, 104) //this is PACS FROM PC
FSSDicomImagingCompany = simon_pc, freeport_pc
HostTable END
VendorTable BEGIN
"FSS CT Company" = FSSCTCompany
VendorTable END
AETable BEGIN
FSS_TO_STORE "tmp/database2" RW (100, 16384mb) FSSCTCompany
AETable END
==============================================

SIMON_PC (“HARTFORD”) is PC where DcmSCU is calling…
#define APPLICATIONTITLE "SIMON_PC"

#define PEERHOSTNAME "192.168.10.83"
#define PEERAPPLICATIONTITLE "FSS_FROM_STORE" //AETitle
#define PEERPORT 104

#define MOVEAPPLICATIONTITLE "FSS_TO_STORE"

C-FIND works perefectly Ok but C-MOVE goes nowhere...

Again I apologize for a long post. Your help in forms of pointing at whats wrong
would be gratly appreciated...

Regarsd
/SP

Michael Onken
DCMTK Developer
Posts: 2051
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: PACS to PACS Data Transfer

#7 Post by Michael Onken »

Hi Simon,

I do not have the time right now to check your config in detail. However, I noticed that you tell the PACS to send the images to AETitle "FSS_TO_STORE" (the so-called move destination which you configured with #define MOVEAPPLICATIONTITLE "FSS_TO_STORE"), however, that AE Title is not directly configured as move destination at your PACS. If you were the PACS (...), and I tell you to send images to FSS_TO_STORE, what you would do? Send it to simon_pc or freeport_pc? Thus, you have to provide a separate, distinct entry for all possible move destinations, the company name thing does not work.

Since you already configured SIMON_PC and FREEPORT_PC, try one of those as your move destination in DcmSCU (and make sure storescp listens on the port configured in dcmqrscp config).

Details can be found, as already noted, in this DCMTK PACS networking howto ...

Good luck,
Michael

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#8 Post by SIMONP »

Hi Michael....

Thanks again for your reply and my apologies again for such a long and messy post....
Now I can re-phrase my question in much more compact form....
1. I have PACS1 configured on PC1;
2. I have PACS2 configured on PC2;
3. I have PC3 which runs the client (DcmSCU), this client establishes association
with PACS1 and sends the request to move data to PACS2.

To accomplish this do I need to run separate STORESCP on the same machine where PACS2
in running ? If so the files will be copied to the directory specified in "-od" parameters of STORESCP
but not in the PACS2 Database ...
The goal which I need to accomplush is to send data from one PACS Databse to another PACS Database, but not to the file system... Is it accomplishable ?

Thanks a lot

/Simon

Michael Onken
DCMTK Developer
Posts: 2051
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: PACS to PACS Data Transfer

#9 Post by Michael Onken »

No, you don't have to run a separate storescp, I just meant that there has to be a storage receiver which can be the regular PACS, of course.

Maybe you should first try movescu and if you have it working, then mimic the messages it sends with DcmSCU.

And take the time and read the tutorial :)

Best,
Michael

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#10 Post by SIMONP »

Michael...

I read the tutorial, ran MOVESCU (succesfully moved DICOM file from PACS-FROM to file system),
used WireShark to check all the messages on DICOM network (made all homework you requested :))
Sill have problem.
So
1. LINUX_PC is AETitle referenced in PACS-FROM config:
linux_pc = (LINUX_PC, TAOS, 11112)
2. I run DCMQRSCP on TAOS machine (this is PACS-TO) (on the same Network of course) and it listens on port 11112;
3. send C-Move request: result = scu.sendMOVERequest(presID, "LINUX_PC", &req, NULL);
C-MOVE response is : "Refused: Out of Resources - Unable to perform sub-operations"...
What do I do wrong now ? or it is a real DICOM-Networking problem ?
Thanks again

Simon

Michael Onken
DCMTK Developer
Posts: 2051
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: PACS to PACS Data Transfer

#11 Post by Michael Onken »

Can you check the log of the destination PACS, i.e. LINUX_PC? Maybe you try to move compressed images which are not accepted by LINUX_PC.

The sending PACS does seem to accept your move request, i.e. it "understands" LINUX_PC, otherwise it usually returns "Move Destination Unknown".

Best,
Michael

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#12 Post by SIMONP »

I dpn't think this is the case (I stored ct.dcm file which comes with DCMTK installer to PACS_FROM and try yo move it to PACS2 frpm there)...

BTW: to cewate a log file I should place something like --log-config logfile.cfg on DCMQRSCP command line ?

thanks

/simon

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#13 Post by SIMONP »

I've tried MOVESCU and sifferent study: same error...

movescu -v -S -aec FSS_DONS_STORE -aet SIM_PC -aem LINUX_PC --port 11112 FREEPORT 104 -k QueryRetrieveLevel=STUDY -k PatientName -k StudyInstanceUID=1.2.840.113619.2.327.3.2831160594.683.1445313449.234

I ran this command on PC with AETitle SIM_PC (referenced on FSS_DONS_STORE (hostname FREEPORT) and try to move this study
to LINUX_PC which runs SCMQRSCP listening on port 11112.
FREEPORT listens on port 104...
anything wrong here ?

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#14 Post by SIMONP »

sorry for the series of posts: when using MOVESCU should I specify destination folder on LINIX_PC (database folder from dcmqrscu.cfg) or MOVESCU figures out what this folder is ?

thanks

/simon

SIMONP
Posts: 28
Joined: Fri, 2016-06-17, 11:11

Re: PACS to PACS Data Transfer

#15 Post by SIMONP »

so, this is a summary of my problem:

if I move study from some PACS-FROM on the network to PACS-TO, which
is running on the same PC where DcmSCU client
PACS-FROM generates the following error:
E: moveSCP: Sub-Association Rejected
E: Result: Rejected Permanent, Source: Service User
E: Reason: Called AE Title Not Recognized
E: moveSCP: Sub-Association Release Failed: 0006:0106 ASC Caller passed in a NULL key

looks like PACS-FROM doesn't recognize destination AETiele ("SIMON_PC") though
SIMON_PC is referenced in PACS-FROM config:
...
simon_pc = (SIMON_PC, HARTFORD, 104)
...

BUT if I run STORESCP instead of DCMQRSCP
storescp -aet SIMON_PC -od "c:\dicomdb/db1/FSS_CTWIN_STORE" -uf 104
(I specified Database folder from dcmqrscp.cfg). study gets copied to this folder
but index.dat of cource is not updated...

please say what you think ? THANKS...

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 1 guest