# Ionization Probe Analysis Code > Written by Cal Wing ( - 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*.