-
Notifications
You must be signed in to change notification settings - Fork 493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add dicom visual navigation | ⚠️ Changes removed from main #1142
Conversation
@Punzo While reviewing the changes I ended up creating a pull request and marked it as draft. |
no problem! btw: I am still actively working on it. Here it is my current To Do list:
|
cc: @tbirdso |
Ideally, DICOMweb query/retrieve would use a DICOM toolkit, such as DCMTK, but unfortunately it does not seem like DCMTK will ever have DICOMweb networking. We could look for other C++ implementations, or implement using CTK's qRestAPI, or worst case call a Python implementation (dicomweb-client) from C++. |
for future reference: |
FYI @Punzo I'm investigating DICOMweb loading too, so we can touch base to compare notes at some point. Still working on some experimental code. |
45e95b2
to
b396819
Compare
Ciao Steve, ok that would be great! I did not have the time to investigate DICOMweb in C++ yet and I will focus next days on the first 4 points in my To Do list, but I would be glad to connect soon. Let's update soon. |
005ab16
to
1d358d4
Compare
63482cf
to
5996e44
Compare
@jcfr @pieper @lassoan this PR is ready for a first review PR content descriptionThe operations are executed by a task pool manager in separate threads with a priority queue.
UML diagram:Testing in CTK Application:I have added a ctkApplication called ctkDICOMVisualBrowser for testing (need to set cmake options Testing by running visual dicom browser from Slicer python console:
Testing taskPool tasks from the python console (e.g. query and retrieve)
Future ENH:
To Do: cleaning designAt the moment the classes are too dependent on each other:
An improved design with a clean and simple memory managment should:
|
fafac2d
to
0af4918
Compare
5dbe0b0
to
531549c
Compare
531549c
to
6b694d1
Compare
Done! |
Query/retrieve from dicomserver.co.uk (see server information here) works well using Slicer's old DICOM networking feature. However, it does not work with the visual DICOM browser. I've tried query/retrieve from dicomserver.co.uk and no progress information was shown, no error message was displayed, , nothing showed up in the browser. We really need some feedback about what's going on with the query. https://dicomserver.co.uk/logs/ showed that connection was established and some information was exchanged. Verification failed, too. A popup was displayed, but would be nicer to have a "Verification" column in the "Servers" table (unknown, in progress, success, failure). |
After about half hour of investigation, I've realized that although I've fixed the port number of dicomserver.co.uk, I did not click After Apply button, some patients are retrieved!! Good! However, studies only appeared for a few patients. |
Ok, I will make this a priority on Monday. Do you think that setting the text to bold and the cell selected (i.e. different background) would be enough?
Uhm, ok I will have a look on Monday. Can you tell me what is the right port for dicomserver.co.uk? So I will also correct the default. |
dicomserver.co.uk - port 104 worked for me: More information on the server and its capabilities: |
Using the same yellow background as in the filter/query parameter highlighting could work. I don't think bold is necessary. Few other things:
|
RoadMap (after item 4, the items are not listed in priority):
Logic:
Settings UI:
visual browser UI:
ctkDICOMVisualBrowser application:
|
Co-authored-by: Andras Lasso <[email protected]>
Co-authored-by: Andras Lasso <[email protected]>
Co-authored-by: Andras Lasso <[email protected]>
@lassoan (1) and (2) done. Please have a look if this can be merged now. I will start (4) meanwhile |
This is now merged. @Punzo thank you very much for your awesome work! Please add the list of issues/enhancements to a new issue in this repository. |
Thanks for reviewing/testing and merging! |
Done, see #1162 |
I suggest we revert |
I was thinking about this today, too. There is a follow-up PR that I'll test and if that works well then we should squash that with all these commits. |
main
by force pushing. Corresponding changes are superseded by #1165Rational:
Squash & Merge