Learn R Programming

photobiology (version 0.11.3)

setTfrType: 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)

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.

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.

See Also

convertTfrType, filter_spct, and object_spct.

Examples

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

Run the code above in your browser using DataLab