sh3_dering_optimize_positive
Functions
- sinc_window(w, l) ⇒
number
SH from environment with high dynamic range (or high frequencies -- high dynamic range creates high frequencies) exhibit "ringing" and negative values when reconstructed. To mitigate this, we need to low-pass the input image -- or equivalently window the SH by coefficient that tapper towards zero with the band.
We use ideas and techniques from Stupid Spherical Harmonics (SH) Deringing Spherical Harmonics by Peter-Pike Sloan ( see https://www.ppsloan.org/publications/shdering.pdf )
- sh3_min(input_sh3) ⇒
number
Minimum values encoded on the spherical harmonics Lets us find ringing artifacts, which are cases where harmonics encode a negative value
- func_(x, a, b, c, d) ⇒
number
this is the function we're trying to minimize
- increment_(x, a, b, d) ⇒
number
This is func' / func'' -- this was computed with Mathematica
- windowing(f, cutoff, numBands)
- windowSH(output, output_offset, input, input_offset, numBands, channel_count, [cutoff])
- sh3_dering_optimize_positive(result, result_offset, harmonics, harmonics_offset, dimension_count)
sinc_window(w, l) ⇒ number
SH from environment with high dynamic range (or high frequencies -- high dynamic range creates high frequencies) exhibit "ringing" and negative values when reconstructed. To mitigate this, we need to low-pass the input image -- or equivalently window the SH by coefficient that tapper towards zero with the band.
We use ideas and techniques from Stupid Spherical Harmonics (SH) Deringing Spherical Harmonics by Peter-Pike Sloan ( see https://www.ppsloan.org/publications/shdering.pdf )
Kind: global function
| Param | Type | Description |
|---|---|---|
| w | number | cutoff |
| l | number |
sh3_min(input_sh3) ⇒ number
Minimum values encoded on the spherical harmonics Lets us find ringing artifacts, which are cases where harmonics encode a negative value
Kind: global function
| Param | Type | Description |
|---|---|---|
| input_sh3 | Array.<number> | Float32Array | sh3 |
func_(x, a, b, c, d) ⇒ number
this is the function we're trying to minimize
Kind: global function
| Param | Type |
|---|---|
| x | number |
| a | number |
| b | number |
| c | number |
| d | number |
increment_(x, a, b, d) ⇒ number
This is func' / func'' -- this was computed with Mathematica
Kind: global function
| Param | Type |
|---|---|
| x | number |
| a | number |
| b | number |
| d | number |
windowing(f, cutoff, numBands)
Kind: global function
| Param | Type | Description |
|---|---|---|
| f | Array.<number> | Float32Array | sh3 |
| cutoff | number | |
| numBands | number |
windowSH(output, output_offset, input, input_offset, numBands, channel_count, [cutoff])
Kind: global function
| Param | Type | Default | Description |
|---|---|---|---|
| output | Array.<number> | sh3 | |
| output_offset | number | ||
| input | Array.<number> | ||
| input_offset | number | ||
| numBands | number | ||
| channel_count | number | ||
| [cutoff] | number | 0 |
sh3_dering_optimize_positive(result, result_offset, harmonics, harmonics_offset, dimension_count)
Kind: global function
| Param | Type |
|---|---|
| result | Array.<number> | Float32Array | Float64Array |
| result_offset | number |
| harmonics | Array.<number> | Float32Array | Float64Array |
| harmonics_offset | number |
| dimension_count | number |