visualqc
visualqc copied to clipboard
How to view again things
- visualqc version: 0.3.3.3
- Python version: 3.5.5
- Operating System: linux
Description
I'm not sure whether this is something lacking on your documentation or I just didn't pay enough attention.
So, I processed "my" brains with the following command:
visualqc_freesurfer --fs_dir People/
So far so good, but now I want to have a look again to those where I selected too tired or review later or simply some in particular again. The problem here is that I don't understand how to do this.
If I run the same command obviously it says no subjects to review. I tried this:
visualqc_freesurfer --fs_dir Peopl/ --id_list ids.txt
Where ids.txt has the IDs I want, but I just receive a
ValueError: Invalid fraction of outliers: must be more than 1/n (to enable detection of atleast 1)
What am I doing wrong here? I think at least for those brains where I selected I'm tired or review later it should exist some automatic way.
Hi There,
Glad to hear you were able to use it.
VQC was designed to restore previous work, to reduce your burden of having to review them again. So its not immediately obvious what to do. However, you can achieve it by renaming the output folder (where ratings are saved). But be warned you would have to review them all!! If you want to re-review only a few, delete the corresponding lines in the ratings file
BE SURE TO BAKCUP THE RATINGS TO ENSURE YOU WON'T LOSE YOUR HARDWORK.
..
for the error regarding outlier detection, try changing the -olf to a number smaller than the number of IDs in your id_list: https://raamana.github.io/visualqc/cli_freesurfer.html#Outlier%20detection
or you can also disable it altogether if that's not a feature you require.
The solution that you propose (removing the brains I want to re-review from the review file) is what I ended up doing, but my point here is that I'm proposing a better feature for visual_qc. If I reviewed some brains as too tired or review later is quite probable that I will want to evaluate them later, without the burden of having to go to the file, find the brains I evaluated like that, and then run the command again.
About your proposed solution for id_list, it didn't work. I passed 2 IDs to the file list in order to re-review 2 brains with the following commands:
$ visualqc_freesurfer --fs_dir People/ --id_list ids.txt -olf 0
2 subjects are usable for review.
Traceback (most recent call last):
File "/home/tmla2/miniconda/envs/env/bin/visualqc_freesurfer", line 11, in <module>
sys.exit(main())
File "/home/tmla2/miniconda/envs/env/lib/python3.5/site-packages/visualqc/__freesurfer__.py", line 11, in main
freesurfer.cli_run()
File "/home/tmla2/miniconda/envs/env/lib/python3.5/site-packages/visualqc/freesurfer.py", line 1032, in cli_run
wf = make_workflow_from_user_options()
File "/home/tmla2/miniconda/envs/env/lib/python3.5/site-packages/visualqc/freesurfer.py", line 1004, in make_workflow_from_user_options
id_list, vis_type, source_of_features)
File "/home/tmla2/miniconda/envs/env/lib/python3.5/site-packages/visualqc/utils.py", line 709, in check_outlier_params
raise ValueError('Invalid fraction of outliers: '
ValueError: Invalid fraction of outliers: must be more than 1/n (to enable detection of atleast 1)
I also tried with 1:
$ visualqc_freesurfer --fs_dir People/ --id_list ids.txt -olf 1
2 subjects are usable for review.
Traceback (most recent call last):
File "/home/tmla2/miniconda/envs/env/bin/visualqc_freesurfer", line 11, in <module>
sys.exit(main())
File "/home/tmla2/miniconda/envs/env/lib/python3.5/site-packages/visualqc/__freesurfer__.py", line 11, in main
freesurfer.cli_run()
File "/home/tmla2/miniconda/envs/env/lib/python3.5/site-packages/visualqc/freesurfer.py", line 1032, in cli_run
wf = make_workflow_from_user_options()
File "/home/tmla2/miniconda/envs/env/lib/python3.5/site-packages/visualqc/freesurfer.py", line 1004, in make_workflow_from_user_options
id_list, vis_type, source_of_features)
File "/home/tmla2/miniconda/envs/env/lib/python3.5/site-packages/visualqc/utils.py", line 713, in check_outlier_params
raise ValueError('Invalid fraction of outliers: can not be more than 50%')
ValueError: Invalid fraction of outliers: can not be more than 50%
I'm a bit confused with what you intend with id_list and olf which seem to not be very clear in the documentation. For --id_list you have "Abs path to file containing list of subject IDs to be processed. If not provided, all the subjects with required files will be processed.". How is this related to outlier detection? I think you can make this simpler by not mixing id_list with olf usage, or maybe I just completed missed out what are the use cases you actually want with these flags.
Yeah, docs could certainly be improved. Thanks for your ideas, I had similar ideas in mind, just haven’t been able to get to them yet.
If you tagged as “too tired or review later“, they should show up again in the next session for review.. if not it’s a bug.
I’ll peobably get to them during the hackathon over this weekend, but I’ll appreciate any help (with PR) in improving docs or implementation..
I'm a bit short on time to help, but if I tag some brains as too tired or review later, they will not show up again if I run the same command.