geoips.plugins.classes.algorithms.visir package#

Submodules#

geoips.plugins.classes.algorithms.visir.Convective_Storms module#

Data manipulation steps for “Convective_Storms” EUMETSAT RGB product.

This algorithm expects five Infrared/Visible channels for an RGB image: * Red SEVIRI B05BT - B06BT * Green SEVIRI B04BT - B09BT * Blue SEVIRI B03Ref - B01Ref

class geoips.plugins.classes.algorithms.visir.Convective_Storms.ConvectiveStormAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Convective Storm algorithm plugin class.

call(xobj)[source]#

Dust RGB product algorithm data manipulation steps.

This algorithm expects TBs from five SEVIRI channels:

  • Red: B05BT - B06BT

  • Green: B04BT - B09BT

  • Blue: B03Ref - B01Ref

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Degrees Kelvin

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'Convective_Storms'#
geoips.plugins.classes.algorithms.visir.Convective_Storms.PLUGIN_CLASS#

alias of ConvectiveStormAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Day_Microphys_Summer module#

Data manipulation steps for “Day_Microphys_Summer” EUMETSAT RGB product.

This algorithm expects three Infrared/Visible channels for an RGB image: * Red SEVIRI B02Ref * Green SEVIRI B04BT * Blue SEVIRI B09BT

class geoips.plugins.classes.algorithms.visir.Day_Microphys_Summer.DayMicrophysSummerAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Day Microphys Summer algorithm plugin class.

call(xobj)[source]#

Dust RGB product algorithm data manipulation steps.

This algorithm expects TBs from five SEVIRI channels:

  • Red: B02Ref

  • Green: B04BT

  • Blue: B09BT

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Unit in Degrees Kelvin and reflectance

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'Day_Microphys_Summer'#
geoips.plugins.classes.algorithms.visir.Day_Microphys_Summer.PLUGIN_CLASS#

alias of DayMicrophysSummerAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Day_Microphys_Winter module#

Data manipulation steps for “Day_Microphys_Winter” EUMETSAT RGB product.

This algorithm expects three Infrared/Visible channels for an RGB image: * Red SEVIRI B02Ref * Green SEVIRI B04BT * Blue SEVIRI B09BT

class geoips.plugins.classes.algorithms.visir.Day_Microphys_Winter.DayMicrophysWinterAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Day Microphys Winter algorithm plugin class.

call(xobj)[source]#

Dust RGB product algorithm data manipulation steps.

This algorithm expects TBs from five SEVIRI channels:

  • Red: B02Ref

  • Green: B04BT

  • Blue: B09BT

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Unit in Degrees Kelvin and reflectance

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'Day_Microphys_Winter'#
geoips.plugins.classes.algorithms.visir.Day_Microphys_Winter.PLUGIN_CLASS#

alias of DayMicrophysWinterAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Day_Solar module#

Data manipulation steps for “Day_Solar” EUMETSAT RGB product.

This algorithm expects three Infrared/Visible channels for an RGB image: * Red SEVIRI B02Ref * Green SEVIRI B03Ref * Blue SEVIRI B04BT

class geoips.plugins.classes.algorithms.visir.Day_Solar.DaySolarAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Day Solar algorithm plugin class.

call(xobj)[source]#

Dust RGB product algorithm data manipulation steps.

This algorithm expects TBs from three SEVIRI channels:

  • Red: B02Ref

  • Green: B03Ref

  • Blue: B04BT

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Unit in Degrees Kelvin and reflectance

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'Day_Solar'#
geoips.plugins.classes.algorithms.visir.Day_Solar.PLUGIN_CLASS#

alias of DaySolarAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Dust_RGB module#

Data manipulation steps for “Dust” EUMETSAT RGB product.

This algorithm expects three visible reflectances for an RGB image: * Red SEVIRI B10BT - B09BT * Green SEVIRI B09BT - B07BT * Blue SEVIRI B09BT

class geoips.plugins.classes.algorithms.visir.Dust_RGB.DustRgbAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Dust RGB algorithm plugin class.

