Description Usage Arguments Details Value Author(s) References See Also Examples
Function d2spec
is applied to a pair of matrices (2d arrays) and generates the pair of corresponding 1d spectral power density functions (to be used then as probability vectors) specified by the method
argument
1 
d2arr0 
sample matrix 
d2arr1 
sample matrix 
band 
two border values to set a range of considered frequencies. The default c(0,0) sets full entire range from 0 to 0.5 Hz (where 1 Hz = [1/sampling_interval]) for radial method and from 0 to 180 degrees for both angular methods 
brks 
value used in a same manner as the number of cells for the histogram. The default brks=0 sets the number of cells equal to 
method 
specifies the method of using the power spectrum as a probability vector. The default value 'rad' defines the calculation of spectral power density for spatial frequency space

meansub 
logical item defining if individual baselines (as mean value) are subtracted from original matrices before application of 2d Fourier transform 
Spectral power density is often being used as probability vector/matrix characterizing a state of a system, e.g. in image analysis. Here 2d fast Fourier transform algorithm is utilized to calculate power spectrum matrix P(u,v) and then the 1d spectral power density:
f(k_{i})=∑_{k_{min}}^{k_{max}}{ P(k: k_{i}<k<k_{i+1})}
where k is a metrics of frequency space defined with one of the following options:
k=√{u^{2}+v^{2}} (as radius where method='rad'
); k = atan(u/v) (as angle where method='ang'
) or k = atan(v/u) (as angle where method='ang90'
)
and where {k_{min},k_{max}} are defined by band
argument
In general the function works similarly to d1nat
. As a bonus it prints basic statistics summary for spectral power density functions alongside with technical plot. It is recommended for use as a data preparation step before following Klimontovich's Stheorem based analysis.
f0 
spectral power density function as a probability vector representing state0 of a system 
f1 
spectral power density function as a probability vector representing state1 of a system 
efs 
vector of corresponding metrics/bin values (radial frequency or spectral angle) 
Vitaly Efremov <[email protected]>
N.F.Zhang, A.E.Vladar, M.T.Postek, R.D.Larrabee.Spectral densitybased statistical measures for image sharpness. Metrologia, 42(2005), 351359
E.J.Groth. Probability distributions related to power spectra. Astrophysical Journal, 1975. Suppl. Ser., Vol.29, No.286, p. 285302.
crit.stheorem
,
cxds.stheorem
,
d1spec
,
d1nat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  # compare (harmonic+background) with (harmonic noisy period) matrices
s0<array(2+sin(c(1:256)/3), c(16,16))
s1<array(sin(c(1:512)+runif(512,0,2)), c(16,32))
# as radial:
b<d2spec(d2arr0=s0, d2arr1=s1); b
b<d2spec(s0, s1, brks=29, band=c(0.15,0.5)); b
# as angular:
b<d2spec(s0, s1, method='ang', meansub=FALSE); b
#example of 3step data analysis with Klimontovich's Stheorem
# Study two gratings: random vs regular
s0<array(c(rep(0,640),rep(1,640)), c(320,320))
s1<array(runif(5120,0,1), c(64,80))
# step a. Binarize (to make s1 comparable with s0 by its nature as a grating)
a<utild2bin(s0, s1, method='med')
# step b. Create probability vectors as for angular space (anisotropy study)
# There is no doubt s0 is more regular
b<d2spec(a$bin0, a$bin1, brks=36, method='ang90'); b
# step c. Compare gratings with Klimontovich's Stheorem. Renormalized entropy shift
# is negligible compared to Shannon's. Evolution from state0 to state1 is possible
# but clearly with external entropy (or energy) inflow
crit.stheorem(b$f0,b$f1)
cxds.stheorem(b$f0,b$f1)

Caution! Array1 isnt square. Will be cut!
Call:
d2spec.default(d2arr0 = s0, d2arr1 = s1)
Two spectral probability mass functions ($f0,$f1) have been generated at the common scale of radial freqs ($efs)
Statistics summary:
expctd var fsum xmin xmax n mod1 mod2 mod3 H_val
f0 0.2176109 0.003670835 1 0 0.5 7 0.1785714 0.2500000 0.3214286 1.0160
f1 0.3423788 0.008044957 1 0 0.5 7 0.3928571 0.3214286 0.4642857 1.5719
H_max
f0 1.94591
f1 1.94591
Caution! Array1 isnt square. Will be cut!
Call:
d2spec.default(d2arr0 = s0, d2arr1 = s1, band = c(0.15, 0.5),
brks = 29)
Two spectral probability mass functions ($f0,$f1) have been generated at the common scale of radial freqs ($efs)
Statistics summary:
expctd var fsum xmin xmax n mod1 mod2 mod3 H_val
f0 0.2449084 0.003234614 1 0.15 0.5 29 0.2163793 0.2887931 0.3612069 0.7968
f1 0.3281579 0.005721408 1 0.15 0.5 29 0.3612069 0.2887931 0.4336207 1.3674
H_max
f0 3.367296
f1 3.367296
Caution! Array1 isnt square. Will be cut!
Call:
d2spec.default(d2arr0 = s0, d2arr1 = s1, method = "ang", meansub = FALSE)
Two spectral probability mass functions ($f0,$f1) have been generated at the common scale of spectral angles ($efs)
Statistics summary:
expctd var fsum xmin xmax n mod1 mod2 mod3 H_val H_max
f0 93.68743 249.7329 1 0 180 180 90.5 153.5 161.5 0.3164 5.192957
f1 128.08069 2846.0915 1 0 180 180 156.5 164.5 171.5 2.7694 5.192957
Caution! Array1 isnt square. Will be cut!
Call:
d2spec.default(d2arr0 = a$bin0, d2arr1 = a$bin1, brks = 36, method = "ang90")
Two spectral probability mass functions ($f0,$f1) have been generated at the common scale of spectral angles ($efs)
Statistics summary:
expctd var fsum xmin xmax n mod1 mod2 mod3 H_val H_max
f0 92.50000 0.000 1 0 180 36 92.5 82.5 97.5 0.0000 3.583519
f1 90.65819 2523.968 1 0 180 36 47.5 137.5 132.5 3.5446 3.583519
Stheorem convergence criterion
System evolution from state0 to state1 is thermodynamically possible through an indirect
medium state2 (R^2 = 0.9604).
Stheorem open system evolution model
Overall entropy shift {H1H0 = dS + dI}:
3.54462331081128 {0to1} = 0.0639352379338206 {0to1} + 3.48068807287746 {0to1}
where dS consists of two:
0.0639352379338206 {0to1} = 0.0639352379338196 {0to2} + 1e15 {2to1}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.