# Pyrometry image processing ## Interface Screenshots | Input View | Results | | --- | --- | | ![](screenshots/pyro_input.png) | ![](screenshots/pyro_results.png) ## Using the web version 1. Go to [pyro.turtlebasket.ml](https://pyro.turtlebasket.ml). 2. Select an input image. 3. Enter your DSLR camera settings. 4. Click "Generate Heatmap". ## Using the local (batch) version Create a new config file: ``` cp config.example.yaml config.yaml ``` ...then edit the values to match your DSLR camera settings. Standard config syntax is: ```yaml --- # camera settings iso: 64 i-darkcurrent: 7.7 exposure-time: 0.5 f-stop: 2.4 # pyrometry settings min-temp: 600 max-temp: 1200 scaling-factor: 0.55 # output settings smoothing-radius: 2 ``` Install dependencies: ``` pipenv install ``` ...then load images into `images-input`. Run: ``` pipenv run python3 batch-process.py ``` ...and find outputs in `images-output`. ## Developing the web frontend To serve in production: ``` gunicorn flask_frontend:app ``` To autoreload on source file changes: ``` gunicorn flask_frontend:app --reload ``` ## Temperature maps **Grayscale pyrometry:** currently basic; uses grayscale opencv import, then just applies a jet filter. Doesn't yet copy the full impl in the paper. **Ratio pyrometry:** pretty damn close to what's in the paper but it's very broken atm **Test image:** ![](examples/01-0001-cropped.png) **Ratio pyrometry result (with convolutional smoothing):** According to general researcher consensus, ratio pyrometry is supposed to be more accurate. ![](examples/01-0001-cropped-transformed-ratio.png) **Grayscale pyrometry result:** ![](examples/01-0001-transformed-grayscale.png)