rvbCMTS / PySkinDose

MIT License
13 stars 4 forks source link

errors at installation #34

Closed xraydoug closed 2 years ago

xraydoug commented 2 years ago

When I run pip install pyskindose I get error messages: ERROR: Could not find a version that satisfies the requirement pyskindose (from versions: none) ERROR: No matching distribution found for pyskindose I've tried both in a virtual environment and root. I don't know where to go from here. Assistance would be appreciated.

BwKodex commented 2 years ago

Hi @xraydoug, We had been talking about getting around to publishing PySkinDose to pypi but hadn't gotten around to it.

Now I've published the latest version on the master branch to pypi so if you try again you should be able to install it by running pip install pyskindose. If that still doesn't work, please let me know and I'll see what I can do to find out how to fix taht.

xraydoug commented 2 years ago

Perfect. It installed without a hitch. Thank you for your huge effort in putting this together.

Doug

On Feb 8, 2022, at 2:45 AM, BwKodex @.***> wrote:

Hi @xraydoug https://github.com/xraydoug, We had been talking about getting around to publishing PySkinDose to pypi but hadn't gotten around to it.

Now I've published the latest version on the master branch to pypi so if you try again you should be able to install it by running pip install pyskindose. If that still doesn't work, please let me know and I'll see what I can do to find out how to fix taht.

— Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1032408975, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZS7A5FVDYOMRNZNX5LU2DQZZANCNFSM5NZHEPKQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.

BwKodex commented 2 years ago

Great! Don't hesitate to contact us again. We would also love feedback, goo or bad, and suggestions on improvements.

xraydoug commented 2 years ago

Thanks. I would like to ask something that will demonstrate my underlying ignorance: how do I actually run the program? I’ve written a few Python programs, but nothing to this extent, and I’ve always had a “MyApp.app” that I could start it with. There is no “PySkinDose.py” file that I can find. I tried running main.py, which brought up some beautiful graphics, but would not let me interact with it, such as telling it what file to use. There’s nothing in a readme that explains the process that I can find. I’m excited to use the program, and I have a Siemens Axiom Artis case that I really need it’s capabilities for. Sorry to ask such a basic question.

On Feb 14, 2022, at 1:42 AM, BwKodex @.***> wrote:

Great! Don't hesitate to contact us again. We would also love feedback, goo or bad, and suggestions on improvements.

— Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1038806189, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZXTC4R2YD6GKW7H4U3U3C56JANCNFSM5NZHEPKQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.

BwKodex commented 2 years ago

It's definitely not a stupid or basic question. You've actually hit your head on the biggest shortcoming at the moment, the lack of getting started documentation. We're working on setting up a good getting started guide, and just today we added some background and description to the documentation, provided by our very knowledgeable colleague @christoffergranberg.

To get you going while waiting for the getting started guide I'll give you a few tips here :)

One way to see how PySkinDose can be used is by looking at the manual tests, e.g., the notebook tests (https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests)

The main.py file can also be run with a file-path input as python main.py --file-path <path-to-rdsr-file>. If you want to be able to specify your settings you can also run from pyskindose.main import main as psd_main and then call the main function as psd_main(file_path=<path-to-rdsr-file>, settings=<your-settings>). You can find the technical documentation for the main-function at https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main

I hope this helps! Note that to get the best results for your machines, the parameters specified as a kind of general case for the Axiom Artis in the _noramlizationsettings.py file should be measured specifically for each system.

xraydoug commented 2 years ago

Thank you so much! I’ll give that a try and let you know if I run into any difficulties. Thank you, also, for the reminder to put in local values in the normalization settings.

On Feb 14, 2022, at 12:42 PM, BwKodex @.***> wrote:

It's definitely not a stupid or basic question. You've actually hit your head on the biggest shortcoming at the moment, the lack of getting started documentation. We're working on setting up a good getting started guide, and just today we added some background and description to the documentation, provided by our very knowledgeable colleague @christoffergranberg https://github.com/christoffergranberg.

To get you going while waiting for the getting started guide I'll give you a few tips here :)

One way to see how PySkinDose can be used is by looking at the manual tests, e.g., the notebook tests (https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests)

The main.py file can also be run with a file-path input as python main.py --file-path . If you want to be able to specify your settings you can also run from pyskindose.main import main as psd_main and then call the main function as psd_main(file_path=, settings=). You can find the technical documentation for the main-function at https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main I hope this helps! Note that to get the best results for your machines, the parameters specified as a kind of general case for the Axiom Artis in the noramlization_settings.py file should be measured specifically for each system.

— Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1039481670, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZXIPR3E2MSA5G4BZNLU3FLJBANCNFSM5NZHEPKQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.

xraydoug commented 2 years ago

