Skip to main content

Python package for managing imaging research projects in REDCap and XNAT

Project description

garjus

Garjus manages neuroimaging research projects stored in REDCap and XNAT. Integration with DAX allows subject-level processing as well as group-level multi-project analyses. Automations provide data curation, extraction and transformation. All required settings are stored in REDCap. Automation activity is logged in REDCap. Any issues encountered are recorded in REDCap. Progress reports and snapshots are stored in REDCap.

Try dashboard

If you have data in both XNAT and REDCap, garjus will likely be useful. For maximum utility, data will be curated to include consistent session types and scan types. Garjus provides tools to help automate this curation process. Typically, a garjus update will run as a scheduled process. An update usually takes a few minutes unless there are new image sessions to import.

Garjus maintains a stats database of imaging measurements for quick-access and dynamic export.

Other tools include double data entry with compare and image03 to handle uploads to the NDA repository.

All can be utilized in python scripts or via the command-line interface. A current view can be had in the dashboard which provides a single point of access to data in XNAT/REDCap.

At CCMVUMC, garjus is used to automate EEG/MRI/PET image processing as well as manage related data including E-Prime, Gaitrite, NIH Toolbox, NIH Examiner, Fitbit, LifeData, ARC app, etc. Automations are initially triggered when a user enters the scan identifier from the scanner and continue all the way through to analysis.

Quickstart

If you have data in REDCap and XNAT, but have not configured them for garjus follow the steps in setup.

To use an existing garjus system, you will simply need to configure your credentials.

The latest release can be installed from PYPI.

pip install garjus

using garjus in python

from garjus import Garjus

g = Garjus()

The main Garjus class provides data access methods that all return a Pandas DataFrame.

g.activity()
g.analyses()
g.assessors()
g.automations()
g.issues()
g.phantoms()
g.processing_protocols()
g.progress()
g.scans()
g.subjects()
g.subject_assessors()
g.stats(project)
g.tasks()

To get the columns in each dataframe:

g.column_names('issues')
g.column_names('scans')

These Garjus methods returns names in a list:

g.stattypes(project)
g.scantypes(project)
g.proctypes(project)
g.stats_assessors(project)
g.stats_projects()

Command-line interface subcommands

The garjus command-line interface provides mulitple subcommands each with specific options/arguments.

  • activity - display activity
  • analyses - display analyses
  • compare - data entry comparison
  • copyscan - copy an imaging scan from one session to another
  • copysess - copy an imaging session from one project to another
  • dashboard - start a dashboard server and browse to it in a new local web browser tab
  • delete - delete a proctype from a project
  • download - download files from XNAT assessors
  • export - extract stats to csv files
  • image03csv - create an NDA image03 formatted csv file for a project and date range
  • image03download - download all images for an NDA image03 csv file
  • importdicom - import DICOM into XNAT from local file or remote URL such as gstudy
  • importnifti - import NIFTI into XNAT from local file
  • issues - display current issues
  • orphans - find and display assessors without parents
  • processing - display current processing
  • progress - display list of progress reports
  • quicktest - test connections
  • report - create a summary PDF of a project
  • retry - find jobs that have run once an run them again
  • run - run a dax analysis locally
  • setsesstype - set the SessionType field of a session
  • setsite - set the Site field of a session
  • stats - export stats to csv
  • statshot - export stats to csv files and save output as new analysis
  • subjects - display subjects of a project
  • switch - batch change status of assessors
  • tasks - show currently running task jobs
  • update - run automations, update caches, check for issues

Find a problem? Report an issue. Got an idea? Open a discussion. Thanks!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

garjus-1.3.3.tar.gz (191.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

garjus-1.3.3-py3-none-any.whl (240.7 kB view details)

Uploaded Python 3

File details

Details for the file garjus-1.3.3.tar.gz.

File metadata

  • Download URL: garjus-1.3.3.tar.gz
  • Upload date:
  • Size: 191.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for garjus-1.3.3.tar.gz
Algorithm Hash digest
SHA256 86e9deff1a60c9c4933fc0e3651d3380541330b7ca3c4c9b393e070a82c49026
MD5 12ebcce927c4899fd6a881559de1c9ba
BLAKE2b-256 b73418c84d8b1cbd27088a0fc5cbdbe9571272226c83334248e2a8f661149c2e

See more details on using hashes here.

File details

Details for the file garjus-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: garjus-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 240.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for garjus-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1b16eaec66aa230ea3430f8feadefca689b62d59f099c87354b66a2e4f9717b0
MD5 aea4d1ec68887fa23809fb445fbfec5a
BLAKE2b-256 98908c693126d9dad1cd6c39b560502ce56d3272dae6677844f1869c213e64a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page