Load color tables from settings

This commit is contained in:
Dan Paulat 2021-11-06 22:18:02 -05:00
parent bcae7d9825
commit b241703b40
16 changed files with 324 additions and 17 deletions

View file

@ -1,4 +1,5 @@
#include <scwx/common/color_table.hpp>
#include <scwx/util/streams.hpp>
#include <cmath>
#include <fstream>
@ -122,6 +123,11 @@ boost::gil::rgba8_pixel_t ColorTable::Color(float value) const
return color;
}
bool ColorTable::IsValid() const
{
return p->colorMap_.size() > 0;
}
std::shared_ptr<ColorTable> ColorTable::Load(const std::string& filename)
{
BOOST_LOG_TRIVIAL(debug)
@ -132,7 +138,7 @@ std::shared_ptr<ColorTable> ColorTable::Load(const std::string& filename)
std::ifstream f(filename, std::ios_base::in);
std::string line;
while (std::getline(f, line))
while (scwx::util::getline(f, line))
{
std::string token;
std::istringstream tokens(line);

View file

@ -27,6 +27,16 @@ static const std::unordered_map<Level2Product, std::string> level2Description_ {
{Level2Product::ClutterFilterPowerRemoved, "Clutter Filter Power Removed"},
{Level2Product::Unknown, "?"}};
static const std::unordered_map<Level2Product, std::string> level2Palette_ {
{Level2Product::Reflectivity, "BR"},
{Level2Product::Velocity, "BV"},
{Level2Product::SpectrumWidth, "SW"},
{Level2Product::DifferentialReflectivity, "ZDR"},
{Level2Product::DifferentialPhase, "PHI"},
{Level2Product::CorrelationCoefficient, "CC"},
{Level2Product::ClutterFilterPowerRemoved, "???"},
{Level2Product::Unknown, "???"}};
const std::string& GetLevel2Name(Level2Product product)
{
return level2Name_.at(product);
@ -37,6 +47,11 @@ const std::string& GetLevel2Description(Level2Product product)
return level2Description_.at(product);
}
const std::string& GetLevel2Palette(Level2Product product)
{
return level2Palette_.at(product);
}
const Level2Product GetLevel2Product(const std::string& name)
{
auto result = std::find_if(