silmae / hsicube Goto Github PK
View Code? Open in Web Editor NEWA MATLAB framework for hyperspectral cube analysis
License: MIT License
A MATLAB framework for hyperspectral cube analysis
License: MIT License
Currently default values for properties are defined at their initialization sites, split between Cube.m property definitions, constructor and CubeArgs, etc. This needs to organized better for maintainability, perhaps by creating a set of constant properties (e.g. DEFAULT_QUANTITY) for Cube.
Currently the only (easy) way to select a given wavelength range of bands from a cube is to use logical indexing with the Wavelength property, for example
cube.bands(cube.Wavelength > 540 && cube.Wavelength < 1200)
works for selecting bands between 540 and 1200 nanometers. However, attempting the following will most likely result in an error:
cube.bands(cube.Wavelength > 540).bands(cube.Wavelength < 1200)
This is because both the logical matrices will be fully evaluated before either of the bands() statements, while the latter (rightmost) bands() statement is carried out on the already once sliced cube. If the first logical indexing reduces the number of bands, the latter will attempt to index the remaining bands with a logical vector of a larger size and fail.
Since bands() cannot know why the supplied vector has the wrong length, it cannot give a more accurate error message to suggest a fix. Should it suggest this error in all cases?
To evade this issue, it would be best to implement a separate method to index the wavelength space, which always refers to the current state of the cube. However creating a ease-to-use parameter syntax for such a function is not very easy in MATLAB.
Detailed and consistent documentation (visible with MATLAB help
or doc
) should be available for
In addition, tutorials or examples should be written for common usecases, such as
Please comment if you have suggestions for example cases!
This issue is meant to track any (breaking and minor) API changes desired before considering it stabilized (my goal for 0.9.0). The current API (properties and methods for Cube) has been implemented without much outside or user input, and there are probably many cases of non-obvious syntax or other deficiencies in the current code. Please post comments or issues on any API changes you would like to see.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.