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 |