Giter Site home page Giter Site logo

hyperspecutils's Introduction

HyperSpecUtils

Java class library with utilities for processing hyperspectral images from PSI hyperspectral camera and PhenoMobileLite and training and using machine-learning pixel classification models.

Author: Alexander Ivakov

This project is not being developed. No commits please, fork it if you want to develop it.

This is a class library that contains utility functions for processing of hyperspectral images.

To use: build a JAR and import into your project. Some example programs for typical use cases are below.

This code requires the Java port of OpenCV version 2.4.13 to run.

Example driver programs:

HyperSpecJava: Example program to open a BIL file, normalise using a white reference calibration image, train a two-class KNN classifier on the spectra using the mouse to select spectra, then save the model to an XML file.

HyperImageClassifier: Example program to open and normalise a BIL file, load a pre-trained spectral KNN classifier from an XML file, predict class for all pixels, then export all spectra from pixels falling into class 1 (this may be plant pixels) for each of 20 image regions corresponding to pots in a tray, as CSV files.

HyperImagePCA: Example program to read and normalise a BIL file, do PCA on the image (with pixels as observations and wavelengths as varaibles), plot the results as images with PCA score as image intensity, and save these images for a defined number of principal components. Optionally first apply a KNN classifier to the image and then do PCA only on the pixels falling in class 1.

HyperImageVisualiseLDA: Example program to visualise LDA models obtained using multivariate spectral mapping as images (LDA scores as image intensity).

HyperImageClustering: Example program to apply a pre-trained KNN classifier to a BIL image, identify pixels of class 1, then apply K-means clustering to the spectra of those pixels, in each of 20 image regions corresponding to pots in a tray.

hyperspecutils's People

Contributors

aivakov avatar

Watchers

Tim Brown avatar  avatar

Forkers

grseb9s edyhuiza

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.