-
Notifications
You must be signed in to change notification settings - Fork 1
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
Adding READMEs to all directories #584
base: sk/joss-publication
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## sk/joss-publication #584 +/- ##
====================================================
Coverage 87.61% 87.61%
====================================================
Files 76 76
Lines 3505 3505
====================================================
Hits 3071 3071
Misses 434 434 ☔ View full report in Codecov by Sentry. |
Note: I have only made changes to README files, but I have imported changing from the main branch so a lot of files appear to have changed |
Would you mind if I rewrote this branch history just so that we don't get the changes coming up in the review? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @skeating – thanks for this. Various comments scattered throughout the review – some of them are just general thoughts. I do think the front page README needs an overhaul as a priority, and as I was reviewing the PR I was thinking the documentation should be in something like ReadTheDocs, but obviously that's a fair amount of work.
A couple of questions:
- Is there a requirement from JOSS to have a README in every directory?
- How did you generate all of the README files and the HTML and Markdown at the bottom of the files?
- Do future developers need to update the READMEs manually according to any changes they make?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the intention for the JOSS paper to publicise PIXL beyond UCL/UCLH?
Assuming the answer to above = yes, I think the root README needs a general overhaul because currently I think it gets too technical, too fast. For instance, the line 12 talks about UCLH technicalities, but this is irrelevant for someone approaching the repo outside of our institution or reading in conjunction with the journal paper.
I think the README should have more explanatory text and a simple diagram or image which conveys the key components within PIXL which are most useful to the community.
But – propose we do that in a separate PR.
@@ -58,9 +58,40 @@ See the [Azure Key vault setup](../docs/setup/azure-keyvault.md) documentation f | |||
|
|||
Save the credentials in `.secrets.env` and a LastPass `Hasher API <environment> secrets` note. | |||
|
|||
SK QUESTION: is the reference to Last Pass something that is specific to us or is it a dependency somebody else would need. actually I assume the whole Azure thing is rather how we have chosen to do that rather than a necessity for somebody i.e. they might use a different system for storing their hashes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stefpiatek – see "SK QUESTION" text.
@@ -1,7 +1,7 @@ | |||
# Orthanc Anon | |||
|
|||
_The Orthanc instance responsible for anonymising DICOM data from PACS/VNA and forwarding the images |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stray "_" character.
_The Orthanc instance responsible for anonymising DICOM data from PACS/VNA and forwarding the images | |
Orthanc Anon is responsible for anonymising DICOM data from PACS/VNA and forwarding the images |
- The Docker image is based on `orthancteam/orthanc`. <--- This is unclear where is this? | ||
- Configuration is driven through customised JSON config. files stored in the [orthanc-anon/config](./config/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- The Docker image is based on `orthancteam/orthanc`. <--- This is unclear where is this? | |
- Configuration is driven through customised JSON config. files stored in the [orthanc-anon/config](./config/) | |
- Orthanc Anon is based on the Docker image: [orthancteam/orthanc](https://hub.docker.com/r/orthancteam/orthanc). | |
- Orthanc Anon is configured via a customised JSON config files stored in the [orthanc-anon/config](./config/) |
@@ -22,7 +22,7 @@ available shortly when the service is started). | |||
|
|||
### Configuration | |||
|
|||
- The Docker image is a deployment of `orthancteam/orthanc` with some extra configuration | |||
- The Docker image is a deployment of `orthancteam/orthanc` with some extra configuration <--- is orthancteam/orthanc supposed to point to somewhere in the tree |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- The Docker image is a deployment of `orthancteam/orthanc` with some extra configuration <--- is orthancteam/orthanc supposed to point to somewhere in the tree | |
- The Orthanc Raw instance is a deployment of the [orthancteam/orthanc](https://hub.docker.com/r/orthancteam/orthanc) container with the following additional configuration: |
@@ -37,8 +37,36 @@ pytest | |||
|
|||
## Usage | |||
|
|||
Usage should be from the CLI driver, which calls the HTTP endpoints. | |||
Usage should be from the [CLI driver](../cli/README.md), which calls the HTTP endpoints. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this assumes a lot of understanding of the CLI and PIXL in general.
Again, if there is a desire for the different modules in PIXL to be used independently, then it would be good for the pixl_export documentation to explain how to use it.
For now, I think it would be good to put a few lines in this Usage section which demonstrate it woulds on the command line.
|
||
## Notes | ||
|
||
- The height/weight/GCS value is extracted only within a 24 h time window | ||
- The height/weight/GCS value is extracted only within a 24 h time window <SK: I assume this refers to what can come out of OMOP > |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree – this either needs a fuller explanation or deleting.
@@ -20,14 +20,14 @@ If the study has be identified in VNA or PACS, a query to `orthanc-raw` is made | |||
exists locally. If it does exist locally, a check is made to ensure all instances exist locally and any missing | |||
instances are retrieved. If the study does not exist locally, the entire study is retrieved from the archive. | |||
|
|||
Once the study and all its instances are in `orthanc-raw`, the study is sent to `orthanc-anon` via a C-STORE | |||
Once the study and all its instances are in `orthanc-raw`, the study is sent to `orthanc-anon` via a C-STORE <SK: Please explain what C-STORE operation> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest specifically calling it a "DICOM C-STORE" operation and linking to some documentation. Could link to the official NEMA DICOM docs, but they are a bit impenetrable, hence link I chose.
Once the study and all its instances are in `orthanc-raw`, the study is sent to `orthanc-anon` via a C-STORE <SK: Please explain what C-STORE operation> | |
Once the study and all its instances are in `orthanc-raw`, the study is sent to `orthanc-anon` via a [DICOM C-STORE operation](https://www.medicalconnections.co.uk/kb/Basic-DICOM-Operations). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A general observation, exemplified by this particular README – the PIXL documentation has multiple 'voices' from where multiple developers have added to the docs where the language/tense etc. is inconsistent.
Here, the README begins in second person "We've followed...". Not something for this PR, but it would be good to make the language more consistent throughout. I think it's beneficial for interpretation.
We provide a [`pytest` plugin](../pytest-pixl/README.md) with shared functionality for the PIXL system | ||
and unit tests. This includes an `ftp_server` fixture to spin up a lightweight FTP server, | ||
to mock the FTP server used by the Data Safe Haven. | ||
to mock an FTP server being used to deposit the data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
General comment based on my experience of PIXL – I have found the testing quite confusing. We have (I think):
- tests in each directory
- the ability to run all tests at once (via pytest.ini) albeit this has caveats
- the pytest-pixl plugin, which I don't really understand the motivation for why it's designed as a plugin
- integration tests – these are made slightly complicated by .env shenanigans and subtle differences with the containers in the unit tests
What's my point... I'm just trying to illustrate that there is quite a bit going on with the testing and it's scattered through various parts of the documentation.
Description
Adds a README to all directories to facilitate easier navigation of the tree
Also adds comments where existing README did not make sense/was confusing
Corrected a few areas that were slightly confusing to read
Note changes to files other than README are from merging the main branch back into this one
Type of change
Please delete options accordingly to the description.
Suggested Checklist
main
branch.squash and merge