crikit.data package¶
Subpackages¶
Submodules¶
crikit.data.factorized module¶
Factored data class
Created on Fri Apr 22 23:42:40 2016
@author: chc
- class crikit.data.factorized.FactorizedHsi[source]¶
Bases:
crikit.data.spectra.Hsi
,crikit.data.factorized._Factorized
Factorized Hsi Class
Notes
TODO: deside on
- class crikit.data.factorized.FactorizedSpectra[source]¶
Bases:
crikit.data.spectra.Spectra
,crikit.data.factorized._Factorized
Factorized Spectra Class
Notes
TODO: deside on
crikit.data.frequency module¶
“Frequency” [,wavelength, and wavenumber] class and function.
- class crikit.data.frequency.Frequency(data=None, calib=None, calib_orig=None, calib_fcn=None, units=None)[source]¶
Bases:
object
Frequency [,wavelength, and wavenumber] class
- data¶
Frequency vector
- Type
1D ndarray, optional (see note)
- calib_orig¶
Calibration object (‘original’). Set during initial setting of calib. Useful for backing-up calibration)
- Type
object, optional (see note)
- calib_fcn¶
Function that accepts a calibration object and returns data and units
- Type
fcn, optional (see note)
- units¶
Units of data (the default is ‘Frequency’). Over-written by return from calib_fcn
- Type
str, optional
- op_list_pix¶
Range of pixels to perform operations over. Must be even lengthed.
- op_list_freq¶
Range of frequencies (or wavelength, or wavenumber) to perform operations over. Must be even lengthed.
- plot_list_freq¶
Range of frequencies (or wavelength, or wavenumber) to plot. Must be even lengthed.
- pix_vec¶
Pixel vector (0-indexed)
- Type
1D ndarray, read-only
- op_range_freq¶
Range of operarational frequencies
- Type
1D ndarray, read-only
- plot_range_freq¶
Range of printing frequencies (not implemented)
- Type
1D ndarray, read-only
- get_index_of_closest_freq()[source]¶
Find the closest frequency in freq to a given freq value and RETURN the pixel value.
Notes
Currently, this implementation does not check whether the attributes/parameters are contradictory: - calib - calib_orig - data
The purpose of _list_ is to limit the range over which operation or plotting is performed. In some instances, for example, one may collect a larger set of frequencies that of interest or there may be blank (i.e., no signal) regions. Limiting these regions enables faster computation, may minimize “edge effects”, and may allow for zoomed-in plotting when there are items of interest or a large dynamic range across a spectrum.
For functions, methods, etc. that take into account _list_ parameters, they should default to op_list_* if plot_list_* are set to None.
- property calib¶
- property calib_fcn¶
- property calib_orig¶
- property data¶
- get_index_of_closest_freq(in_freqs)[source]¶
Return index(-es) of frequency(-ies) in freq closest to in_freqs
- property op_list_freq¶
- property op_list_pix¶
- property op_range_freq¶
- property op_range_pix¶
- property op_size¶
- property pix_vec¶
- property plot_list_freq¶
- property plot_list_pix¶
- property size¶
- property units¶
- crikit.data.frequency.calib_pix_wl(calib_obj)[source]¶
Return a wavelength (wl) vector based on calibration (calib) object
- Parameters
calib_obj (list or 1D ndarray) – Calibration object (see below).
calib_obj – Calibration dict with 5 key-value pairs (see Notes)
calib_obj – Calibration array [‘n_pix’, ‘ctr_wl’, ‘ctr_wl0’, ‘units’, ‘a_0’, ‘a_1’, …, ‘a_n’]
- Returns
wl_vec (1D ndarray) – Wavelength vector
units (str) – Units string ‘Wavelength (’ + calib_obj[‘units’] + ‘)’
Notes
- calib_obj dict key-value pairs:
n_pix : int, number of pixels (0-index)
ctr_wl : float, center wavelength
ctr_wl0 : float, center calibration wavelength
units : str, wavelength units, optional (default is ‘nm’)
a_vec : list or 1D ndarray, polynomial coefficients, [a_n, a_n-1,…, a_1, a_0]. a_2…a_n, optional.
- calibration model:
- \[wl\_{vec} = a_n*(n\_{pix})^n + a_{n-1}*(n\_{pix})^{n-1} + ~...~ + n\_{pix}*a_1 + a_0 + ctr\_{wl} - ctr\_{wl0}\]
- crikit.data.frequency.calib_pix_wn(calib_obj)[source]¶
Return a wavenumber (wn) vector based on calibration (calib) object
- Parameters
calib_obj (list or 1D ndarray) – Calibration object (see below).
calib_obj – Calibration dict with 6 key-value pairs (see Notes)
calib_obj – Calibration array [‘n_pix’, ‘ctr_wl’, ‘ctr_wl0’, ‘probe’, ‘units’, ‘a_0’, ‘a_1’, …, ‘a_n’]
- Returns
wn_vec (1D ndarray) – Wavenumber vector
units (str) – Wavenumber units. Always ‘cm$^-1$’
Notes
- calib_obj dict key-value pairs:
n_pix : int, number of pixels (0-index)
ctr_wl : float, center wavelength
ctr_wl0 : float, center calibration wavelength
probe : float, center wavelength of probe source (in units)
units : {‘nm’, ‘um’}, wavelength units, optional (default is ‘nm’)
a_vec : list or 1D ndarray, polynomial coefficients, [a_n, a_n-1,…, a_1, a_0]. a_2…a_n, optional.
- calibration model :
- Wavelength vector:
- \[wl\_{vec} = a_n*(n\_{pix})^n + a_{n-1}*(n\_{pix})^{n-1} + ~...~ + n\_{pix}*a_1 + a_0 + ctr\_{wl} - ctr\_{wl0}\]
- Wavenumber vector:
- \[wl\_{vec} = a_n*(n\_{pix})^n + a_{n-1}*(n\_{pix})^{n-1} + ~...~ + n\_{pix}*a_1 + a_0 + ctr\_{wl} - ctr\_{wl0}\]
crikit.data.mosaic module¶
- class crikit.data.mosaic.Mosaic[source]¶
Bases:
object
Mosaic Class
Notes
input objects mts be ndarray
input objects must be 2D/3D # ! Higher-D?
For 3D objects, assumed to be Y, X, Color
- property dtype¶
Return the highest dtype
- property is2d¶
- property is3d¶
- property issamedim¶
- mosaic_mask(shape=None, out=None)[source]¶
Returns a 2D mosaic image with integer values for which img is where
- property shape¶
- property size¶
- property unitshape¶
- property unitshape_orig¶
crikit.data.replicate module¶
Replicate class used for things such as repetitive measurements or even spatial vectors (e.g., x and y)
Created on Tue Apr 12 11:42:56 2016
@author: chc
- class crikit.data.replicate.Replicate(data=None, calib=None, units=None, label=None)[source]¶
Bases:
object
Replicate class
- data¶
Replicate data
- Type
1D ndarray [size]
Notes
input to calib can be a list or tuple or 1D ndarray or int or float
- Setting calib can take up to 3 entries :
1 entry: stop = entry; start = 0, step size = 1
2 entries: start = entry[0], stop = entry[1], step size = 1
3 entries: [start, stop, step size]
- property calib¶
- property data¶
- property label¶
- property size¶
- property units¶
crikit.data.spectra module¶
Spectra class and function (very similar to Spetcrum except this deals with multiple entries)
- class crikit.data.spectra.Hsi(data=None, freq=None, x=None, y=None, x_rep=None, y_rep=None, label=None, units=None, meta=None)[source]¶
Bases:
crikit.data.spectra.Spectrum
Hyperspectral imagery class
- Parameters
data (3D ndarray [y_pix, x_pix, f_pix]) – HSI image
mask (3D ndarray (int) [y_pix, x_pix, f_pix]) – 0,1 mask with 1 is a usable pixel and 0 is not
freq (crikit.data.frequency.Frequency instance) – Frequency [wavelength, wavenumber] object (i.e., the independent variable)
label (str) – Image label (i.e., a string describing what the image is)
units (str) – Units of image (e.g., intensity)
x_rep (crikit.data.replicate.Replicate instance, Not implemented yet) – x-axis spatial object
y_rep (crikit.data.replicate.Replicate instance, Not implemented yet) – x-axis spatial object
x (1D ndarray) – x-axis spatial vector
y (1D ndarray) – y-axis spatial vector
meta (dict) – Meta-data dictionary
- mean : 1D ndarray
Mean spectrum. If extent [a,b] is provided, calculate mean over that inclusive region.
- std : 1D ndarray
Standard deviation of spectrum. If extent [a,b] is provided, calculate standard deviation over that inclusive region.
- subtract : 3D ndarray or None
Subtract spectrum or object
Notes
freq object contains some useful parameters such as op_range_* and plot_range_*, which define spectral regions-of-interest. (It’s debatable as to whether those parameters should be in Frequency or Spectrum classes)
- config = {'nd_axis': -1}¶
- property data¶
- property extent¶
- property mask¶
- property x¶
- property x_rep¶
- property y¶
- property y_rep¶
- class crikit.data.spectra.Spectra(data=None, freq=None, label=None, units=None, meta=None)[source]¶
Bases:
crikit.data.spectra.Spectrum
Spectra class
- data¶
Spectra. Note: input can be a ndarray of any dimension: it will be CONVERTED to [n_pix, f_pix] shape, assuming that shape[-1] is the f_pix long.
- Type
2D ndarray [n_pix, f_pix]
- freq¶
Frequency [wavelength, wavenumber] object (i.e., the independent variable)
- Type
crikit.data.frequency.Frequency instance
- reps¶
Object describing the meaning of multiple spectra (i.e., the physical meaning of n_pix).
- Type
crikit.data.replicate.Replicate instance, Not implemented yet
- mean : 1D ndarray
Mean spectrum. If extent [a,b] is provided, calculate mean over that inclusive region.
- std : 1D ndarray
Standard deviation of spectrum. If extent [a,b] is provided, calculate standard deviation over that inclusive region.
- subtract : 2D ndarray or None
Subtract spectrum or object
Notes
freq object contains some useful parameters such as op_range* and plot_range*, which define spectral regions-of-interest. (It’s debatable as to whether those parameters should be in Frequency or Spectrum classes)
- config = {'nd_axis': -1}¶
- property data¶
- property n_pix¶
- property reps¶
- class crikit.data.spectra.Spectrum(data=None, freq=None, label=None, units=None, meta=None)[source]¶
Bases:
object
Spectrum class
- data¶
Spectrum
- Type
1D ndarray [f_pix]
- freq¶
Frequency [wavelength, wavenumber] object (i.e., the independent variable)
- Type
crikit.data.Frequency instance
- f_pix¶
Size of data. Note: this matches the size of data and does NOT check the size of freq.freq_vec.
- Type
int, read-only
- mean : int
Mean value. If extent [a,b] is provided, calculate mean over that inclusive region.
- std : int
Standard deviation. If extent [a,b] is provided, calculate standard deviation over that inclusive region.
- subtract : 1D ndarray or None
Subtract spectrum or object
Notes
freq object contains some useful parameters such as op_range* and plot_range*, which define spectral regions-of-interest. (It’s debatable as to whether those parameters should be in Frequency or Spectrum classes)
- config = {'nd_axis': -1, 'nd_fcn': <function mean>}¶
- property data¶
- property f¶
return frequency vector within operating (op) range
- Type
Convenience attribute
- property f_full¶
return full frequency vector
- Type
Convenience attribute
- property f_pix¶
- property freq¶
- property label¶
- mean(extent=None, over_space=True)[source]¶
Return mean spectrum (or mean over extent [list with 2 elements]). If over_space is False, returns reps-number of mean spectra
- property meta¶
- property ndim¶
- property shape¶
- property size¶
- std(extent=None, over_space=True)[source]¶
Return standard deviation (std) spectrum (or std over extent [list with 2 elements]). If over_space is False, reps (or reps x reps) number of std’s.
- property units¶