|
lensfun
0.2.7.0
|
Lens data. More...
#include <lensfun.h>
Public Member Functions | |
| lfLens () | |
| Create a new lens object, initializing all fields to default values. | |
| lfLens (const lfLens &other) | |
| Copy constructor. | |
| ~lfLens () | |
| Destroy this and all associated objects. | |
| lfLens & | operator= (const lfLens &other) |
| Assignment operator. | |
| void | SetMaker (const char *val, const char *lang=NULL) |
| Add a string to camera maker. | |
| void | SetModel (const char *val, const char *lang=NULL) |
| Add a string to camera model. | |
| void | AddMount (const char *val) |
| Add a new mount type to this lens. | |
| void | AddCalibDistortion (const lfLensCalibDistortion *dc) |
| Add a new distortion calibration structure to the pool. | |
| bool | RemoveCalibDistortion (int idx) |
| Remove a calibration entry from the distortion calibration data. | |
| void | AddCalibTCA (const lfLensCalibTCA *tcac) |
| Add a new transversal chromatic aberration calibration structure to the pool. | |
| bool | RemoveCalibTCA (int idx) |
| Remove a calibration entry from the TCA calibration data. | |
| void | AddCalibVignetting (const lfLensCalibVignetting *vc) |
| Add a new vignetting calibration structure to the pool. | |
| bool | RemoveCalibVignetting (int idx) |
| Remove a calibration entry from the vignetting calibration data. | |
| void | AddCalibCrop (const lfLensCalibCrop *cc) |
| Add a new lens crop structure to the pool. | |
| bool | RemoveCalibCrop (int idx) |
| Remove a lens crop entry from the lens crop structure. | |
| void | AddCalibFov (const lfLensCalibFov *cf) |
| Add a new lens fov structure to the pool. | |
| bool | RemoveCalibFov (int idx) |
| Remove a field of view entry from the lens fov structure. | |
| void | GuessParameters () |
| This method fills some fields if they are missing but can be derived from other fields. | |
| bool | Check () |
| Check if a lens object is valid. | |
| bool | InterpolateDistortion (float focal, lfLensCalibDistortion &res) const |
| Interpolate lens geometry distortion data for given focal length. | |
| bool | InterpolateTCA (float focal, lfLensCalibTCA &res) const |
| Interpolate lens TCA calibration data for given focal length. | |
| bool | InterpolateVignetting (float focal, float aperture, float distance, lfLensCalibVignetting &res) const |
| Interpolate lens vignetting model parameters for given focal length, aperture and subject distance. | |
| bool | InterpolateCrop (float focal, lfLensCalibCrop &res) const |
| Interpolate lens crop data for given focal length. | |
| bool | InterpolateFov (float focal, lfLensCalibFov &res) const |
| Interpolate lens fov data for given focal length. | |
Static Public Member Functions | |
| static const char * | GetDistortionModelDesc (lfDistortionModel model, const char **details, const lfParameter ***params) |
| Get the human-readable distortion model name and the descriptions of the parameters required by this model. | |
| static const char * | GetTCAModelDesc (lfTCAModel model, const char **details, const lfParameter ***params) |
| Get the human-readable transversal chromatic aberrations model name and the descriptions of the parameters required by this model. | |
| static const char * | GetVignettingModelDesc (lfVignettingModel model, const char **details, const lfParameter ***params) |
| Get the human-readable vignetting model name and the descriptions of the parameters required by this model. | |
| static const char * | GetCropDesc (lfCropMode mode, const char **details, const lfParameter ***params) |
| Get the human-readable crop name and the descriptions of the parameters required by this model. | |
| static const char * | GetLensTypeDesc (lfLensType type, const char **details) |
| Get the human-readable lens type name and a short description of this lens type. | |
Public Attributes | |
| lfMLstr | Maker |
| Lens maker (ex: "Rollei") | |
| lfMLstr | Model |
| Lens model (ex: "Zoom-Rolleinar") | |
| float | MinFocal |
| Minimum focal length, mm (ex: 35). | |
| float | MaxFocal |
| Maximum focal length, mm (ex: 105). | |
| float | MinAperture |
| Aperture at minimum focal length (ex: 3.5). | |
| float | MaxAperture |
| Aperture at maximum focal length (ex: 4.3). | |
| char ** | Mounts |
| Available mounts (NULL-terminated list) (ex: { "QBM", NULL }) | |
| float | CenterX |
| The horizontal shift of all lens distortions. | |
| float | CenterY |
| The vertical shift of all lens distortions. | |
| float | RedCCI |
| Lens colour contribution index (ISO/CCI, ISO 6728:1983). | |
| float | GreenCCI |
| Green component of lens CCI. | |
| float | BlueCCI |
| Blue component of lens CCI. | |
| float | CropFactor |
| Crop factor at which calibration measurements were taken. | |
| lfLensType | Type |
| Lens type. | |
| lfLensCalibDistortion ** | CalibDistortion |
| Lens distortion calibration data, NULL-terminated (unsorted) | |
| lfLensCalibTCA ** | CalibTCA |
| Lens TCA calibration data, NULL-terminated (unsorted) | |
| lfLensCalibVignetting ** | CalibVignetting |
| Lens vignetting calibration data, NULL-terminated (unsorted) | |
| lfLensCalibCrop ** | CalibCrop |
| Crop data, NULL-terminated (unsorted) | |
| lfLensCalibFov ** | CalibFov |
| Field of view calibration data, NULL-terminated (unsorted) | |
| int | Score |
| Lens matching score, used while searching: not actually a lens parameter. | |
Lens data.
Lens data.
Unknown fields are set to NULL or 0.
To create a new lens object, use the lfLens::Create() or lf_lens_new() functions. After that fill the fields for which you have data, and invoke the lfLens::Check or lf_lens_check() function, which will check if existing data is enough and will fill some fields using information extracted from lens name.
| void lfLens::AddCalibCrop | ( | const lfLensCalibCrop * | cc | ) |
Add a new lens crop structure to the pool.
The objects is copied, thus you can reuse it as soon as this function returns.
| cc | The lens crop structure. |
| void lfLens::AddCalibDistortion | ( | const lfLensCalibDistortion * | dc | ) |
Add a new distortion calibration structure to the pool.
The objects is copied, thus you can reuse it as soon as this function returns.
| dc | The distortion calibration structure. |
| void lfLens::AddCalibFov | ( | const lfLensCalibFov * | cf | ) |
Add a new lens fov structure to the pool.
The objects is copied, thus you can reuse it as soon as this function returns.
| cf | The lens fov structure. |
| void lfLens::AddCalibTCA | ( | const lfLensCalibTCA * | tcac | ) |
Add a new transversal chromatic aberration calibration structure to the pool.
The objects is copied, thus you can reuse it as soon as this function returns.
| tcac | The transversal chromatic aberration calibration structure. |
| void lfLens::AddCalibVignetting | ( | const lfLensCalibVignetting * | vc | ) |
Add a new vignetting calibration structure to the pool.
The objects is copied, thus you can reuse it as soon as this function returns.
| vc | The vignetting calibration structure. |
| void lfLens::AddMount | ( | const char * | val | ) |
Add a new mount type to this lens.
This is not a multi-language string, this it's just plain replaced.
| val | The new value to add to the Mounts array. |
| bool lfLens::Check | ( | ) |
Check if a lens object is valid.
|
static |
Get the human-readable crop name and the descriptions of the parameters required by this model.
| mode | The crop mode. |
| details | If not NULL, this string will be set to a more detailed (technical) description of the model. This string may contain newlines. |
| params | If not NULL, this variable will be set to a pointer to an array of lfParameter structures, every structure describes a model parameter. The list is NULL-terminated. |
|
static |
Get the human-readable distortion model name and the descriptions of the parameters required by this model.
| model | The model. |
| details | If not NULL, this string will be set to a more detailed (technical) description of the model. This string may contain newlines. |
| params | If not NULL, this variable will be set to a pointer to an array of lfParameter structures, every structure describes a model parameter. The list is NULL-terminated. |
|
static |
Get the human-readable lens type name and a short description of this lens type.
| type | Lens type. |
| details | If not NULL, this string will be set to a more detailed (technical) description of the lens type. This string may contain newlines. |
|
static |
Get the human-readable transversal chromatic aberrations model name and the descriptions of the parameters required by this model.
| model | The model. |
| details | If not NULL, this string will be set to a more detailed (technical) description of the model. This string may contain newlines. |
| params | If not NULL, this variable will be set to a pointer to an array of lfParameter structures, every structure describes a model parameter. The list is NULL-terminated. |
|
static |
Get the human-readable vignetting model name and the descriptions of the parameters required by this model.
| model | The model. |
| details | If not NULL, this string will be set to a more detailed (technical) description of the model. This string may contain newlines. |
| params | If not NULL, this variable will be set to a pointer to an array of lfParameter structures, every structure describes a model parameter. The list is NULL-terminated. |
| void lfLens::GuessParameters | ( | ) |
This method fills some fields if they are missing but can be derived from other fields.
This includes such non-obvious parameters like the range of focal lengths or the range of apertures, which can be derived from lens named (which is intelligently parsed) or from the list of calibrations.
| bool lfLens::InterpolateCrop | ( | float | focal, |
| lfLensCalibCrop & | res | ||
| ) | const |
Interpolate lens crop data for given focal length.
| focal | The focal length at which we need image parameters. |
| res | The resulting interpolated information data. |
| bool lfLens::InterpolateDistortion | ( | float | focal, |
| lfLensCalibDistortion & | res | ||
| ) | const |
Interpolate lens geometry distortion data for given focal length.
| focal | The focal length at which we need geometry distortion parameters. |
| res | The resulting interpolated model. |
| bool lfLens::InterpolateFov | ( | float | focal, |
| lfLensCalibFov & | res | ||
| ) | const |
Interpolate lens fov data for given focal length.
| focal | The focal length at which we need image parameters. |
| res | The resulting interpolated information data. |
| bool lfLens::InterpolateTCA | ( | float | focal, |
| lfLensCalibTCA & | res | ||
| ) | const |
Interpolate lens TCA calibration data for given focal length.
| focal | The focal length at which we need TCA parameters. |
| res | The resulting interpolated model. |
| bool lfLens::InterpolateVignetting | ( | float | focal, |
| float | aperture, | ||
| float | distance, | ||
| lfLensCalibVignetting & | res | ||
| ) | const |
Interpolate lens vignetting model parameters for given focal length, aperture and subject distance.
| focal | The focal length for which we need vignetting parameters. |
| aperture | The aperture value for which we need vignetting parameters. |
| distance | The subject distance for which we need vignetting parameters. |
| res | The resulting interpolated model. |
| bool lfLens::RemoveCalibCrop | ( | int | idx | ) |
Remove a lens crop entry from the lens crop structure.
| idx | The lens crop data index (zero-based). |
| bool lfLens::RemoveCalibDistortion | ( | int | idx | ) |
Remove a calibration entry from the distortion calibration data.
| idx | The calibration data index (zero-based). |
| bool lfLens::RemoveCalibFov | ( | int | idx | ) |
Remove a field of view entry from the lens fov structure.
| idx | The lens information data index (zero-based). |
| bool lfLens::RemoveCalibTCA | ( | int | idx | ) |
Remove a calibration entry from the TCA calibration data.
| idx | The calibration data index (zero-based). |
| bool lfLens::RemoveCalibVignetting | ( | int | idx | ) |
Remove a calibration entry from the vignetting calibration data.
| idx | The calibration data index (zero-based). |
| void lfLens::SetMaker | ( | const char * | val, |
| const char * | lang = NULL |
||
| ) |
Add a string to camera maker.
If lang is NULL, this replaces the default value, otherwise a new language value is appended.
| val | The new value for the Maker field. |
| lang | The language this field is in. |
| void lfLens::SetModel | ( | const char * | val, |
| const char * | lang = NULL |
||
| ) |
Add a string to camera model.
If lang is NULL, this replaces the default value, otherwise a new language value is appended.
| val | The new value for the Model field. |
| lang | The language this field is in. |
| float lfLens::CenterX |
The horizontal shift of all lens distortions.
Note that distortion and TCA uses same geometrical lens center. It is given as a relative value to avoide dependency on the image and/or sensor sizes. The calibrated delta X and Y values are numbers in the -0.5 .. +0.5 range. For 1 we take the maximal image dimension (width or height) - this is related to the fact that the lens has a circular field of projection disregarding sensor size.
| float lfLens::CenterY |
| float lfLens::CropFactor |
| float lfLens::MaxAperture |
| float lfLens::MaxFocal |
| float lfLens::MinAperture |
| float lfLens::RedCCI |
1.8.2