Module with various partical radiation pyrometers types and several function like pyrometer's emissivity adjusting to make the "measured" temperature fit the real temperture

Base.islessMethod
Base.isless(p1::Pyrometer,p2::Pyrometer)

Vector of Pyrometer objects can be sorted using isless
source
Main.BandPyrometry.Pyrometers.fit_ϵMethod
fit_ϵ(p::Pyrometer,Tmeasured::Float64,Treal::Float64)

Optimizes the emissivity of the pyrometer to make measured by the pyrometer temperature fit
fit the real temperature

Input:
    p - pyrometer object
    Treal - real temperature of the surface, Kelvins
    Tmeasured - temperature measured by the pyrometer, Kelvins
source
Main.BandPyrometry.Pyrometers.fit_ϵMethod
fit_ϵ(p::Vector{Pyrometer},Treal::Float64,Tmeasured::Vector{Float64})

Optimizes the emissivity of the pyrometer to make measured by the pyrometer temperature fit
fit the real temperature

Input:
    p - pyrometer objects vector , [Nx0]
    Treal - real temperature of the surface, Kelvins
    Tmeasured - temperatures measured by the pyrometer, Kelvins, [Nx0]
source
Main.BandPyrometry.Pyrometers.fit_ϵ_wavelengthMethod
fit_ϵ_wavelength(p::Pyrometer,Tmeasured::Float64,Treal::Float64)

Fits emissivity and returns it as a vector of the same size as pyrometer's wavelength region
Some pyrometers has 2-wavelength, other work on a single wavelength, for two-wavelength pyrometers
e_out will be a two-element vector
Input:
    p - pyrometer object
    Tmeasured - temperature measured by the pyrometer, Kelvins
    Treal - real temeprature of the surface, Kelvins
source
Main.BandPyrometry.Pyrometers.measureMethod
measure(p::Pyrometer,i::Float64)

Calculates the "measured" from "mesaured" intensity by fitting the Planck function.
The intensity units should be consistent with Planck.ibb(λ,T) function return,
it should be in [W/m²⋅sr⋅μm]
Input:
    p - pyrometer object
    i - measured intensity in [W/m²⋅sr⋅μm]
        returns temperature "measured" by this pyrometer  
    (optional)
    T_starting  - starting temperature value
source