See Beyond the Visible: The Magic of Hyperspectral Imaging
Project description
See Beyond the Visible: The Magic of Hyperspectral Imaging
HSI-Wizard
The goal is to set up a straightforward environment for hyperspectral analysis. The HIS-Wizard provides a range of useful tools for this purpose, spanning from basic spectral analysis to advanced methods utilizing artificial intelligence.
Features
- DataCube Class
- Spectral plotting function
- Clustering
- Spectral Analytics
- Maldi Analytics
- Merge Spectral Data
- Hyperspectral Imaging
Requirements
- Python >3.10
Installation
pip
When utilizing pip, hsi-wizard releases are accessible in the form of source packages and binary wheels. Before proceeding with the installation of hsi-wizard and its prerequisites, ensure that your pip, setuptools, and wheel are updated to the latest versions
pip install hsi-wizard
Compile from source
An alternative method for installing HSIWizard involves cloning its GitHub repository and compiling it from source. This approach is commonly chosen when modifications to the code are desired. It is essential to have a development environment set up, which should include a Python distribution with header files, a compiler, as well as installations of pip and git.
python -m pip install -U pip setuptools wheel # install/update build tools
git clone https://github.com/BlueSpacePotato/hsi-wizard # clone hsi-wizard
cd hsi-wizard # navigate into dir
python -m venv .env # create environment in .env
source .env/bin/activate # activate virtual env
pip install -e . # install requirements
pip install wheel # install wheel
pip install --no-build-isolation --editable . # compile and install hsi-wizard
Documentation
Click here for Docs!
The Documentation is available as readthedocs project. Build with sphinx
and the sphinx_rtd_theme
.
The Git Structure
docs/
data for the sphinx/readthedocs implementationresources/
for storing images and sample data and equivalentwizard/
the source code for thehsi-wizard
python-lib that can be used as stand alone.github/workflows/
.yaml-files for autobuild etc
Code Philosophy
- keep things simple
- implement only the smallest amount of code, to solve a problem
- don't make up, no existing problems
- try to solve problems the easiest way first
- build reliability code
- write usefull comands
Definitions
To build a clean code and communicate the ideas the right way, we need to define some basic understandings.
DataCube
- A Datacube is a 3D array with shape
vxy
x
andy
values describe the number of pixels in each directionv
values (often called λ in papers) describe the information deapth of the spectrum, commanly as measured counts.
from matplotlib import pyplot as plt
from hsi_wizard import datacube as dc
len_v = 50
len_x = 5
len_y = 6
# define empty array with given shape
data_cube = dc.DataCube()
# get the spectru for a single pixel and plot it
spectrum = data_cube[:, 3, 3]
plt.plot(spectrum)
plt.show()
# show 2d image for channel 3
img = datacube[3]
plt.imshow(img_2d)
plt.show()
Difference read and load
As loading
function is used to import already processed data. For example if you want to load in an already existing numpy array. A read
function on the other hand, reads dedicate files, like a *.csv
or *.fsm
file.
Pre-Processing Level
Based on an Idea from DOI
- Level 0: Data is captured directly from sensor
- Level 1: Data is processed in a easy way
- Level 2: Data is hardly processed
To Dos
- better hyperparameter tuning with evol source
- R-support with patsy source
- better template-creator
- merge function for multiple specs
- spec appending function
- save file as nrrd
Changelog
The changelog will be added if the beta version is fine and runs stable
Acknolagement
Thanks to shopify providing a free logo build with the free hatchful logo-generator.
Icons made by Good Ware from www.flaticon.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hsi_wizard-0.0.7.tar.gz
.
File metadata
- Download URL: hsi_wizard-0.0.7.tar.gz
- Upload date:
- Size: 124.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a9c29d6b83d4487d801343896d828ea8d3c415b9845c18c7a588e884e70f17e |
|
MD5 | 453c10732304f369141e91c56a54719f |
|
BLAKE2b-256 | e0a3a5817b8f4197e63032cd54840415e011eeb7524231752786ababb0e3922e |
File details
Details for the file hsi_wizard-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: hsi_wizard-0.0.7-py3-none-any.whl
- Upload date:
- Size: 22.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae14ef5b0d4596688b1fda978a15d49638d510c374c379ed8d080156cd7803f9 |
|
MD5 | 170502a9d79a98592c7d0a9c7e1bcc63 |
|
BLAKE2b-256 | e7ef1b7a3ee105a9cc61e4b30c0e5d80861715ff846b790bd78a382d7aceef42 |