setTfrType: The "Tfr.type" attribute

View source: R/spct.classes.r

setTfrTypeR Documentation

The "Tfr.type" attribute

Description

Function to set by reference the "Tfr.type" attribute of an existing filter_spct or object_spct object, and function to query its current status.

Usage

setTfrType(x, Tfr.type = c("total", "internal"))

getTfrType(x)

Arguments

x

a filter_spct or an object_spct object.

Tfr.type

character string, either "total" or "internal".

Details

Transmittance, T or \tau, has two different definitions that differ in how reflectance is taken into account: "total" transmittance and "internal" transmittance. They are both in widespread use, and rather frequently the interconversion is approximate or even not possible.

T = \frac{I_z}{I_0}

\tau = \frac{I_z}{I_0 - \rho}

where T is total transmittance and \tau is internal transmittance; I_0 is the radiant power incident on an object and I_z is the radiant power at depth z, in most cases measured below the non-illuminated side of the object, and \rho is the total reflectance at the illuminated surface.

The transmittance of an object as a whole depends on the length of the light path within the object and reflectance on the angle of incidence of the light on the surface. When the light beam is near-normal to the surface, both quantities are at their minimum.

Thus, the interconversion of total spectral transmittance, T(\lambda), into internal spectral transmittance, \tau(\lambda), is strictly possible only if the spectral reflectance \rho(\lambda) is known. In practice, the spectral reflectance is approximated by a constant value that is assumed independent of wavelength.

Objects of class object_spct contain spectral data for both spectral transmittance and spectral reflectance or spectral absorptance, making conversion possible. Objects of class filter_spct do not contain spectral reflectance data, but may have a known approximate value for a reflectance constant, but this is frequently not the case.

The type of transmittance data stored in an object of these classes is recorded as metadata in attribute Tfr.Type. The functions described here set and query this attribute. Contrary to directly accessing the attribute, the query function consistently returns NA both when the attribute is set to NA and when the attribute has not been set, as can be the case of objects created with early versions of the package.

Absorptance, \alpha, and absorbance, A, are normally given as "internal", and this is the assumption in this package. However, as in some cases strict enforcement would prevent conversions, this is not strictly enforced. (IUPAC, recommends use of the name attenuance (formerly extinction) instead of absorbance when light attenuation involves processes other than pure absorption, such as scattering and luminescence.)

1 = \alpha + \rho + \tau

A_{10} = \log_{10} \frac{1}{\alpha} = - \log_{10} \alpha

When a solvent-only blank is used when measuring the absorbance of a solution, the absorbance is not only "internal" to the solution (discounting reflections at the cuvette boundaries) but also discounts the effect of the solvent itself. When measuring solid samples, like a sheet of glass, in most cases a blank is not available.

For semitransparent objects like glass, it is important to take into account that reflections occur at each interface between substances with different refractive index.

This attribute is normally set when the source_spct object is created. But convertTfrType() updates it when it changes due to a conversion.

Value

x, with the modified attribute in the case of setTfrType() or the character value, "total" or internal, stored in the "Tfr.type" attribute of x in the case of getTfrType(). If x is not a filter_spct or an object_spct object, NA is returned.

Note

Function setTfrType() alters x itself by reference and in addition returns x invisibly. If x is not a filter_spct or an object_spct object, x is not modified. The behaviour of this function is 'unusual' in that the default for parameter Tfr.type is used only if x does not already have this attribute set.

See Also

convertTfrType, filter_spct, and object_spct.

Examples

my.spct <- polyester.spct
getTfrType(my.spct)
setTfrType(my.spct, "internal")
getTfrType(my.spct)


aphalo/photobiology documentation built on April 1, 2024, 6:48 p.m.