call(xobj)[source]#

Dust RGB product algorithm data manipulation steps.

This algorithm expects reflectance values for

  • Red SEVIRI B10BT - B09BT

  • Green SEVIRI B09BT - B07BT

  • Blue SEVIRI B09BT

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Degrees Kelvin

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'Dust_RGB'#
geoips.plugins.classes.algorithms.visir.Dust_RGB.PLUGIN_CLASS#

alias of DustRgbAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.HNear_Constant_Contrast module#

Data algorithm for High Near constant contrast imagery product.

Algorithm performs better for different lunar illumination conditions and solar zenith angles when compared to ERF scaled and NCC imagery.

Paper: Zinke, Stephan. 2017. “A Simplified High and Near-Constant Contrast Approach for the Display of VIIRS Day/Night Band Imagery.” International Journal of Remote Sensing 38 (19): 5374–87. doi:10.1080/01431161.2017.1338838.

class geoips.plugins.classes.algorithms.visir.HNear_Constant_Contrast.HighNearConstantContrastAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

High Near Constant Contrast algorithm plugin class.

call(arrays)[source]#

Calculate HNCC.

Must have solar/lunar zenith angle and moon illumination fraction.

family = 'list_numpy_to_numpy'#
gain_func(angle)[source]#

Gain factor for angle correction.

Angle in degrees.

interface = 'algorithms'#
name = 'high_near_constant_contrast'#
geoips.plugins.classes.algorithms.visir.HNear_Constant_Contrast.PLUGIN_CLASS#

alias of HighNearConstantContrastAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Natural_Color module#

Data manipulation steps for “Natural Color” EUMETSAT RGB product.

This algorithm expects three visible reflectances for an RGB image: * 0.6 um * 0.8 um * 1.6 um

class geoips.plugins.classes.algorithms.visir.Natural_Color.NaturalColorAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Natural Color algorithm plugin class.

call(xobj)[source]#

Natural Color RGB product algorithm data manipulation steps.

This algorithm expects reflectance values for

  • Blue: 0.6 um, SEVIRI B03 Reflectances

  • Green: 0.8 um, SEVIRI B02 Reflectances

  • Red: 1.6 um, SEVIRI B01 Reflectances

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Degrees Kelvin

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'Natural_Color'#
geoips.plugins.classes.algorithms.visir.Natural_Color.PLUGIN_CLASS#

alias of NaturalColorAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Night_Microphys module#

Data manipulation steps for “Night_Microphy” EUMETSAT RGB product.

This algorithm expects three Infrared/Visible channels for an RGB image: * Red SEVIRI B10BT - B09BT * Green SEVIRI B09Bt - B04BT * Blue SEVIRI B09BT

class geoips.plugins.classes.algorithms.visir.Night_Microphys.NightMicrophyAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Night Microphy algorithm plugin class.

call(xobj)[source]#

Night_Microphys product algorithm data manipulation steps.

This algorithm expects TBs from three SEVIRI channels:

  • Red: B10BT - B09BT

  • Green: B09Bt - B04BT

  • Blue: B09BT

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Unit in Degrees Kelvin and reflectance

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'Night_Microphys'#
geoips.plugins.classes.algorithms.visir.Night_Microphys.PLUGIN_CLASS#

alias of NightMicrophyAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Night_Vis module#

Data manipulation steps for “Night_Vis” product, standard Version.

This algorithm expects one VIIRS channel (DNBRad) for a single channel image.

class geoips.plugins.classes.algorithms.visir.Night_Vis.NightViAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Night VI algorithm plugin class.

call(arrays, output_data_range=None, scale_factor=None, gamma_list=None, input_units=None, output_units=None, min_outbounds=None, max_outbounds=None, max_night_zen=None, norm=None, inverse=None)[source]#

Night-Vis algorithm data manipulation steps, standard version.

DNB obs for visible product.

This algorithm expects radaiance, between 0 and 2.5*10^-8

