## cdline cdline — Critical dimension |

## Functions

GwyInventory * | gwy_cdlines ()
const gchar * | gwy_cdline_get_name ()
const gchar * | gwy_cdline_get_definition ()
const gchar * | gwy_cdline_get_param_name ()
gdouble | gwy_cdline_get_param_default ()
GwySIUnit * | gwy_cdline_get_param_units ()
gint | gwy_cdline_get_nparams ()
void | gwy_cdline_fit ()
void | gwy_cdline_fit_with_caldata ()
gdouble | gwy_cdline_get_value ()

## Types and Values

| GwyCDLineBuiltin
struct | GwyCDLine
struct | GwyCDLineClass

## Object Hierarchy

        GObject
        ╰── GwyResource
            ╰── GwyCDLine

## Includes

    #include <libprocess/gwyprocess.h>

## Description

## Functions

### gwy_cdlines ()

    GwyInventory *
    gwy_cdlines (void);

Gets inventory with all the critical dimension evaluators.

#### Returns

Critical dimension evaluator inventory.

### gwy_cdline_get_name ()

    const gchar *
    gwy_cdline_get_name (GwyCDLine *cdline);

Return cdline name (its unique identifier).

#### Parameters

cdline | A critical dimension evaluator. |

#### Returns

The cdline name.

### gwy_cdline_get_definition ()

    const gchar *
    gwy_cdline_get_definition (GwyCDLine *cdline);

Gets the name of the image file with critical dimension evaluator description.

#### Parameters

cdline | A critical dimension evaluator. |

#### Returns

The cdline function definition.

### gwy_cdline_get_param_name ()

    const gchar *
    gwy_cdline_get_param_name (GwyCDLine *cdline,
                               gint param);

Returns the name of a critical dimension evaluator parameter.

The name may contain Pango markup.

#### Parameters

cdline | A NL evaluator function cdline. |
param | A parameter number. |

#### Returns

The name of parameter `param` .

### gwy_cdline_get_param_default ()

    gdouble
    gwy_cdline_get_param_default (GwyCDLine *cdline,
                                  gint param);

`gwy_cdline_get_param_default` is deprecated and should not be used in newly-written code.

Returns a constant default parameter value.

#### Parameters

cdline | A NL evaluator function cdline. |
param | A parameter number. |

#### Returns

The default parameter value, unrelated to the actual data fitted. It is worthless.

### gwy_cdline_get_param_units ()

    GwySIUnit *
    gwy_cdline_get_param_units (GwyCDLine *cdline,
                                gint param,
                                GwySIUnit *siunit_x,
                                GwySIUnit *siunit_y);

Derives the SI unit of a critical dimension parameter from the units of abscissa and ordinate.

#### Parameters

cdline | A critical dimension evaluator. |
param | A parameter number. |
siunit_x | SI unit of abscissa. |
siunit_y | SI unit of ordinate. |

#### Returns

A newly created GwySIUnit with the units of the parameter `param` . If the units of `param` are not representable as GwySIUnit, the result is unitless (i.e. it will be presented as a mere number).

Since: 2.5

### gwy_cdline_get_nparams ()

    gint
    gwy_cdline_get_nparams (GwyCDLine *cdline);

Return the number of parameters of `cdline` .

#### Parameters

cdline | A critical dimension evaluator. |

#### Returns

The number of function parameters.

### gwy_cdline_fit ()

    void
    gwy_cdline_fit (GwyCDLine *cdline,
                    gint n_dat,
                    const gdouble *x,
                    const gdouble *y,
                    gint n_param,
                    gdouble *params,
                    gdouble *err,
                    const gboolean *fixed_param,
                    gpointer user_data);

Performs a critical dimension evaulation (fit).

#### Parameters

cdline | A critical dimension evaluator. |
n_dat | The number of data points (number of items in `x` and `y` ). |
x | Abscissa points. |
y | Ordinate points. |
n_param | The number of parameters. This argument is ignored as the evaluator knows how many parameters it has, it is safe to pass 0. |
params | Array to store fitted parameter values to. |
err | Array to store parameter errros to, may be `NULL`. |
fixed_param | Which parameters should be treated as fixed. It is ignored, pass `NULL`. |
user_data | Ignored, pass `NULL`. |

### gwy_cdline_fit_with_caldata ()

    void
    gwy_cdline_fit_with_caldata (GwyCDLine *cdline,
                                 gint n_dat,
                                 const gdouble *x,
                                 const gdouble *y,
                                 gdouble *params,
                                 gdouble *err,
                                 GwyCurveCalibrationData *cdata);

Performs a critical dimension evaulation (fit), allowing user to pass uncertainties.

#### Parameters

cdline | A critical dimension evaluator. |
n_dat | The number of data points (number of items in `x` and `y` ). |
x | Abscissa points. |
y | Ordinate points. |
params | Array to store fitted parameter values to. |
err | Array to store parameter errros to, may be `NULL`. |
cdata | Curve calibration data, may be `NULL`. |

### gwy_cdline_get_value ()

    gdouble
    gwy_cdline_get_value (GwyCDLine *cdline,
                          gdouble x,
                          const gdouble *params,
                          gboolean *fres);

Calculates critical dimension function value in a single point with given parameters.

#### Parameters

cdline | A critical dimension evaluator. |
x | The point to compute value at. |
params | Evaluator parameter values. |
fres | Set to `TRUE` if succeeds, `FALSE` on failure. |

#### Returns

The function value.

## Types and Values

### GwyCDLineBuiltin

    typedef struct _GwyCDLineBuiltin GwyCDLineBuiltin;

### struct GwyCDLine

    struct GwyCDLine;

### struct GwyCDLineClass

    struct GwyCDLineClass {
        GwyResourceClass parent_class;

        void (*reserved1)(void);
        void (*reserved2)(void);
    };