OK. A bit of feedback. It’s happily opening the RDSR, but I get the following: xraydoug pyskindose $python main.py --file-path /Users/xraydoug/Desktop/REPORT_XXXXXX_XXXXX_XXX.SR.CARDIAC_CATH.0990.0990.2022.02.15.06.19.50.558473.50732094.SR Traceback (most recent call last): File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 100, in main(file_path=ARGS.file_path, settings=DEVELOPMENT_PARAMETERS) File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 42, in main data_norm = _read_and_normalise_rdsr_data(rdsr_filepath=file_path, settings=settings) File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 83, in _read_and_normalise_rdsr_data normalized_data = rdsr_normalizer(data_parsed) File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/rdsr_normalizer.py", line 150, in rdsr_normalizer data_norm = append_normalization(data_parsed=data_parsed, data_norm=data_norm, norm=norm) File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/rdsr_normalizer.py", line 251, in _normalize_xray_filter_materials if KEY_RDSR_FILTER_MATERIAL_COPPER in event_filter_materials: TypeError: argument of type 'float' is not iterable

In order to be able to provide the RDSR to you, I anonymized the two instances of the patient name. However, when I do that I get the following: xraydoug pyskindose $python main.py --file-path /Users/xraydoug/Desktop/REPORT_patient_test.SR.CARDIAC_CATH.0990.0990.2022.02.15.06.19.50.558473.50732094.SR Traceback (most recent call last): File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 100, in main(file_path=ARGS.file_path, settings=DEVELOPMENT_PARAMETERS) File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 42, in main data_norm = _read_and_normalise_rdsr_data(rdsr_filepath=file_path, settings=settings) File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/main.py", line 80, in _read_and_normalise_rdsr_data data_parsed = rdsr_parser(data_raw) File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pyskindose/rdsr_parser.py", line 40, in rdsr_parser for rdsr_content in data_raw.ContentSequence: File "/Users/xraydoug/opt/anaconda3/lib/python3.9/site-packages/pydicom/dataset.py", line 836, in getattr return object.getattribute(self, name) AttributeError: 'FileDataset' object has no attribute 'ContentSequence'

I’m not sure why it’s changing when all I’ve done is to edit two name instances (using Text Editor). I’ve attached the anonymized RDSR for your review. Please let me know if there’s anything else I can do or give you. Thank you so much.

Doug

On Feb 14, 2022, at 12:42 PM, BwKodex @.***> wrote:

It's definitely not a stupid or basic question. You've actually hit your head on the biggest shortcoming at the moment, the lack of getting started documentation. We're working on setting up a good getting started guide, and just today we added some background and description to the documentation, provided by our very knowledgeable colleague @christoffergranberg https://github.com/christoffergranberg.

To get you going while waiting for the getting started guide I'll give you a few tips here :)

One way to see how PySkinDose can be used is by looking at the manual tests, e.g., the notebook tests (https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests https://github.com/rvbCMTS/PySkinDose/tree/master/tests/manual_tests/notebook_tests)

The main.py file can also be run with a file-path input as python main.py --file-path . If you want to be able to specify your settings you can also run from pyskindose.main import main as psd_main and then call the main function as psd_main(file_path=, settings=). You can find the technical documentation for the main-function at https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main https://pyskindose.readthedocs.io/en/latest/pyskindose.html#module-pyskindose.main I hope this helps! Note that to get the best results for your machines, the parameters specified as a kind of general case for the Axiom Artis in the noramlization_settings.py file should be measured specifically for each system.

— Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1039481670, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZXIPR3E2MSA5G4BZNLU3FLJBANCNFSM5NZHEPKQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.

BwKodex commented 2 years ago

Hmm.. The first error message seems to say that the filter material has been parsed as a float, which seems weird as it should have string values. How did you get the RDSR-files from the machine?

The second part seems to indicate that something else was changed in your anonymization. However, the files you tried to provide does not seem to be available. Did you try to email them? In that case, could you try to use the GitHub-interface and attach the RDSR there instead?

xraydoug commented 2 years ago

OK. I’ll open up an issue. The file is very odd, because I am certain that I only changed the patient name. No other edits were made. Perhaps the text editor added some special characters?

I’m not sure why the file didn’t come through, sorry, but I’ve attached it to the GitHub issue. I acquired it directly from the system, exporting it to a thumb drive.

Thanks for thinking about this.

On Feb 16, 2022, at 1:09 AM, BwKodex @.***> wrote:

Hmm.. The first error message seems to say that the filter material has been parsed as a float, which seems weird as it should have string values. How did you get the RDSR-files from the machine?

The second part seems to indicate that something else was changed in your anonymization. However, the files you tried to provide does not seem to be available. Did you try to email them? In that case, could you try to use the GitHub-interface and attach the RDSR there instead?

— Reply to this email directly, view it on GitHub https://github.com/rvbCMTS/PySkinDose/issues/34#issuecomment-1041221354, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXR7JZWMMGJ7ITKOWGMW3Q3U3NLUZANCNFSM5NZHEPKQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.