Skip to content

This helps creating high quality figures for use in manuscripts and presentations.

License

Notifications You must be signed in to change notification settings

CBICA/FigureGenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5aeec48 · Jul 11, 2023
Jul 11, 2023
Jul 11, 2023
Aug 6, 2021
Jul 11, 2023
Jul 30, 2021
Aug 9, 2021
Jul 30, 2021
Aug 9, 2021
Jul 26, 2021
Jul 29, 2021
Aug 30, 2021
Aug 3, 2021
Jul 26, 2021
Aug 9, 2021
Jul 11, 2023

Repository files navigation

Figure Generator

PyPi Conda Build & Tests Codacy Badge Codacy Badge Code style

This project helps create high quality figures for medical images for use in presentations and/or manuscripts.

Installation

git clone https://github.com/CBICA/FigureGenerator.git
cd screenshot_maker
conda create -n venv_screenshot python=3.7 -y
conda activate venv_screenshot
pip install -e .

OR directly via Pip:

pip install FigureGenerator

Usage

python ./figure_generator -h
usage: FigureGenerator [-h] -images IMAGES [-masks MASKS] [-opacity OPACITY]
                       [-ylabels YLABELS] -output OUTPUT [-axisrow AXISROW]
                       [-boundtype BOUNDTYPE] [-fontsize FONTSIZE]
                       [-borderpc BORDERPC] [-v]

Constructing screenshots from medical images.

Contact: software@cbica.upenn.edu

This program is NOT FDA/CE approved and NOT intended for clinical use.
Copyright (c) 2021 University of Pennsylvania. All rights reserved.

optional arguments:
  -h, --help            show this help message and exit
  -images IMAGES        Input image files (comma-separated without any spaces in path and co-registered)
  -masks MASKS          Mask files (comma-separated without any spaces in path and co-registered with images); if multiple files are passed, first is ground truth
  -opacity OPACITY      Mask opacity between 0-1
  -ylabels YLABELS      The comma-separated ylabels that will be displayed on the subplots' y-axis
  -output OUTPUT        Output screenshot file
  -axisrow AXISROW      Put all axes views across each column and stack images and blends in rows, defaults to False
  -boundtype BOUNDTYPE  Construct bounding box around specified region; can be 'none, image or mask'
  -fontsize FONTSIZE    Font size for all text on the figure
  -borderpc BORDERPC    Percentage of size to use as border around bounding box (used only when mask and bounded are defined)
  -v, --version         Show program's version number and exit.

Examples

Vertical screenshot of multiple images without bounding:

python ./figure_generator \
-images C:/input/subject_001_flair.nii.gz,C:/input/subject_001_t1ce.nii.gz,C:/input/subject_001_t1.nii.gz,C:/input/subject_001_t2.nii.gz \
-masks C:/input/subject_001_seg.nii.gz \
-axisrow False \
-output C:/input/fig.png 

Gives the following output:

Horizontal screenshot of multiple images without bounding:

python ./figure_generator \
-images C:/input/subject_001_flair.nii.gz,C:/input/subject_001_t1ce.nii.gz,C:/input/subject_001_t1.nii.gz,C:/input/subject_001_t2.nii.gz \
-masks C:/input/subject_001_seg.nii.gz \
-axisrow True \
-output C:/input/fig.png 

Gives the following output:

Horizontal screenshot of multiple images with image-based bounding:

python ./figure_generator \
-images C:/input/subject_001_flair.nii.gz,C:/input/subject_001_t1ce.nii.gz,C:/input/subject_001_t1.nii.gz,C:/input/subject_001_t2.nii.gz \
-masks C:/input/subject_001_seg.nii.gz \
-axisrow True \
-boundtype image \
-output C:/input/fig.png 

Gives the following output:

Note: This can be used with vertical orientation as well, by passing -axisrow False to the command.

Horizontal screenshot of multiple images with mask-based bounding:

python ./figure_generator \
-images C:/input/subject_001_flair.nii.gz,C:/input/subject_001_t1ce.nii.gz,C:/input/subject_001_t1.nii.gz,C:/input/subject_001_t2.nii.gz \
-masks C:/input/subject_001_seg.nii.gz \
-axisrow True \
-boundtype mask \
-borderpc 0.001 \
-output C:/input/fig.png 

Gives the following output:

Note: This can be used with vertical orientation as well, by passing -axisrow False to the command.

Feedback

Please post on GitHub Discussions or post an issue.