39 lines
2.1 KiB
Markdown
39 lines
2.1 KiB
Markdown
# 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](./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`](#makegraph) library.
|
|
|
|
## MakeGraph
|
|
|
|
> This refers to the [makeGraph.py](./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`](./main.py) uses makeGraph, its not the most scary thing in the world as its basically ~~AI~~ *a big if conditional*. |