# first.items[].content
This effectively pushes all pixels except for those with alphas originally in the [.4, .6] interval (which now stretch across the [0, 1] interval) to either 0 or 1, whichever is closer.

Now you may be wondering why not do this from the start instead of those first two primitives.

Well, because without knowing the blur radius in px (something that's not really possible without JS if we set it in container query or viewport units), we can't know what interval to map to.🤷‍♀️

#SVG #CSS #filter #code

# first.items[].contentMap.en
This effectively pushes all pixels except for those with alphas originally in the [.4, .6] interval (which now stretch across the [0, 1] interval) to either 0 or 1, whichever is closer.

Now you may be wondering why not do this from the start instead of those first two primitives.

Well, because without knowing the blur radius in px (something that's not really possible without JS if we set it in container query or viewport units), we can't know what interval to map to.🤷‍♀️

#SVG #CSS #filter #code

# first.items[].attachment[].name
Quick example of using feComponentTransfer with `type='table'`.

```
<feComponentTransfer>
    <feFuncR type="table" tableValues="0.0 0.7 0.9 1.0"/>
</feComponentTransfer>
````

Here, since there are n=4 values in the “tableValues” array, the input color channel is divided into 3 (n-1) equal ranges whose start and end values are:

```
 0.00 ... 0.33
 0.33 ... 0.66
 0.66 ... 1.00
```

Values in these ranges are then evenly mapped into the ranges specified in tableValues, which are:

```
 0.00 ... 0.70
 0.70 ... 0.90
 0.90 ... 1.00
```

For example, an input pixel whose red value is 0.5 - the midpoint of the second input range (0.33 to 0.66) - is mapped to the midpoint of the second output range (0.70 to 0.90), resulting in an output value for that pixel of 0.80.

Note that the start and end values for the input ranges(and their number) are automatically calculated based on the number of values in "tableValues". For example, if tableValues had eleven values, then the input ranges would be calculated as (0.0 -> 0.1, 0.1 -> 0.2 etc. through 0.9 -> 1.0.) There is no capability in SVG 1.1 to customize the start and end values of input ranges.