Skip to main content

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

ParamTypeDescription
wnumbercutoff
lnumber

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

ParamTypeDescription
input_sh3Array.<number> | Float32Arraysh3

func_(x, a, b, c, d) ⇒ number

this is the function we're trying to minimize

Kind: global function

ParamType
xnumber
anumber
bnumber
cnumber
dnumber

increment_(x, a, b, d) ⇒ number

This is func' / func'' -- this was computed with Mathematica

Kind: global function

ParamType
xnumber
anumber
bnumber
dnumber

windowing(f, cutoff, numBands)

Kind: global function

ParamTypeDescription
fArray.<number> | Float32Arraysh3
cutoffnumber
numBandsnumber

windowSH(output, output_offset, input, input_offset, numBands, channel_count, [cutoff])

Kind: global function

ParamTypeDefaultDescription
outputArray.<number>sh3
output_offsetnumber
inputArray.<number>
input_offsetnumber
numBandsnumber
channel_countnumber
[cutoff]number0

sh3_dering_optimize_positive(result, result_offset, harmonics, harmonics_offset, dimension_count)

Kind: global function

ParamType
resultArray.<number> | Float32Array | Float64Array
result_offsetnumber
harmonicsArray.<number> | Float32Array | Float64Array
harmonics_offsetnumber
dimension_countnumber