| ... | @@ -130,7 +130,7 @@ extract_bit_from_packed_mask (data, index_of_bit_to_extract, |
... | @@ -130,7 +130,7 @@ extract_bit_from_packed_mask (data, index_of_bit_to_extract, |
|
|
"""
|
|
"""
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
The set_to_value_between_bounds function allows you to s**et all data in an array that is non-finite or outside a given set of bounds to some inputted value**. This is useful if you need to analyze a data set while ignoring certain types of invalid (ex. out of range) data by setting it to some known value, possibly the missing value.
|
|
The set_to_value_between_bounds function allows you to **set all data in an array that is non-finite or outside a given set of bounds to some inputted value**. This is useful if you need to analyze a data set while ignoring certain types of invalid (ex. out of range) data by setting it to some known value, possibly the missing value.
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
def set_to_value_between_bounds(data, value_to_set_to, bottom_bound_exclusive, top_bound_exclusive) :
|
|
def set_to_value_between_bounds(data, value_to_set_to, bottom_bound_exclusive, top_bound_exclusive) :
|
| ... | @@ -141,7 +141,9 @@ def set_to_value_between_bounds(data, value_to_set_to, bottom_bound_exclusive, t |
... | @@ -141,7 +141,9 @@ def set_to_value_between_bounds(data, value_to_set_to, bottom_bound_exclusive, t |
|
|
|
|
|
|
|
<h3>Complex Filters</h3>
|
|
<h3>Complex Filters</h3>
|
|
|
|
|
|
|
|
The filter_based_on_additional_data_set_min_max_bounds filter can be used to **remove data** from your data set (by setting it to the missing value) **based on** where data of certain values is in **a secondary "filter" data set**. For example, this filter might be useful in selecting only the winds vectors that correspond to a certain flag value or range of quality index values.
|
|
The filter_based_on_additional_data_set_min_max_bounds filter can be used to **remove data** from your data set (by setting it to the missing value) **based on** where data of certain values is in **a secondary "filter" data set**.
|
|
|
|
|
|
|
|
For example, this filter might be useful in selecting only the winds vectors that correspond to a certain flag value or range of quality index values.
|
|
|
|
|
|
|
|
Note: This filter was originally created to be used with secondary variable dependent filters.
|
|
Note: This filter was originally created to be used with secondary variable dependent filters.
|
|
|
|
|
|
| ... | @@ -158,10 +160,11 @@ def filter_based_on_additional_data_set_min_max_bounds(data, filterData, missing |
... | @@ -158,10 +160,11 @@ def filter_based_on_additional_data_set_min_max_bounds(data, filterData, missing |
|
|
"""
|
|
"""
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
The organize_ipopp_data_into_image filter **reorders IPOP Cris data into a pseudo-image for display**. The image is composed of either one selected wave number or the mean of all wave numbers at a given point. Each pixel will represent the data at one detector, in one field of regard, on one scan line. The filter description below gives more explicit details on the physical ordering of the data in the image. The purpose of the image created by this filter is primarily to give you an idea of general spatial problems and groupings of missing data in the image taken by the hardware.
|
|
The organize_ipopp_data_into_image filter **reorders IPOP Cris data into a pseudo-image for display**. The image is composed of either one selected wave number or the mean of all wave numbers at a given point. Each pixel will represent the data at one detector, in one field of regard, on one scan line. The filter description below gives more explicit details on the physical ordering of the data in the image.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The purpose of the image created by this filter is primarily to give you an idea of general spatial problems and groupings of missing data in the image taken by the hardware.
|
|
|
|
|
|
|
|
|
```
|
|
|
def organize_ipopp_data_into_image(original_ipopp_data, wave_number=None, missing_value=None,
|
|
def organize_ipopp_data_into_image(original_ipopp_data, wave_number=None, missing_value=None,
|
|
|
propagate_partial_missing_values=False) :
|
|
propagate_partial_missing_values=False) :
|
|
|
"""
|
|
"""
|
| ... | @@ -194,16 +197,17 @@ def organize_ipopp_data_into_image(original_ipopp_data, wave_number=None, missin |
... | @@ -194,16 +197,17 @@ def organize_ipopp_data_into_image(original_ipopp_data, wave_number=None, missin |
|
|
in the parameters, that specific interferogram data pt will be used
|
|
in the parameters, that specific interferogram data pt will be used
|
|
|
if no wave_number was given, the mean of the 717 pts will be used
|
|
if no wave_number was given, the mean of the 717 pts will be used
|
|
|
"""
|
|
"""
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
<h3>Chaining Filters</h3>
|
|
|
Chaining Filters
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Multiple filters can be chained to produce more complex behavior.
|
|
Multiple filters can be chained to produce more complex behavior.
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
# unpack a bit mask and then clip some data off of the edges
|
|
# unpack a bit mask and then clip some data off of the edges
|
|
|
filterFunction = (lambda data: filters.trim_off_of_top(
|
|
filterFunction = (lambda data: filters.trim_off_of_top(
|
|
|
filters.trim_off_of_right(
|
|
filters.trim_off_of_right(
|
|
|
filters.extract_bit_from_packed_mask(data, 3, (1,0), int), 2), 2))
|
|
filters.extract_bit_from_packed_mask(data, 3, (1,0), int), 2), 2))
|
|
|
|
```
|
|
|
|
|
|
|
|
You can use chaining of filters to get past some of the limitations of the provided filters, for example you could rotate the indexes of a 3D array, and then slice out a single 2D slice using the slicing filter that is only able to slice along the last of the 3 indexes. |
|
|
|
\ No newline at end of file |