2.1 KiB
Ionization Probe Analysis Code
Written by Cal Wing (c.wing@uq.net.au - 45811953) in 2024 for his Thesis
Installation
Run pip install -r requirements.txt
or equivilient for your envoroment.
Running
Run main.py
it will then generate all the output graphs and put them in (a git untracked) folder called ./images
.
By default all data graphs will be generated - you need to change the functions called at the end in the if '__name__ == '__main__':
section.
./data
Explanation
I like YAML files to store information. All the data shot folders have a file call _info.yaml
this file contained all the info about the shot so that when it would load & be graphed it would be correct.
I hope the values are self explanatory but they may not - sorry
Changes to canny_shock_finder.py
Basically I hacked in an extra argument print_func
, that is used to override the print
function in the file. It assumes its either a callable reference (like print, the default) or None (it then uses a no-operation function to silence all output)
I also removed the error catching around lines ~497 so the function blindly continues if it can't graph.
I also enabled grid lines on the graphs.
The UQ colours being used on the graphs is due to some funky abuse utlitly I built into my makeGraph
library.
MakeGraph
This refers to the makeGraph.py file/version in this code base, I would not trust the exact specifics for versions found elsewhere, but the general gist is the same.
A long time ago I wrote a wrapper for matplotlib that has expanded into a formatting tool. The crux of it is that I can throw a dictionary at the makeGraph
function and it will do all the hard work for me.
There are a few fun things that loading the lib will do - like overriding the default colour cyclers to use only the UQ colours - so if your going to liberate / adapt it be wary.
All the graphing done in the main.py
uses makeGraph, its not the most scary thing in the world as its basically AI a big if conditional.