From d07f8dd1571fd77dc7570aff56b6522cdf6eaf82 Mon Sep 17 00:00:00 2001 From: "Adam.Dybbroe" Date: Thu, 15 Sep 2016 16:20:59 +0200 Subject: [PATCH] Fix palettes normalised to 0-1 for mpop Signed-off-by: Adam.Dybbroe --- mpop/imageo/palettes.py | 4 +++- mpop/instruments/seviri.py | 14 +++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/mpop/imageo/palettes.py b/mpop/imageo/palettes.py index 867045ca..5ab221be 100644 --- a/mpop/imageo/palettes.py +++ b/mpop/imageo/palettes.py @@ -458,7 +458,9 @@ def get_cot_legend(): def get_log_legend(product_name): # This is the same data as is used in logdata2image (when indata as for # the calls from cppimage) - return CPP_COLORS[product_name].palette() + legend = CPP_COLORS[product_name].palette() + palette = convert_palette(legend) + return palette def oca_get_scenetype_legend(): diff --git a/mpop/instruments/seviri.py b/mpop/instruments/seviri.py index c09dcbe4..649a2cc1 100644 --- a/mpop/instruments/seviri.py +++ b/mpop/instruments/seviri.py @@ -388,18 +388,22 @@ def oca(self, fieldname): palette = oca_palette_func[fieldname]() data = getattr(getattr(self['OCA'], fieldname), 'data') - if fieldname in ['ul_ctp', 'll_ctp']: + if fieldname in ['scenetype']: + data = data.astype('uint8') + + elif fieldname in ['ul_ctp', 'll_ctp']: data = (22. - data / 5000.).astype('Int16') elif fieldname in ['reff']: data = (data * 1000000. + 0.5).astype('uint8') + data.fill_value = 255 elif fieldname in ['ul_cot', 'll_cot']: - import pdb + data = np.ma.exp(data * np.ma.log(10)) max_value = palettes.CPP_COLORS['cot'].breaks[-1][0] - no_data = -1000 # FIXME! - data = _arrange_log_data(data, max_value, no_data) - pdb.set_trace() + data.fill_value = 255 + no_data = 255 # FIXME! + data = _arrange_log_data(data.filled(), max_value, no_data) else: raise NotImplementedError(