This is only for nighttime product.

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data

  • Channel data: Radiance, between 0 and 2.5*10^-8

Returns:

numpy.ndarray or numpy.MaskedArray of appropriately scaled channel data

Return type:

numpy.ndarray

Notes

Due to a relative maximum value of the DNBRad is much larger than that of the majority pixels in moonlight/lighting situation, it could lead to a black image if the original maximum is used to normalize the data (i.e., the normlized value is close to 0). Thus, we need to setup an tuning factor to normalize the DNBRad.

We start to use 0.05 to tune the val_max in moonlight/other lighing source, 0.5 for no lighting source.

We might have to generate night-vis product only when moonlight is present (TBD).

family = 'list_numpy_to_numpy'#
interface = 'algorithms'#
name = 'Night_Vis'#
geoips.plugins.classes.algorithms.visir.Night_Vis.PLUGIN_CLASS#

alias of NightViAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Night_Vis_GeoIPS1 module#

Data manipulation steps for “Night_Vis” product, GeoIPS 1 Version.

This algorithm expects one VIIRS channel (DNBRad) for a single channel image.

class geoips.plugins.classes.algorithms.visir.Night_Vis_GeoIPS1.NightVisGeoips1AlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Night VIS Geoips1 algorithm plugin class.

call(arrays, min_outbounds='crop', max_outbounds='crop', max_night_zen=90)[source]#

Night Vis product algorithm data manipulation steps, GeoIPS 1 version.

This algorithm expects DNBRad in reflectance, and returns the adjusted array.

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Degrees Kelvin

Returns:

numpy.ndarray or numpy.MaskedArray of adjusted DNB output.

Return type:

numpy.ndarray

Notes

It will generate a product in daytime if we do not apply the daytime check. For now, it is for both day/night.

We will decide whether this product is only for nighttime. If so, a daytime check will be required.

We may focus only on nighttime product with moonlight after additional validation (TBD).

family = 'list_numpy_to_numpy'#
interface = 'algorithms'#
name = 'Night_Vis_GeoIPS1'#
geoips.plugins.classes.algorithms.visir.Night_Vis_GeoIPS1.PLUGIN_CLASS#

alias of NightVisGeoips1AlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Night_Vis_IR module#

Data manipulation steps for “Night_Vis_IR” product.

This algorithm expects two VIIRS channels (DNBRad and M16BT) for a RGB image

class geoips.plugins.classes.algorithms.visir.Night_Vis_IR.NightVisIrAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Night VIS IR algorithm plugin class.

call(arrays)[source]#

Night_Vis_IR RGB product algorithm data manipulation steps.

This algorithm expects DNBRad in reflectance and M16BT Brightness Temperatures in units of degrees Kelvin, and returns red green and blue gun arrays.

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Degrees Kelvin

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

Notes

It will generate a product in daytime if we do not apply the daytime check. For now, it is for both day/night.

We will decide whether this product is only for nighttime. If so, a daytime check will be required.

We may focus only on nighttime product with moonlight after additional validation (TBD).

family = 'list_numpy_to_numpy'#
interface = 'algorithms'#
name = 'Night_Vis_IR'#
geoips.plugins.classes.algorithms.visir.Night_Vis_IR.PLUGIN_CLASS#

alias of NightVisIrAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Night_Vis_IR_GeoIPS1 module#

Data manipulation steps for “Night_Vis_IR” product, GeoIPS 1 Version.

This algorithm expects two VIIRS channels (DNBRad and M16BT) for a RGB image

class geoips.plugins.classes.algorithms.visir.Night_Vis_IR_GeoIPS1.NightVisIrGeoips1AlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Night VIS IR Geoips1 algorithm plugin class.

call(arrays, max_night_zen=90)[source]#

Night Vis IR RGB product algorithm data manipulation steps.

This algorithm expects DNBRad in reflectance and M16BT Brightness Temperatures in units of degrees Kelvin, and returns red green and blue gun arrays.

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Degrees Kelvin

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

Notes

It will generate a product in daytime if we do not apply the daytime check. For now, it is for both day/night.

