Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

"Jesus saves...but Gretzky gets the rebound!" -- Daniel Hinojosa (hinojosa@hp-sdd)


devel / comp.protocols.dicom / Re: WORKLIST minimal realisation

SubjectAuthor
* WORKLIST minimal realisationStefan W
`* WORKLIST minimal realisationStephen Douglas Scotti
 `* WORKLIST minimal realisationStefan W
  `- WORKLIST minimal realisationStephen Douglas Scotti

1
WORKLIST minimal realisation

<t6l85i$15l9$2@gioia.aioe.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1266&group=comp.protocols.dicom#1266

  copy link   Newsgroups: comp.protocols.dicom
Path: i2pn2.org!i2pn.org!aioe.org!6KxXcqma3uIzhPnMOGon4A.user.46.165.242.75.POSTED!not-for-mail
From: vistefan@mail.ru (Stefan W)
Newsgroups: comp.protocols.dicom
Subject: WORKLIST minimal realisation
Date: Wed, 25 May 2022 15:41:22 +0300
Organization: Aioe.org NNTP Server
Message-ID: <t6l85i$15l9$2@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="38569"; posting-host="6KxXcqma3uIzhPnMOGon4A.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.9.0
Content-Language: en-US
X-Notice: Filtered by postfilter v. 0.9.2
 by: Stefan W - Wed, 25 May 2022 12:41 UTC

Hello! I'm new to DICOM protocol and want to say thanks to developers
and all the community who makes this great project real.

I have real-word task to connect our application with tomograph via
DICOM. Now I'm reading Oleg Pianykh's book about DICOM to get rought
idea how it works.

My goal is not related to images, I have only to provide WORKLIST to
tomograph. And I have some newbie questions, that I'll be glad to be
answered.

1. Our project's main stack is python+django. Is it profitable to use
pydicom/pynetdicom then? Or there are more appropriate free (as in
freedom) implementations?

1.1 Are there free solutions to provide worklist without need to write
own DICOM-related code?

2. Is Patient a *.dcm file? a record in db? How should I store it to
provide in WORKLIST?

3. What modality/DIMSE/you-name-it should I use to provide WORKLIST?
(have some misunderstandings with C-FIND because of code examples, still
don't have clear understanding)

4. As I see, if I'm SCP of WORKLIST, then tomograph should associate
with my server side and request worklist, so that side will be an
initiator of requests. Am I right?

Thank you very much, if it will not bother you to explain me this newbie
stuff.

Stefan.

Re: WORKLIST minimal realisation

<542900e2-270a-4367-9604-c57c93ecf679n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1268&group=comp.protocols.dicom#1268

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:a37:ab13:0:b0:6a3:7336:c249 with SMTP id u19-20020a37ab13000000b006a37336c249mr14449344qke.48.1653512927552;
Wed, 25 May 2022 14:08:47 -0700 (PDT)
X-Received: by 2002:a05:622a:651:b0:2f3:b1b2:4702 with SMTP id
a17-20020a05622a065100b002f3b1b24702mr26337146qtb.239.1653512927295; Wed, 25
May 2022 14:08:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Wed, 25 May 2022 14:08:47 -0700 (PDT)
In-Reply-To: <t6l85i$15l9$2@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=66.253.168.220; posting-account=YFi_UAoAAACTPXmZqt1QuJHF4fLwCPfF
NNTP-Posting-Host: 66.253.168.220
References: <t6l85i$15l9$2@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <542900e2-270a-4367-9604-c57c93ecf679n@googlegroups.com>
Subject: Re: WORKLIST minimal realisation
From: stephen.d.scotti@gmail.com (Stephen Douglas Scotti)
Injection-Date: Wed, 25 May 2022 21:08:47 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4608
 by: Stephen Douglas Scot - Wed, 25 May 2022 21:08 UTC

Orthanc does come with a MWL Plug-in as part of the Orthanc core, see: https://book.orthanc-server.com/faq/worklist.html?highlight=mwl

There is a more detailed description of that here: https://book.orthanc-server.com/plugins/worklists-plugin.html#worklists-plugin

It doesn't have a lot of tools for creating or managing MWL files, but there is an explanation of how to do so. If you are familiar with Python, you'll probably want to explore the Python Plug-in that is also available as part of Orthanc because that gives you access to many of the built-in C++ methods that are part of Orthanc, and it makes it quite easy to extend Orthanc via your own Python scripts.

I have a little utility Python script that allows you to create a MWL or DCM file from the command line, and it will output a .wl file based on the JSON description in the file. It uses pydicom, and it could be incorporated into a python script to be used with the Orthanc Python Plug-in.

For some initial testing, you can just create some sample files and put them in the folder that you have configured for the MWL folder. You can then use findscu, or the API, to simulate a query from a modality. To test with a live modality you'll have to configure it as a modality in your orthanc.json file and then perform an actual MWL query from the modality.

It is possible to use a DB for the MWL files rather than the file system. Do do that, you'll probably need to setup the DB, and then use a Python Plug-in to replace the native MWL Worklist handler, see: https://book.orthanc-server.com/plugins/python.html#handling-worklist-scp-requests-new-in-3-2

If you want some additional help with that, just respond via public or private message via the group. I don't see an option to attach a file with my current broswer.

Stephen D. Scotti

On Wednesday, May 25, 2022 at 7:41:25 AM UTC-5, Stefan W wrote:
> Hello! I'm new to DICOM protocol and want to say thanks to developers
> and all the community who makes this great project real.
>
> I have real-word task to connect our application with tomograph via
> DICOM. Now I'm reading Oleg Pianykh's book about DICOM to get rought
> idea how it works.
>
> My goal is not related to images, I have only to provide WORKLIST to
> tomograph. And I have some newbie questions, that I'll be glad to be
> answered.
>
> 1. Our project's main stack is python+django. Is it profitable to use
> pydicom/pynetdicom then? Or there are more appropriate free (as in
> freedom) implementations?
>
> 1.1 Are there free solutions to provide worklist without need to write
> own DICOM-related code?
>
> 2. Is Patient a *.dcm file? a record in db? How should I store it to
> provide in WORKLIST?
>
> 3. What modality/DIMSE/you-name-it should I use to provide WORKLIST?
> (have some misunderstandings with C-FIND because of code examples, still
> don't have clear understanding)
>
> 4. As I see, if I'm SCP of WORKLIST, then tomograph should associate
> with my server side and request worklist, so that side will be an
> initiator of requests. Am I right?
>
> Thank you very much, if it will not bother you to explain me this newbie
> stuff.
>
> Stefan.

Re: WORKLIST minimal realisation

<91b7d54f-1dd8-e59f-d7bf-d2f639cce9c4@mail.ru>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1269&group=comp.protocols.dicom#1269

  copy link   Newsgroups: comp.protocols.dicom
Path: i2pn2.org!i2pn.org!aioe.org!6KxXcqma3uIzhPnMOGon4A.user.46.165.242.75.POSTED!not-for-mail
From: vistefan@mail.ru (Stefan W)
Newsgroups: comp.protocols.dicom
Subject: Re: WORKLIST minimal realisation
Date: Thu, 26 May 2022 12:13:36 +0300
Organization: Aioe.org NNTP Server
Message-ID: <91b7d54f-1dd8-e59f-d7bf-d2f639cce9c4@mail.ru>
References: <t6l85i$15l9$2@gioia.aioe.org>
<542900e2-270a-4367-9604-c57c93ecf679n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="22707"; posting-host="6KxXcqma3uIzhPnMOGon4A.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.9.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Stefan W - Thu, 26 May 2022 09:13 UTC

Thank you for the answering. It gets more clear for me.
An ability to create mwl files from json partien descriptions will be
very useful.
It will be really great if you can share your example python scripts
with github, pastebin or termbin.

Stefan

On 26.05.2022 00:08, Stephen Douglas Scotti wrote:
> Orthanc does come with a MWL Plug-in as part of the Orthanc core, see: https://book.orthanc-server.com/faq/worklist.html?highlight=mwl
>
> There is a more detailed description of that here: https://book.orthanc-server.com/plugins/worklists-plugin.html#worklists-plugin
>
> It doesn't have a lot of tools for creating or managing MWL files, but there is an explanation of how to do so. If you are familiar with Python, you'll probably want to explore the Python Plug-in that is also available as part of Orthanc because that gives you access to many of the built-in C++ methods that are part of Orthanc, and it makes it quite easy to extend Orthanc via your own Python scripts.
>
> I have a little utility Python script that allows you to create a MWL or DCM file from the command line, and it will output a .wl file based on the JSON description in the file. It uses pydicom, and it could be incorporated into a python script to be used with the Orthanc Python Plug-in.
>
> For some initial testing, you can just create some sample files and put them in the folder that you have configured for the MWL folder. You can then use findscu, or the API, to simulate a query from a modality. To test with a live modality you'll have to configure it as a modality in your orthanc.json file and then perform an actual MWL query from the modality.
>
> It is possible to use a DB for the MWL files rather than the file system. Do do that, you'll probably need to setup the DB, and then use a Python Plug-in to replace the native MWL Worklist handler, see: https://book.orthanc-server.com/plugins/python.html#handling-worklist-scp-requests-new-in-3-2
>
> If you want some additional help with that, just respond via public or private message via the group. I don't see an option to attach a file with my current broswer.
>
> Stephen D. Scotti
>
>
> On Wednesday, May 25, 2022 at 7:41:25 AM UTC-5, Stefan W wrote:
>> Hello! I'm new to DICOM protocol and want to say thanks to developers
>> and all the community who makes this great project real.
>>
>> I have real-word task to connect our application with tomograph via
>> DICOM. Now I'm reading Oleg Pianykh's book about DICOM to get rought
>> idea how it works.
>>
>> My goal is not related to images, I have only to provide WORKLIST to
>> tomograph. And I have some newbie questions, that I'll be glad to be
>> answered.
>>
>> 1. Our project's main stack is python+django. Is it profitable to use
>> pydicom/pynetdicom then? Or there are more appropriate free (as in
>> freedom) implementations?
>>
>> 1.1 Are there free solutions to provide worklist without need to write
>> own DICOM-related code?
>>
>> 2. Is Patient a *.dcm file? a record in db? How should I store it to
>> provide in WORKLIST?
>>
>> 3. What modality/DIMSE/you-name-it should I use to provide WORKLIST?
>> (have some misunderstandings with C-FIND because of code examples, still
>> don't have clear understanding)
>>
>> 4. As I see, if I'm SCP of WORKLIST, then tomograph should associate
>> with my server side and request worklist, so that side will be an
>> initiator of requests. Am I right?
>>
>> Thank you very much, if it will not bother you to explain me this newbie
>> stuff.
>>
>> Stefan.

Re: WORKLIST minimal realisation

<8269c507-250d-473e-be95-61d3d16cafcbn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1270&group=comp.protocols.dicom#1270

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:a05:6214:301b:b0:462:5d73:3e6d with SMTP id ke27-20020a056214301b00b004625d733e6dmr9981647qvb.114.1653567584020;
Thu, 26 May 2022 05:19:44 -0700 (PDT)
X-Received: by 2002:ad4:4ea8:0:b0:461:f30b:d585 with SMTP id
ed8-20020ad44ea8000000b00461f30bd585mr29671068qvb.22.1653567583827; Thu, 26
May 2022 05:19:43 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Thu, 26 May 2022 05:19:43 -0700 (PDT)
In-Reply-To: <91b7d54f-1dd8-e59f-d7bf-d2f639cce9c4@mail.ru>
Injection-Info: google-groups.googlegroups.com; posting-host=66.253.168.220; posting-account=YFi_UAoAAACTPXmZqt1QuJHF4fLwCPfF
NNTP-Posting-Host: 66.253.168.220
References: <t6l85i$15l9$2@gioia.aioe.org> <542900e2-270a-4367-9604-c57c93ecf679n@googlegroups.com>
<91b7d54f-1dd8-e59f-d7bf-d2f639cce9c4@mail.ru>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8269c507-250d-473e-be95-61d3d16cafcbn@googlegroups.com>
Subject: Re: WORKLIST minimal realisation
From: stephen.d.scotti@gmail.com (Stephen Douglas Scotti)
Injection-Date: Thu, 26 May 2022 12:19:44 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1779
 by: Stephen Douglas Scot - Thu, 26 May 2022 12:19 UTC

I guess I still have the GitHub repo with the script to create an MWL from JSON here: https://github.com/sscotti/python_script_library

I have a few other repos. I was working on a more sophisticated way to handle MWL's using Orthanc. I might revisit that now that I have more time. Let me know if you are interested. Orthanc is typically used as a DICOM server and also has a REST API and excellent documentation. You could probably use it solely as a MWL server if you wanted to do that.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor