multi threading

  • Hi,


    conquest does not log making a new connection so the log does not show what happens. I will add this to the buglist.


    If you watch it on RSAPACS I guess ForwardAssociationLevel = STUDY does not work for an importconverter. Can you test for me if it does work for an export converter? If so it is a confirmed bug. I can test it at home tonight.


    Edit: can you try the dgate64.exe (just replace it) from 1.5.0beta just to make sure it behaves the same.


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • I have used it fine with the ExportConverters. There it DOES work. Do does the delay. I just have to keep testing under a load to see which way I want to go. I love the multi-threading that ImportConverters uses (and I can see that happening as I can see the different channels assigned to incoming studies and I see it happening in the PACS). But, I can't have it do it at image level. I think I am going to have go with ExportConverters so I can do it at study level and delay it for 30 seconds like I need. I am just afraid that without multi-threading, once Conquest goes under a load (even though there are 4 instances running), it will be too slow to transfer out to PACS.


    I can't thank you enough for all your help.


    I guess the only thing left (other than wishing for multi-threading with ExportConverters! :roll:) is why I can't get the "clear image database" under the Maintenance page to do anything....:(


    I will keep an eye out for any update that will fix those bugs, especially the one to forward at study level with ImportConverters!

  • Ah, I did not test without delay, only with. I will test without delay.


    Ok on clear database. Is the only way to delete the studies themselves from the "data" directory is manually? I would like it done automatically at a set time every morning, say 1:00 am up to 3:00 am.


    Let me test now

  • Ok, I used ExportConverters and ForwardAssociationLevel = STUDY. I took out any delay. Conquest did receive it and stored it but after 10 minute wait, it did not send at all.


    Here is what I had in the dicom.ini


    ForwardAssociationLevel = STUDY

    ExportConverters = 1

    ExportConverter0 = forward study to RSAPACS

  • Yes,


    that is the only way to make an importconverter work at study level (images are not stored, so it opens a channel and leaves it open to forward as long as compatible images of the same study are received). Don't forget the channel *


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • Marcel, here is what I have now:


    ForwardAssociationLevel = STUDY


    ImportConverter0 = forward to RSAPACS channel *


    still forwarding at the image level.


    I did as you said:


    ForwardAssociationLevel = STUDY

    ExportConverters = 1

    ExportConverter0 = forward to RSAPACS


    No delay, but forwarding at image level still

  • I watch the RSA PACS and Conquest. I see image by image storing and also in Conquest, doing both ways, I see it store and send image immediately. If I use the delay command, then it does it at study level

  • Ok, I have to be doing something wrong. Now, even with delay, it is doing it image by image. I am going to keep trying until I can see why this is happening.


    Does it matter where in the dicom.ini the ForwardAssociationLevel = STUDY command is maybe? Right now, it is before the Import and Export commands

  • I went back and changed it to "forward STUDY to RSAPACS" and it went at study level. That is with Export. With Import, if use the word STUDY in the ImportConverter

    (ImportConverter0 = forward STUDY to RSAPACS channel *) then Conquest locks and I have to restart

  • Behavior as expected. ImportConverter does not know 'forward study'.


    Can you show a bit of log from RSAPACS. ForwardAssocationLevel=Study means it does not make a new association between images.


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • If ImportConverters can't do study level, then I can't use Conquest. ExportConverters will only do 1 at a time (too slow going out when you have over 800 studies a day) and ImportConverters multi-threading is what I need, but I can't let it go by image level as that much data, again at 800 studies a day (CT, MR, MG, US, DR, DX, NM) slows process and clogs up my system.


    Until ImportConverters can do "study" level or ExportConverters can do multi-threading, I won't be able to use Conquest.


    Again, do appreciate everything and I love Conquest, but those limitations prevent me from using it.

  • Hi,


    You have not yet convinced me that ImportConverters do not do study level:


    It works as follows:


    1st image comes in

    association to rsapacs opened

    1st image forwarded

    2nd image comes in

    if association is compatible and of same study

    2nd image forwarded

    else

    association to rsapacs closed

    association to rsapacs opened

    2nd image forwarded

    etc


    after timeout

    association to rsapacs closed


    Can you please confirm that this is happening or not? If it does it is just as fast as a study level forward. If not, it is a bug and I want to know about it.


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • What I see is:


    1. In Conquest, I see each image coming in from sender (this case, CT). As the image comes in, an association is created to RSA PACS, a channel is opened (I see the "channel=x") and the image is sent

    2. In RSA PACS, I see the study incoming image by image. I see it in the live monitor and I see it on the study itself, image by image the count increases. And that is the issue, just as you stated, it does each image as it comes in. I can't have 800 studies incoming being broken down image by image on the send. We are talking large CT studies, MRI, Mammo, US, etc. It breaks down each of those studies at the image level and sends at once and that ends up having thousands of images coming into PACS at once. Bogs it down terribly and remember, the PACS is sending all these studies out to at least 3 different destinations at once and it waits for entire study to be received and then sends to the destinations at the study level WITH multi-threading so I can have several studies going to several destinations all at the same time using JPEG LS compression.


    If I use ExportConverters and tell it to use study level and delay, it sends the entire study at once, not image by image. On ImportConverters, it creates an association image by image. If I send a lot of studies, I see multi-threading and I see image by image. It does not hold the study until the entire study is received and then send the study complete with Import, it sends each image as it is received. I need it to wait until the entire study is received and then send on the study level. Using Export and telling it to both delay and send at study level, it waits until the entire study has completed, waits the 30 second delay, and then sends the entire study at once. The issue there is it will only do one study at a time. I need it to send multiple studies at the same time (multi-threading). That it can't do. And, with 800 studies a day coming in, doing 1 at a time is way to slow.

  • Hi,


    a move by study works as follows:


    open association

    send images one by one

    close assocation


    From your reply I cannot see if the ImportConverter does this


    open association

    send images one by one

    close assocation


    or this:


    open association

    send one image

    close assocation

    open association

    send one image

    close assocation

    etc


    Can you please confirm this?


    I understand you want a delayed exportconverter that is multithreading, but that is quite a bit of coding.


    Thanks,


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • understood. what it does is the second one:


    open association, send 1 image, close association

    open association, send 1 image, close association


    It is NOT open association, send images 1 by 1 until study is done, close association.


    It creates an association for each image, sends it, then closes association and starts all over again until study complete