Medical Imaginging Research structuring and automation
Project description
hurahura - formerly miresearch
Organisation and automation tools for medical imaging research data
hurahura is māori for "to investigate" or "to look around"
Installation:
pip install hurahura
# formerly: pip install imaging-research
About
This is a collection of classes for following OOP principles for organisation of research data for medical imaging research studies.
The intention is to provide a framework that will store imaging data on a "per examination" basis in a structured format. This structured format then permits simple interrogation, and automation.
It takes advantage of the dicom standard and the package spydcmtk for automating and generalising many typical steps with the intention of making the researcher's life easier.
This package may be easily adapted and expanded upon for a high level control over your research data. Or, it may be used as is for basic structure and organisation of data and automation of common tasks.
Class structure
AbstractSubject class is top level class taking inputs:
- subjectNumber : an integer
- dataRoot : the root directory where subjects to be stored
- subjectPrefix : a prefix to be combined with subjectNumber for naming each subject
- Optional: will be guessed from subjects already present in dataRoot if not given.
- DIRECTORY_STRUCTURE_TREE : DirectoryStructureTree class to define directory structure for each subject directory (see wiki for construction shortcuts)
- Optional: Defaults to RAW and META directories.
This is the basic parent class containing fundamental methods for organisation and management. See hurahura docs for advanced usage, epsecially via inheritance and polymorphism.
Configuration
hurahura uses a miresearch.conf file for configuration.
By default miresearch.conf files are search for in the following locations:
- source_code_directory/miresearch.conf (file with default settings)
- $HOME/miresearch.conf
- $HOME/.miresearch.conf
- $HOME/.config/miresearch.conf
- Full file path defined at environment variable: "MIRESEARCH_CONF"
- Full path passed as commandline argument to
hurahura
Files are read in the above order with each subsequent variable present overwritting any previously defined. For information on files found and variables used run:
hurahura -INFO
systemctl
Running mi_watcher via systemctl is an attractive application:
Ubuntu instructions:
- Build a .service file in /etc/systemd/system:
[Unit]
Description=My mi_watcher Service
After=network.target
[Service]
Type=simple
ExecStart=/path/to/script
Restart=on-failure
[Install]
WantedBy=multi-user.target
- Build /path/to/script:
#!/bin/bash
source /myvenv/bin/activate
hurahura -WatchDirectory /path/to/watch_directory -config /path/to/my_proj.conf
- Reload systemd
- enable service
- start service
sudo systemctl daemon-reload
sudo systemctl enable myservice.service
sudo systemctl start myservice.service
Documentation
For full documentation see hurahura docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hurahura-0.1.21.tar.gz.
File metadata
- Download URL: hurahura-0.1.21.tar.gz
- Upload date:
- Size: 49.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
574b28898736c51b23ff9eb91a376df6b9f04fcfc978f4457a75076738be1cf2
|
|
| MD5 |
eb3e72a797e29603cb19e43e6c85ed7c
|
|
| BLAKE2b-256 |
66fc464b69443ff0f5bbd3f862b53ae90a62297e01c19275be5297f98e144523
|
File details
Details for the file hurahura-0.1.21-py3-none-any.whl.
File metadata
- Download URL: hurahura-0.1.21-py3-none-any.whl
- Upload date:
- Size: 55.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20949c02b11e011dbfb1f28e70f9477165d5ddca84a965bc77cbcb4528dad8a8
|
|
| MD5 |
cbe4ba39f15843d7614a7c67b9d9577b
|
|
| BLAKE2b-256 |
6c16d21d88a5dd8aae293b7aef250122171069b956f30020c2628d61e9ae32f2
|