I tried to understand what this library does, but without image examples its impossible for me. The docs almost seem to be unhelpful on purpose. Look at the use case description: "The functionality of the SiaPy library has been implemented in various use cases, demonstrating its capabilities and potential applications. The library's functionality is not limited to these examples and can be extended to other applications as well."
Are we living in the dead Internet already where everything is meaningless AI garbage?
Spectral images are images where there are several sensors into one image (think visible and infrared/thermal for instance). A good example would be Altum Pt camera (https://ageagle.com/drone-sensors/altum-pt-camera)
Then, this library can be used for instance (their word)
- Display images from two cameras.
- Co-register cameras and compute the transformation from one camera's space to another.
- Select regions in images for training machine learning (ML) models.
- Perform image segmentation using a pre-trained ML model.
- Convert radiance images to reflectance by utilizing a reference panel.
- Display spectral signatures for in-depth analysis.
Yes I know, but this is still my free time and effort I am putting in. I will try to add additional examples over time, but for now this was everything I managed to do :) For now I was a solo developer, it would be much easier if anyone would help me out
As you figured, I gathered and refactured multitude of the code that I mainly used in my research project. However, this is still not to say that someone cant find it useful :) I make a ton of effort to at least document the api and write at least some parts of the docs ;)
ok, just making sure that we are on the same page. Yeah, the inception was mostly organic, since in the last years I could not find a library that would enable me to easily do these things. Most of the code we use internally at the institute and I figured why not to share it with others. Maybe anyone will also get encouraged to help me with implementation of other useful features.
Thanks, I agree, the problem is that I was a solo developer for the enitre time and with me understanding it entirely it is easy to forget that peaople have a hard time understanding it. Will correct it ASAP. Thanks for the suggestion :)
If you’re looking to analyse your hyperspectral images (spectrum-images, image-images or n-dimensional- n-dimensional datasets), I can highly recommend hyperspy [1].
One of the brilliant ideas hyperspy incorporates is that we consider datasets to have a navigation dimension and a signal dimension (think, you measure a spectrum at each point on an image), and you can easily transpose between them. This means that you can «move around» on the image and see what the spectrum looks like, or transpose and see what the image looks like as a function of the spectrum.
In particular I think the model building, where you can fit components to your dataset, is really useful.
It works best with the Jedi LSP - pyright doesn’t support the way we added lazy loading / extensions to the base hyperspy package.
Hyperspy is great and the ability to "move around" n-dimensiobal datasets is a very powerful tool for the data visualization!
When I used it I missed two things compared to a similar superpower tool I used when I was working with multidimensional field test data in Matlab.
1. Ability to use "text dimensions", or non-uniformly spaced grid points.
2. Ability to select and filter on arbitrary expressions instead of by slice only.
The need for (2) is harder to grok (what's that going to do for a grid dataset???), but being able to apply a few arbitrary selection expressions is a superpower when analyzing messy 10+ dimensional data.
That, and the ability to add, on the fly, virtual dimensions for arbitrary expressions.
Someday, when I am ready to retire, I will take half a year to build this in python...
Thank you for the info! I recall looking at the available tools and thought that neither scratched my itch of flexible interactive filtering filtering and flexible interactive visualization. Great tools for either one, but not for both. But I will give xarray another look.
I've created a Python library for working with spectral images. It started as a mix of work and personal interest. Since I work in research, I brought together a lot of useful code to make handling spectral images easier and packaged it into this library. I hope others find it helpful too! :blush:
There is a multitude of applications leveraging parts of the spectra different than the visible. I come from an agricultural background, and you can see examples from improving classification of land use, detection and classification of diseases, nutritional status assessment, indirect measurements of properties of plants and soil... it is endless, and every time any part of the tool stack gets cheaper, you have more and more potential applications.
This comment [1] have a nice description for the library.
It is for hyperspectral images for now :) I am aware that more visual representation should be added, but would require me to prolong showing it to wider public. I was hoping this would bost reputation and get any potential collaborators hooked to the project heh
Thanks, i am aware however that matlab have some tols that are worthwhile. But the main thing here is to have an utility lib for python so that you can use it with the entire python ecosystem :)
All that work and you can't put a description of what it does, an example, an image, something. 10'000 people click the link you posted, see nothing at all, and leave again.
gotcha, thanks for the feedback. This post provided me with feedback for the first time, before I was just developing the lib for myself. I will add additional info in the following days