Abbott-Firestone Curve

class surfalize.abbottfirestone.AbbottFirestoneCurve(obj, nbins=10000)

Bases: CachedInstance

Represents the Abbott-Firestone curve of a Surface or Profile object and provides methods to calculate the functional roughness parameters derived from it. The parameter methods are named agnostically with respect to the dimensionality of the underlying data, since the calculation is identical for profiles and surfaces. For instance, the method ‘k’ computes the core height, which corresponds to Sk for surfaces and Rk for profiles.

Parameters:
objSurface | Profile

Surface or Profile object from which to calculate the Abbott-Firestone curve.

nbinsint, default 10000

Number of material ratio classes used to sample the material ratio curve. The classes are equally spaced in material ratio (equivalent to sampling the empirical height distribution at uniform quantiles), so that the class height widths adapt to the local data density. Large numbers result in longer computation time but increased accuracy of results. The default value of 10000 represents a reasonable compromise.

Methods

Vm(p)

Calculates the material volume at material ratio p (Vm(p)).

Vv(p)

Calculates the void volume at material ratio p (Vv(p)).

ak1()

Calculates the area of the hills (Sak1 for surfaces, Rak1 for profiles), the triangle obtained during the reduction process of the protruding hills with height pk and base mr1.

ak2()

Calculates the area of the dales (Sak2 for surfaces, Rak2 for profiles), the triangle obtained during the reduction process of the protruding dales with depth vk and base 100 % - mr2.

clear_cache()

Clears the cache for the entire instance.

create_cache_entry(method, entry, args, kwargs)

Manually creates a cache entry for the specified method.

dc(p, q)

Calculates the material ratio height difference (Sdc for surfaces, Rdc for profiles), the difference in height between the p and q material ratio, with p < q.

k()

Calculates the core height (Sk for surfaces, Rk for profiles).

mc(mr)

Calculates the height at the material ratio mr (Smc(mr) for surfaces, Rmc(mr) for profiles).

mr(c)

Calculates the material ratio at the height c (Smr(c) for surfaces, Rmr(c) for profiles).

mr1()

Calculates the material ratio that separates the peaks from the core (Smr1 for surfaces, Rmr1 for profiles).

mr2()

Calculates the material ratio that separates the dales from the core (Smr2 for surfaces, Rmr2 for profiles).

pk()

Calculates the reduced peak height (Spk for surfaces, Rpk for profiles).

pkx()

Calculates the maximum peak height before the reduction process (Spkx for surfaces, Rpkx for profiles), i.e. the height of the highest point above the upper limit of the core surface.

vk()

Calculates the reduced dale height (Svk for surfaces, Rvk for profiles).

vkx()

Calculates the maximum pit depth before the reduction process (Svkx for surfaces, Rvkx for profiles), i.e. the depth of the deepest point below the lower limit of the core surface.

vmc([p, q])

Calculates the difference in material volume between material ratios p and q (Vmc).

vmp([p])

Calculates the peak material volume at material ratio p (Vmp).

vvc([p, q])

Calculates the difference in void volume between material ratios p and q (Vvc).

vvv([q])

Calculates the dale void volume at material ratio q (Vvv).

plot

visual_parameter_study

EQUIVALENCE_LINE_WIDTH = 40
Vm(p)

Calculates the material volume at material ratio p (Vm(p)).

Parameters:
pfloat

material ratio in %.

Returns:
float
Vv(p)

Calculates the void volume at material ratio p (Vv(p)).

Parameters:
pfloat

material ratio in %.

Returns:
float
ak1()

Calculates the area of the hills (Sak1 for surfaces, Rak1 for profiles), the triangle obtained during the reduction process of the protruding hills with height pk and base mr1.

Returns:
float
ak2()

Calculates the area of the dales (Sak2 for surfaces, Rak2 for profiles), the triangle obtained during the reduction process of the protruding dales with depth vk and base 100 % - mr2.

Returns:
float
dc(p, q)

Calculates the material ratio height difference (Sdc for surfaces, Rdc for profiles), the difference in height between the p and q material ratio, with p < q.

Parameters:
pfloat

material ratio in %.

qfloat

material ratio in %.

Returns:
float
k()

Calculates the core height (Sk for surfaces, Rk for profiles).

Returns:
float
mc(mr)

Calculates the height at the material ratio mr (Smc(mr) for surfaces, Rmc(mr) for profiles).

Parameters:
mrfloat

Material ratio.

Returns:
float
mr(c)

Calculates the material ratio at the height c (Smr(c) for surfaces, Rmr(c) for profiles).

Parameters:
cfloat

Material height.

Returns:
float
mr1()

Calculates the material ratio that separates the peaks from the core (Smr1 for surfaces, Rmr1 for profiles).

Returns:
float
mr2()

Calculates the material ratio that separates the dales from the core (Smr2 for surfaces, Rmr2 for profiles).

Returns:
float
pk()

Calculates the reduced peak height (Spk for surfaces, Rpk for profiles).

Returns:
float
pkx()

Calculates the maximum peak height before the reduction process (Spkx for surfaces, Rpkx for profiles), i.e. the height of the highest point above the upper limit of the core surface.

Returns:
float
plot(nbars=20, ax=None)
visual_parameter_study(ax=None)
vk()

Calculates the reduced dale height (Svk for surfaces, Rvk for profiles).

Returns:
float
vkx()

Calculates the maximum pit depth before the reduction process (Svkx for surfaces, Rvkx for profiles), i.e. the depth of the deepest point below the lower limit of the core surface.

Returns:
float
vmc(p=10, q=80)

Calculates the difference in material volume between material ratios p and q (Vmc).

Returns:
float
vmp(p=10)

Calculates the peak material volume at material ratio p (Vmp).

Returns:
float
vvc(p=10, q=80)

Calculates the difference in void volume between material ratios p and q (Vvc).

Returns:
float
vvv(q=80)

Calculates the dale void volume at material ratio q (Vvv).

Returns:
float