Run ./tests/integration_tests/full_test.sh and get an output of 0 to know this is working correctly. I've also added a unit test for this new interface / plugins, which can be ran via pytest -v tests/unit_tests/plugins/text/ascii_palettes/test_ascii_palettes.py.
NOTE: This PR is still a draft and will likely fail. I need access to test_data_tpw in order to test that the new ascii-based products are running correctly.
Summary
While there are not many, GeoIPS has some text-based plugins which currently do not have
a supporting interface. Currently, we only have ascii palettes implemented as text based
plugins, and in truth, we do not treat them as we do other GeoIPS Plugins. Instead, the
ascii palettes defined in these plugins are used in tandom alongside GeoIPS Colormappers
to correctly get and apply the palette.
To prepare GeoIPS to be able to handle other types of text based plugins, we've decided
to create a Text-Based Interface which can handle text plugins. This Interface acts
similarly to both Yaml and Module based interfaces, and has functionality such as
get_plugin and get_plugins. This PR only supports ascii palette
text plugins, but was structured in a manner that could support other types of text
plugins in the future.
ascii_palette plugins have a colormap attrubute, which is a
Matplotlib.colors.ListedColormap which was created based on the ascii palette
defined in the plugins source file. This colormap attribute can then be used
alongside a colormapper to correctly apply the ascii palette to a certain output.
A large number of the yaml files below were modified because we've renamed colormapper matplotlib_linear_norm to linear_norm instead. We did this because the original name was inaccurate, as that colormapper didn't just produce matplotlib-based colormaps.
Will add output once I have access to test_data_tpw. For now, I've modified the product_defaults/visir/Infrared-Gray.yaml file to use all 3 ascii palettes which currently exist in GeoIPS. Shown below is the colormapper section of a yaml product defaults. It's extremely easy to use ascii palettes now.
Reviewer Checklist
Related Issues
fixes NRLMMD-GEOIPS/geoips#492 fixes NRLMMD-GEOIPS/geoips#424
Testing Instructions
Run
./tests/integration_tests/full_test.sh
and get an output of 0 to know this is working correctly. I've also added a unit test for this new interface / plugins, which can be ran viapytest -v tests/unit_tests/plugins/text/ascii_palettes/test_ascii_palettes.py
.NOTE: This PR is still a draft and will likely fail. I need access to
test_data_tpw
in order to test that the new ascii-based products are running correctly.Summary
While there are not many, GeoIPS has some text-based plugins which currently do not have a supporting interface. Currently, we only have ascii palettes implemented as text based plugins, and in truth, we do not treat them as we do other GeoIPS Plugins. Instead, the ascii palettes defined in these plugins are used in tandom alongside GeoIPS Colormappers to correctly get and apply the palette.
To prepare GeoIPS to be able to handle other types of text based plugins, we've decided to create a Text-Based Interface which can handle text plugins. This Interface acts similarly to both Yaml and Module based interfaces, and has functionality such as
get_plugin
andget_plugins
. This PR only supportsascii palette
text plugins, but was structured in a manner that could support other types of text plugins in the future.ascii_palette
plugins have acolormap
attrubute, which is aMatplotlib.colors.ListedColormap
which was created based on the ascii palette defined in the plugins source file. Thiscolormap
attribute can then be used alongside a colormapper to correctly apply the ascii palette to a certain output.A large number of the yaml files below were modified because we've renamed colormapper
matplotlib_linear_norm
tolinear_norm
instead. We did this because the original name was inaccurate, as that colormapper didn't just produce matplotlib-based colormaps.Output
Will add output once I have access to
test_data_tpw
. For now, I've modified theproduct_defaults/visir/Infrared-Gray.yaml
file to use all 3 ascii palettes which currently exist in GeoIPS. Shown below is the colormapper section of a yaml product defaults. It's extremely easy to use ascii palettes now.Here are examples of Infrared-Gray used with each ascii_palette plugin.
TPW PWAT
TPW Purple
TPW CIMSS