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

Add a flexible VisualQC preparation script to go from as-is files to VisualQC-ready #70

Open
ericearl opened this issue Dec 27, 2022 · 7 comments

Comments

@ericearl
Copy link

Description

I would like to contribute a "vqcprep" or "visualqc_prep" command-line interface (CLI) that will be able to prepare from files on my filesystem in arbitrary folder trees (or BIDS trees) to a valid and ready VisualQC tree using a CSV as input.

My typical VisualQC use case is for evaluating the quality of defacing or alignment, but I imagine this as a flexible enough utility to be able to handle any of the use cases provided as input to vqc* CLIs.

What I Am Planning To Do Right Now

  1. I will use argparse to create the CLI in Python.
  2. It will require as input a header with the keyword column names for the files you would like to soft/symbolic link (Linux or Mac default) or copy (Windows default, Linux or Mac optional).
  3. I will read the contributing guide in the top of the repo.
  4. I will make it flexible enough to take in a variable amount of columns, an enumerable set of column names, and a variable number of rows (one row for each set of "related" files, for instance "original" and "defaced").
  5. I will make it produce 3D renders as an opt-in option.
  6. I will submit a readthedocs page about it along with the final pull request.

What I Would Like To Know

  1. Should we converse about adding this CLI here on the Issue or would you prefer a meeting to discuss the preferred architecture before I get too deep into it?
  2. Are there additional features you would like to see from a CLI with this intention?
@raamana
Copy link
Owner

raamana commented Dec 28, 2022

Thanks Eric - appreciate this. Please go ahead and customize it as you see fit.

Few comments:

  • If this is specific to defacing alone, I'd suggest calling the cmd vqcdeface_prep
  • is the motivation to generate screenshots of defaced overlay on MRI, for future reference, or review elsewhere?
  • if the former, its better to incorporate it within the main workflow (BaseWorkflowVisualQC), as others had been requesting it within Freesurfer and other modules of VisualQC. I resisted it as I didn't see the benefit, esp. when the interactive review is so fast and works on the latest version of the data.. and also because the screenshot can become out of sync with the latest version of the data, if great care hasn't been taken to keep them in sync.
  • if the latter, it makes sense, although I'd be curious to learn the features of the external viewer that we can consider adding to visualqc
  • most importantly for me is the ability to generate 3D renders natively within Python, that Arshitha, you and I discussed before. I understand you may not have had the time to work on it, but if you did make progress, I'd love to incorporate it within VisualQC.

Happy to chat anytime if it helps. If I don't reply quickly here, don't hesitate to email me.

@raamana
Copy link
Owner

raamana commented Dec 28, 2022

i had been wanting to work on methods to generate 3D renders natively within Python, and these holidays might be a good time.. Can I request you and @Arshitha to share what you have done so far on it, so I avoid reinventing? I'll be sure to mention your contribs.

@raamana
Copy link
Owner

raamana commented Mar 16, 2023

did you get a chance to work on this, Eric? it's okay if you didn't.

@ericearl
Copy link
Author

Hey @raamana! Yeah, sorry for the silence. Shortly after I wrote this up I shifted gears for a while. I think I'll get back to this soon, but I can't say if it's going to be this month or next month. There's a few new projects in-between me and working on this.

@raamana
Copy link
Owner

raamana commented Mar 16, 2023

NP Eric. I made decent progress on batch generation of screenshots in the branch screenshots_batch_generation, both for alignment and defacing modules, and you can perhaps use or adapt it as needed for your usecase!

master...screenshots_batch_generation

@raamana
Copy link
Owner

raamana commented Mar 17, 2023

instructions to try in case you are interested: #37 (comment)

@ericearl
Copy link
Author

Awesome! Thanks for the instructions! Documentation always helps. We'll check this out on our next occasion of using VisualQC for defacing evaluations.

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

No branches or pull requests

2 participants