What In The Zap Is That? AI categorization of spectra from LIBS/XRF analyzers. https://spacecruft.org/spacecruft/witzit/
 
 
Go to file
jebba 3a33722db4 add pandas dep 2022-01-24 14:46:54 -07:00
img Deep Learning Sequence() diagram 2022-01-22 23:37:49 -07:00
.gitignore ignore samples dir 2022-01-24 12:43:00 -07:00
LICENSE witzit - What In The Zap Is That? 2022-01-22 23:18:26 -07:00
README.md wz-load, tensorflow cpu 2022-01-24 14:34:23 -07:00
requirements-dev.txt black for py PEP8 formatting 2022-01-24 14:42:39 -07:00
requirements.txt add pandas dep 2022-01-24 14:46:54 -07:00
wz-load minor formatting 2022-01-24 14:43:18 -07:00

README.md

witzit - What In The Zap Is That?

witzit --- What In The Zap Is That? AI categorization of spectra from SciAps analyzers.

Install

Install Dependencies

Get system dependency and upgrade Python pip. Perhaps do something like this, or set up a Python virtual environment.

sudo apt update
sudo apt install git python3-pip
pip install --user --upgrade pip

Clone Git Repo

Get source code with git.

The default requirements.txt installs a tensorflow without GPU support. You can edit the requirements.txt file to change which is supported. The "generic" version supports both.

git clone https://spacecruft.org/spacecruft/witzit
cd witzit/
pip install --user --upgrade -r requirements.txt

Usage

HOWTO USE.

Status

Alpha software under development.

Hardware

  • SciAps LIBS Analyzer

  • SciAps XRF Analyzer

Deep Learning Algorithm

Can use lots from wut.

def uncompiled_model():
  model = Sequential([
    Conv2D(16, 3, padding='same', activation='relu', input_shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
    MaxPooling2D(),
    Conv2D(32, 3, padding='same', activation='relu'),
    MaxPooling2D(),
    Conv2D(64, 3, padding='same', activation='relu'),
    MaxPooling2D(),
    Flatten(),
    Dense(512, activation='relu'),
    Dense(1, activation='sigmoid')
  ])
  return model

Amazingly (to me), the paper Classification of radioxenon spectra with deep learning algorithm (2021) by Azimi, et al. uses nearly the identical CNN Sequence() as wut uses, indicating it may be a very good base to start from.

Paper is non-gratis science:

The Sequence() diagram is pulled from the Azimi paper, but is the same as in wut, so makes a good reference.

Deep Learning Sequence

Articles:

Misc

Will likely work best with binary categorizations. E.g. like this: Is it element A or not element A? Is it element B or not element B? Is it element C or not element C? Not "is it element A, B, or C?"

Unofficial

Unofficial, unaffiliated with SciAps.

License

License: GPLv3 or any later version.

Copyright (C) 2022, Jeff Moe