Skip to content

Commit 16e5ff9

Browse files
fix: Multiple Slim issues regarding ANN visualization (#306)
* Improve logging * Extract func for report generation * Lint * Add spacing * Only add thumbnail if required to volumes * Add link section * lINT * Lint * Typo * Add zoom to roi for annotation groups * Update create slide to follow constructor * Update dockerfile * Update actions * Lint * Address deep source issues * Add healthchecks * Update healthchecks * Add debug step * Remove wait * Improve wait * Add debug steps * Update workflow * Update workflow * Add logs * Add db healthcheck * Add debug steps * Add debug steps * Add debug steps * Add consistent intervals * Revert dcm4chee custmizations * Add retry * Add retry debug * Add waits * Add waits * add more logs * Add more wait * Add more wait * Add more wait * Wait ldap * add logs * Test pwd * Add ldap file * Add wildly logs * Print always * Fix container get * Use fixed name * Log vars * Always log vars * Copy default ldap config * Simplify docker compose * Update ldap version * Bump dmv
1 parent dacdb45 commit 16e5ff9

16 files changed

Lines changed: 469 additions & 323 deletions

.github/workflows/container-tests.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout repository
15-
uses: actions/checkout@v4.1.4
15+
uses: actions/checkout@v4.2.2
1616

1717
- name: Setup Node
18-
uses: actions/setup-node@v4.0.2
18+
uses: actions/setup-node@v4.4.0
1919
with:
2020
node-version: 20.8.1
2121

@@ -31,3 +31,9 @@ jobs:
3131
run: |
3232
sleep 20
3333
curl -sI http://localhost:8008/dcm4chee-arc/aets/DCM4CHEE/rs/studies | grep -o '204 No Content'
34+
35+
- name: Wildfly internal server.log
36+
if: always()
37+
run: |
38+
docker cp dcm4chee-arc:/opt/wildfly/standalone/log/server.log ./server.log || echo "Log not found"
39+
cat ./server.log || echo "Log not found"

.github/workflows/deploy-to-firebase.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ jobs:
1212
if: "${{ github.event.pull_request.head.repo.full_name == github.repository }}"
1313
runs-on: ubuntu-latest
1414
steps:
15-
- name: Checkout repository
16-
uses: actions/checkout@v4.1.4
15+
- name: Checkout to repository
16+
uses: actions/checkout@v4.2.2
1717

1818
- name: Setup Node
19-
uses: actions/setup-node@v4.0.2
19+
uses: actions/setup-node@v4.4.0
2020
with:
2121
node-version: 20.8.1
2222

.github/workflows/deploy-to-github-pages.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ jobs:
1212
runs-on: ubuntu-latest
1313
steps:
1414
- name: Checkout to repository
15-
uses: actions/checkout@v4.1.4
15+
uses: actions/checkout@v4.2.2
1616

1717
- name: Setup Node
18-
uses: actions/setup-node@v4.0.2
18+
uses: actions/setup-node@v4.4.0
1919
with:
2020
node-version: 20.8.1
2121

.github/workflows/release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ jobs:
1010
name: "Bump version and cut a release"
1111
runs-on: ubuntu-latest
1212
steps:
13-
- name: Checkout repository
14-
uses: actions/checkout@v4.1.4
13+
- name: Checkout to repository
14+
uses: actions/checkout@v4.2.2
1515
with:
1616
ref: master
1717
persist-credentials: false
1818

19-
- name: Setup node
20-
uses: actions/setup-node@v4.0.2
19+
- name: Setup Node
20+
uses: actions/setup-node@v4.4.0
2121
with:
2222
node-version: 20.8.1
2323

.github/workflows/unit-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ jobs:
1111
name: "Build and run unit tests"
1212
runs-on: ubuntu-latest
1313
steps:
14-
- name: Checkout repository
15-
uses: actions/checkout@v4.1.4
14+
- name: Checkout to repository
15+
uses: actions/checkout@v4.2.2
1616

1717
- name: Setup Node
18-
uses: actions/setup-node@v4.0.2
18+
uses: actions/setup-node@v4.4.0
1919
with:
2020
node-version: 20.8.1
2121

README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ It relies on [DICOMweb](https://www.dicomstandard.org/dicomweb/) RESTful service
2626
- [Google Cloud Platform](#google-cloud-platform)
2727
- [OAuth 2.0 configuration](#oauth-20-configuration)
2828
- [Development](#development)
29+
- [Linking Slim to a Local dicom-microscopy-viewer Library](#linking-slim-to-a-local-dicom-microscopy-viewer-library)
2930
- [Citation](#citation)
3031
- [Acknowledgments](#acknowledgments)
3132
- [DICOM Conformance Statement](#dicom-conformance-statement)
@@ -352,6 +353,46 @@ The configuration can be specified using the `REACT_APP_CONFIG` environment vari
352353
REACT_APP_CONFIG=local yarn start
353354
```
354355

356+
## Linking Slim to a Local dicom-microscopy-viewer Library
357+
358+
If you are developing features or fixing bugs that require changes in both Slim and the underlying [`dicom-microscopy-viewer`](https://github.com/ImagingDataCommons/dicom-microscopy-viewer) library, you can use `yarn link` to connect your local Slim project to a local clone of `dicom-microscopy-viewer`. This allows Slim to immediately use the latest local changes from the library without publishing to npm.
359+
360+
### Steps
361+
362+
1. **Clone dicom-microscopy-viewer**
363+
If you haven't already, clone the `dicom-microscopy-viewer` repository to your machine.
364+
365+
2. **Set up yarn link in dicom-microscopy-viewer**
366+
In the root directory of your local `dicom-microscopy-viewer` repository, run:
367+
```sh
368+
yarn link
369+
```
370+
371+
3. **Link dicom-microscopy-viewer in Slim**
372+
In the root directory of your Slim project, run:
373+
```sh
374+
yarn link dicom-microscopy-viewer
375+
```
376+
377+
4. **Enable live rebuilding in dicom-microscopy-viewer**
378+
To automatically rebuild `dicom-microscopy-viewer` when you make changes, run the following command in the `dicom-microscopy-viewer` directory:
379+
```sh
380+
yarn webpack:dynamic-import:watch
381+
```
382+
This will watch for file changes and rebuild the library, so Slim can immediately use the updated code.
383+
384+
5. **Run Slim as usual**
385+
In the Slim directory, start the development server:
386+
```sh
387+
yarn start
388+
```
389+
Slim will now use your locally linked version of `dicom-microscopy-viewer`.
390+
391+
### Notes
392+
393+
- If you want to unlink and return to the npm-published version, run `yarn unlink dicom-microscopy-viewer` and `yarn install --force` in the Slim directory.
394+
- Make sure both projects use compatible Node and Yarn versions to avoid dependency issues.
395+
355396
## Citation
356397

357398
For more information about the motivation, design, and capabilities of Slim, please see the following article:

docker-compose.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ STORAGE_DIR=/storage/fs1
22
POSTGRES_DB=pacsdb
33
POSTGRES_USER=pacs
44
POSTGRES_PASSWORD=pacs
5-
LDAP_INIT_CONFIG="default-config.ldif modify-dcmRemapRetrieveURL.ldif modify-dcmWebServicePath.ldif"
5+
LDAP_INIT_CONFIG="default-config.ldif modify-dcmRemapRetrieveURL.ldif modify-dcmWebServicePath.ldif"

docker-compose.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
version: "3.7"
2-
31
volumes:
42
db_data: {}
53
arc_data: {}
@@ -20,6 +18,7 @@ services:
2018

2119
ldap:
2220
image: dcm4che/slapd-dcm4chee:2.6.0-26.0
21+
# image: dcm4che/slapd-dcm4chee:2.6.8-34.1
2322
logging:
2423
driver: json-file
2524
options:
@@ -34,7 +33,7 @@ services:
3433
- ./etc/openldap/data/modify-dcmWebServicePath.ldif:/etc/openldap/data/modify-dcmWebServicePath.ldif:ro
3534

3635
db:
37-
image: dcm4che/postgres-dcm4chee:14.2-26
36+
image: dcm4che/postgres-dcm4chee:11.22-34
3837
logging:
3938
driver: json-file
4039
options:
@@ -46,20 +45,21 @@ services:
4645
- db_data:/var/lib/postgresql/data
4746

4847
arc:
49-
image: dcm4che/dcm4chee-arc-psql:5.26.0
48+
container_name: dcm4chee-arc
49+
image: dcm4che/dcm4chee-arc-psql:5.34.0
5050
logging:
5151
driver: json-file
5252
options:
5353
max-size: "10m"
54-
expose:
55-
- 8080
56-
- 8443
57-
- 9990
58-
- 9993
59-
- 11112
60-
- 2762
61-
- 2575
62-
- 12575
54+
ports:
55+
- "8080:8080"
56+
- "8443:8443"
57+
- "9990:9990"
58+
- "9993:9993"
59+
- "11112:11112"
60+
- "2762:2762"
61+
- "2575:2575"
62+
- "12575:12575"
6363
env_file: docker-compose.env
6464
environment:
6565
# Used to set the initial and maximal Java heap size to avoid
@@ -76,4 +76,4 @@ services:
7676
- ldap
7777
- db
7878
volumes:
79-
- arc_data:/storage
79+
- arc_data:/storage

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"craco-less": "^2.0.0",
5757
"dcmjs": "^0.35.0",
5858
"detect-browser": "^5.2.1",
59-
"dicom-microscopy-viewer": "^0.48.3",
59+
"dicom-microscopy-viewer": "^0.48.4",
6060
"dicomweb-client": "^0.10.3",
6161
"gh-pages": "^5.0.0",
6262
"oidc-client": "^1.11.5",

0 commit comments

Comments
 (0)