Thesis/README.md
2024-10-25 16:21:42 +10:00

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.