We will decide whether this product is only for nighttime. If so, a daytime check will be required.

We may focus only on nighttime product with moonlight after additional validation (TBD).

family = 'list_numpy_to_numpy'#
interface = 'algorithms'#
name = 'Night_Vis_IR_GeoIPS1'#
geoips.plugins.classes.algorithms.visir.Night_Vis_IR_GeoIPS1.PLUGIN_CLASS#

alias of NightVisIrGeoips1AlgorithmPlugin

geoips.plugins.classes.algorithms.visir.Volcanic_Ash module#

Data manipulation steps for “Volcanic-Ash” EUMETSAT RGB product.

This algorithm expects three Infrared/Visible channels for an RGB image: * Red SEVIRI B10BT - B09BT * Green SEVIRI B09BT - B07BT * Blue SEVIRI B09BT

geoips.plugins.classes.algorithms.visir.Volcanic_Ash.PLUGIN_CLASS#

alias of VolcanicAshAlgorithmPlugin

class geoips.plugins.classes.algorithms.visir.Volcanic_Ash.VolcanicAshAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Volcanic ASH algorithm plugin class.

call(xobj)[source]#

Night_Microphys product algorithm data manipulation steps.

This algorithm expects TBs from three SEVIRI channels:

  • Red: B10BT - B09BT

  • Green: B09BT - B07BT

  • Blue: B07BT

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Unit in Degrees Kelvin and reflectance

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'Volcanic_Ash'#

geoips.plugins.classes.algorithms.visir.airmass module#

Data manipulation steps for “airmass” EUMETSAT RGB product.

This algorithm expects four Infrared channels for an RGB image: * Red SEVIRI B05BT - B06BT * Green SEVIRI B08BT - B09BT * Blue SEVIRI B05BT

class geoips.plugins.classes.algorithms.visir.airmass.AirmassAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Airmass algorithm plugin class.

call(xobj)[source]#

Airmass product algorithm data manipulation steps.

This algorithm expects TBs from four SEVIRI channels:

  • Red: B05BT - B06BT

  • Green: B08BT - B09BT

  • Blue: B05BT

Parameters:

arrays (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of sensor “channels” list

  • Degrees Kelvin

Returns:

numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

Return type:

numpy.ndarray

family = 'xarray_to_numpy'#
interface = 'algorithms'#
name = 'airmass'#
geoips.plugins.classes.algorithms.visir.airmass.PLUGIN_CLASS#

alias of AirmassAlgorithmPlugin

geoips.plugins.classes.algorithms.visir.nasa_dust_rgb module#

NASA SPoRT Dust RGB product.

Data manipulation steps for the “nasa_dust_rgb” product. This algorithm expects Brightness Temperatures in units of degrees Kelvin

class geoips.plugins.classes.algorithms.visir.nasa_dust_rgb.NasaDustRgbAlgorithmPlugin(module=None)[source]#

Bases: BaseAlgorithmPlugin

Nasa Dust RGB algorithm plugin class.

call(arrays)[source]#

nasa_dust_rgb product algorithm data manipulation steps.

This algorithm expects Brightness Temperatures in units of Kelvins, and returns red green and blue gun arrays.

Parameters:

data (list of numpy.ndarray) –

  • list of numpy.ndarray or numpy.MaskedArray of channel data,

    in order of channels list above

  • Kelvin

Returns:

  • numpy.ndarray – numpy.ndarray or numpy.MaskedArray of qualitative RGBA image output

  • Channels (RED: 15-13 (-6.7,2.6,G1);) – GRN: 14-11 (-0.5,20.0,G2.5) BLU: 13 (-11.95,15.55,G1)

family = 'list_numpy_to_numpy'#
interface = 'algorithms'#
name = 'nasa_dust_rgb'#
geoips.plugins.classes.algorithms.visir.nasa_dust_rgb.PLUGIN_CLASS#

alias of NasaDustRgbAlgorithmPlugin

Module contents#

geoips visir algorithm init file.