weasel

A desktop DICOM Image Viewer built using PyQt5.

https://github.com/steve-shillitoe/weasel

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.9%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

A desktop DICOM Image Viewer built using PyQt5.

Basic Info
  • Host: GitHub
  • Owner: Steve-Shillitoe
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 639 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 16
  • Releases: 0
Created over 6 years ago · Last pushed about 3 years ago
Metadata Files
Readme License Citation

README.md

License Software Status Version DOI

Weasel

Weasel is a Python environment for developing and deploying quantitative medical imaging applications.

It aims to simplify the process of testing prototype image processing pipelines on clinical data, by avoiding the need for dedicated graphical interface development and removing the overhead involved in interfacing with DICOM databases.

This will speed up the translation of new methods into early stage clinical studies, bringing forward the point where prototypes can be stress-tested under real world conditions.

Download test DICOM data here to try and experiment Weasel.

Installation

Git is required to download this repository, unless you choose to download the .zip file. In order for Weasel to run successfully, it is required to have Python (>=3.7) installed.

Download URLs:

Git

Python

If the images you wish to work with are Enhanced/Multiframe DICOM, then it is required to have Java JDK installed so that dcm4che can work correctly. If you're using an old OS, it is recommended that you scroll down when navigating the link below and choose an older version of Java JDK to install.

Java JDK

There are 2 options downloading and installing Weasel requirements:

Option 1

Download and install everything in one go by opening a Terminal (MacOS and Linux) or a CMD (Windows) and type in the following command:

pip install -e git+https://github.com/QIB-Sheffield/Weasel#egg=Weasel --src <download_path>

After the installation is finished, it's recommended that you go to the directory where Weasel was installed

cd <download_path>/weasel

and run the command

python setup.py clean

to clean the installation files that are not needed anymore.

Option 2

First, download the repository via git clone or by downloading the .zip file and extracting its contents. Then open a Terminal (MacOS and Linux) or a CMD (Windows), navigate to the downloaded Weasel folder

cd <Weasel_folder_path>

and run the command

pip install -e .

to install all Weasel dependencies. Finally, run the command

python setup.py clean

to clean the installation files that are not needed anymore.

For users that are more familiar with Python (Developers)

Running pip install -e . will read the setup.py file and install the required Python packages to run Weasel successfully. If there are any other Python packages you wish to be installed with Weasel, you can edit the setup.py file and add packages to the variable extra_requirements.

The core Python modules used in Weasel are in requirements.txt so alternatively you may choose to run pip install -r requirements.txt and then any other Python packages of your choice can be installed separately in your machine or in your virtual environment.

Start Weasel Graphical User Interface

Open a Terminal (MacOS and Linux) or a CMD (Windows), navigate to the downloaded Weasel folder

cd <Weasel_folder_path>

and start Weasel by running the command

python Weasel.py

If you're a developer, you may start Weasel by opening an IDE (Sublime Text, VS Code, Visual Studio, etc.) and run the Weasel.py script.

Start Weasel Command-Line Mode

Open a Terminal (MacOS and Linux) or a CMD (Windows), navigate to the downloaded Weasel folder

cd <Weasel_folder_path>

and start Weasel by running the command

python Weasel.py -c -d "path/to/xml/dicom.xml" -s "path/to/analyis/script.py

This alternative of Weasel is recommended if you're processing a large number of DICOM files at the same time or if you're running a time-consuming script.

Generate the Executable

There is a Github Action Workflow in place that automatically builds the Weasel executable for Windows, MacOS and Linux and uploads the output files to a Monthly Release every Friday at midday.

If you wish to create your own bundle, you can compile the Python project into an executable of the operative system you're using by using the pyinstaller package.

First, you have to navigate to your Weasel folder

cd <Weasel_folder_path>

and run the following python command:

python create_weasel_executable.py

You may use your IDE instead of the terminal during this process. The generated executable can be found in the Weasel folder.

For MacOS: If the command above doesn't work, you might need to run python3 instead and/or use sudo before the command. Eg. sudo python3 create_weasel_executable.py.

Any extra files you wish to add to your bundle, you can do so by writing the files/folders path in the --collect-datas and --add-data flags in the create_weasel_executable.py file.

Other Info

Weasel runs the command emf2sf of dcm4che on Enhanced/Multiframe DICOM. Elastix for Python can be used via ITK-Elastix.

Owner

  • Name: Steve Shillitoe
  • Login: Steve-Shillitoe
  • Kind: user
  • Location: 18 Claremont Cres, Broomhall, Sheffield S10 2TA
  • Company: University of Sheffield

This repository holds software developed during my time as a research software engineer at the universities of Leeds & Sheffield

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Shillitoe"
  given-names: "Steven"
  orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Almeida e Sousa"
  given-names: "Joao"
  orcid: "https://orcid.org/0000-0002-6668-7613"
- family-names: "Sourbron"
  given-names: "Steven"
  orcid: "https://orcid.org/0000-0002-3374-3973"
title: "Weasel"
version: 0.2
doi: 10.5281/zenodo.5790137
date-released: 2021-12-17
url: "https://doi.org/10.5281/zenodo.5790137"

GitHub Events

Total
Last Year

Dependencies

requirements.txt pypi
  • PyQt5 ==5.15.1
  • PyQt5-sip >=12.8.1
  • SimpleITK >=2.0.0
  • Sphinx >=3.2.1
  • argparse >=1.3.0
  • fpdf >=1.7.2
  • itk-elastix >=0.13.0
  • joblib >=0.14.1
  • lmfit >=1.0.0
  • matplotlib ==3.2.2
  • nibabel >=3.0.2
  • numpy >=1.17.3
  • opencv-python >=4.2.0.32
  • openpyxl >=3.0.2
  • pandas >=1.0.0,<1.2
  • pdoc3 >=0.10.0
  • pyautogui >=0.9.48
  • pydicom >=2.0.0,<2.2.0
  • pyinstaller >=4.2
  • reportlab >=3.6.1
  • scipy >=1.4.1
  • setuptools >=53.0.0
  • sip >=6.0.0
  • sphinx-rtd-theme >=0.5.0
  • tqdm >=4.40.0
  • uarray >=0.6.0
  • xlrd >=1.2.0
  • xnat >=0.4.0
setup.py pypi
  • requirements *