Skip to content
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

ENH: Docker-compose #27

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft

ENH: Docker-compose #27

wants to merge 5 commits into from

Conversation

mgxd
Copy link

@mgxd mgxd commented Jan 19, 2019

Addresses #24

This PR adds docker-compose file which is made up of:

  • a DICOM receiver
  • an automated heudiconv trigger on receiver output directory

@yarikoptic
Copy link
Member

yarikoptic commented Jan 19, 2019

Could someone remind me pragmatic benefits from compose, compared to a single docker image shipping all needed components?

@satra
Copy link

satra commented Jan 24, 2019

most people already have dicom receivers. but our collabs at northeastern wanted an easy to use setup. docker-compose allows us to use different docker images without worrying about interactions within the images. for example i have used the dcmtk image in the past to do a bunch of things without having to create my own image.

i don't think i have any fundamental objection to things being in the same container. just wanted to keep the heudiconv bit separate from the dicom-receiver and bids processing bits.

@mirestrepo
Copy link

Hi All,

At Brown University we are working on similar efforts. I'm wondering where the docker file for mgxd/dcmrecv come from. We are thinking to using Orthanc but I'm wondering if dcmrecv would be a better (slimmer) alternative for the receiver part.

Thanks!

@mgxd
Copy link
Author

mgxd commented May 15, 2019

@mirestrepo here is the Dockerfile for the image

@yarikoptic
Copy link
Member

Please accept my apologies for forgetting about this PR. It would be great to revive/finalize and use it. I wonder if this (or derived) proposed setup was used anywhere by now?

Meanwhile I was prototyping a reproin helper to reflect my experiences of working with reproin'ed acquisitions in the past year. That helper provides interfaces for

  • producing lists of acquisitions from year/month/day/accession directories (reproin lists-update using `heudiconv -f reproin --command list) -- something to run on cron
  • be able to show (quickly) for a study which accessions were converted or not yet (reproin study-show)
  • convert not yet converted accessions (reproin study-convert)
    • refuses to convert a subject/session if that one was found already present
  • mark some accessions to be skipped (reproin study-accession-skip) (e.g. for pilot runs etc)
  • "integrate" with bids-validator and populate output of the validation within the converted datast (all the reproin validator* commands)
  • it is using heudiconv with --datalad but relies on reproin study-create to create an initial dataset

Ideally I would like to expand that reproin helper to support using bundled (if present) within dataset (singularity) container so that the environment used to convert is present within dataset so all subjects would be converted (or reconverted) consistently. (also reproin would error if found dcm2niix version is different from the one in the dataset metadata)

So I am thinking, if this setup was not yet used, we could RF it to accommodate reproin helper setup.

@mgxd
Copy link
Author

mgxd commented Mar 22, 2021

I believe this was prepared for use in northeastern's imaging center, but @satra would know if was actually implemented.

If not, I'm fine with this being a starter point for the reproin implementation

@satra
Copy link

satra commented Mar 23, 2021

i don't think they ended up doing this, but still worth a setup i think both for testing, but also for people to potentially use. not a super high priority given that most places already have some kind of receiver in place.

@yarikoptic
Copy link
Member

I will convert to draft to not be as vivid for now

@yarikoptic yarikoptic marked this pull request as draft February 15, 2023 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants