Package: test-hazen
hazenQuality assurance framework for Magnetic Resonance ImagingExplore the docs »View repo·Report Bug·Request FeaturePleaseSTARthis repo to receive updates about new versions of hazen!Overviewhazen is a software framework for performing automated analysis of magnetic resonance imaging (MRI) Quality Assurance data.It provides automatic quantitative analysis for the following measurements of MRI phantom data:Signal-to-noise ratio (SNR)Spatial resolutionSlice position and widthUniformityGhostingMR RelaxometrySome example outputs from hazen:hazen snrhazen ghostingInstallationpipHazen can be installed using pip on python 3.9 or higher, it is recommended to use a virtual environmentpython3-mvenvhazen-venvsourcehazen-venv/bin/activate
pipinstallhazenDockerThe Docker version of hazen as it is easy to get up-and-running and is linked to the most stable release. Refer to theDocker installation instructionsto install Docker on your host computer.For ease of use, it is recommended to copy thehazen-appscript to a location accessible on the path such as/usr/local/bin. This will allow you to run hazen from any location on your computer. Then, to use Docker hazen, simply run thehazen-appscript appended with the function you want to use (e.g.:snr).In Terminal:cdhazen
cp./hazen-app/usr/local/bin# run hazen with CLI argumentshazen-appsnrtests/data/snr/Siemens/

latest:Pullingfromgsttmriphysics/hazen
Digest:sha256:18603e40b45f3af4bf45f07559a08a7833af92a6efe21cb7306f758e8eeab24a
Status:Imageisuptodateforgsttmriphysics/hazen:latest
docker.io/gsttmriphysics/hazen:latest{'snr_smoothing_measured_seFoV250_2meas_slice5mm_tra_repeat_PSN_noDC_2_1':191.16,'snr_smoothing_measured_seFoV250_2meas_slice5mm_tra_repeat_PSN_noDC_3_1':195.58,'snr_smoothing_normalised_seFoV250_2meas_slice5mm_tra_repeat_PSN_noDC_2_1':1866.09,'snr_smoothing_normalised_seFoV250_2meas_slice5mm_tra_repeat_PSN_noDC_3_1':1909.2,'snr_subtraction_measured_seFoV250_2meas_slice5mm_tra_repeat_PSN_noDC_2_1':220.73,'snr_subtraction_normalised_seFoV250_2meas_slice5mm_tra_repeat_PSN_noDC_2_1':2154.69}Linux & MacOSFor developers, hazen can be installed from source usingpip. We highly recommend using a virtual environment.# Install OpenSSL# Go to local hazen repo directorycdhazen# Create and activate a virtual environmentpython3-mvenv./hazen-venvsourcehazen-venv/bin/activate# Install requirementspipinstall--upgradepipsetuptoolswheel
pipinstall-rrequirements.txt# Install hazenpythonsetup.pyinstall# Run tests to ensure everything is workingpytesttests/UsageCommand LineThe CLI version of hazen is designed to be pointed at single folders containing DICOM file(s). Example datasets are provided in thetests/data/directory. If you are not using the Docker version of hazen, replacehazen-appwithhazenin the following commands.To perform an SNR measurement on the provided example Philips DICOMs:hazen-app snr tests/data/snr/PhilipsTo perform a spatial resolution measurement on example data provided by the East Kent Trust:hazen-app spatial_resolution tests/data/resolution/philipsTo see the full list of available tools, enter:hazen-app -hThe--reportoption provides additional information for some of the functions. For example, the user can gain additional insight into the performance of the snr function by entering:hazen-app snr tests/data/snr/Philips --reportWeb InterfaceWIP: we are developing a web interface for hazen.ContributingThe Release Manager should create a release branch for the future planned release e.g. release-X.X.XThe RMs shall organise backlog refinement sessions to ensure issues are allocated to the appropriate releaseThe RM should ensure their release branch is kept up-to-date with masterPRs should be merged into the appropriate release branch for the issue(s) it is addressingIf you want to contribute to the development of hazen, please take a look at:CONTRIBUTING.md.UsersPleaseraise an Issueif you have any problems installing or running hazen.We have used hazen with MRI data from a handful of different MRI scanners, including multiple different vendors. If your MRI data doesn't work with hazen, or the results are unexpected, please submit an Issue and we will investigate.ReleasingThe Release Manager should ensure:All outstanding issues for the current release have been closed, or, transferred to future release.All tests are passing on Github Actions.All documentation has been updated with correct version numbers:Version number indocs/conf.pyVersion number inhazenlib/__init__.pyVersion number inCITATION.cffThereleasebranch has been merged intomainbranchA new release has been created with a new version tag (tag = version number)RMs of other branches should update their release from the latest release as soon as possible and deal with any merge conflicts.RMs: Tom Roberts, Lucrezia Cester