user: What is Freestyle Functions (freestyle.functions) and how is it used in Blender Python scripting?

assistant: pe=IntegrationType.MEAN*)
    :   Builds a QuantitativeInvisibilityF1D object.

        Parameters:
        :   **integration_type** (`freestyle.types.IntegrationType`) – The integration method used to compute a single value
            from a set of values.

    __call__(*inter*)
    :   Returns the Quantitative Invisibility of an Interface1D element. If
        the Interface1D is a `freestyle.types.ViewEdge`, then there is
        no ambiguity concerning the result. But, if the Interface1D results
        of a chaining (chain, stroke), then it might be made of several 1D
        elements of different Quantitative Invisibilities.

        Parameters:
        :   **inter** (`freestyle.types.Interface1D`) – An Interface1D object.

        Returns:
        :   The Quantitative Invisibility of the Interface1D.

        Return type:
        :   int

*class* freestyle.functions.ReadCompleteViewMapPixelF0D
:   Class hierarchy: `freestyle.types.UnaryFunction0D` > `freestyle.types.UnaryFunction0DFloat` > `ReadCompleteViewMapPixelF0D`

    __init__(*level*)
    :   Builds a ReadCompleteViewMapPixelF0D object.

        Parameters:
        :   **level** (*int*) – The level of the pyramid from which the pixel must be
            read.

    __call__(*it*)
    :   Reads a pixel in one of the level of the complete viewmap.

        Parameters:
        :   **it** (`freestyle.types.Interface0DIterator`) – An Interface0DIterator object.

        Returns:
        :   A pixel in one of the level of the complete viewmap.

        Return type:
        :   float

*class* freestyle.functions.ReadMapPixelF0D
:   Class hierarchy: `freestyle.types.UnaryFunction0D` > `freestyle.types.UnaryFunction0DFloat` > `ReadMapPixelF0D`

    __init__(*map_name*, *level*)
    :   Builds a ReadMapPixelF0D object.

        Parameters:
        :   - **map_name** (*str*) – The name of the map to be read.
            - **level** (*int*) – The level of the pyramid from which the pixel must be
              read.

    __call__(*it*)
    :   Reads a pixel in a map.

        Parameters:
        :   **it** (`freestyle.types.Interface0DIterator`) – An Interface0DIterator object.

        Returns:
        :   A pixel in a map.

        Return type:
        :   float

*class* freestyle.functions.ReadSteerableViewMapPixelF0D
:   Class hierarchy: `freestyle.types.UnaryFunction0D` > `freestyle.types.UnaryFunction0DFloat` > `ReadSteerableViewMapPixelF0D`

    __init__(*orientation*, *level*)
    :   Builds a ReadSteerableViewMapPixelF0D object.

        Parameters:
        :   - **orientation** (*int*) – The integer belonging to [0, 4] indicating the
              orientation (E, NE, N, NW) we are interested in.
            - **level** (*int*) – The level of the pyramid from which the pixel must be
              read.

    __call__(*it*)
    :   Reads a pixel in one of the level of one of the steerable viewmaps.

        Parameters:
        :   **it** (`freestyle.types.Interface0DIterator`) – An Interface0DIterator object.

        Returns:
        :   A pixel in one of the level of one of the steerable viewmaps.

        Return type:
        :   float

*class* freestyle.functions.ShapeIdF0D
:   Class hierarchy: `freestyle.types.UnaryFunction0D` > `freestyle.types.UnaryFunction0DId` > `ShapeIdF0D`

    __init__()
    :   Builds a ShapeIdF0D object.

    __call__(*it*)
    :   Returns the `freestyle.types.Id` of the Shape the
        `freestyle.types.Interface0D` pointed by the
        Interface0DIterator belongs to. This evaluation can be ambiguous (in
        the case of a `freestyle.types.TVertex` for example). This
        functor tries to remove this ambiguity using the context offered by
        the 1D element to which the Interface0DIterator belongs to. However,
        there still can be problematic cases, and the user willing to deal
        with this cases in a specific way should implement its own
        getShapeIdF0D functor.

        Parameters:
        :   **it** (`freestyle.types.Interface0DIterator`) – An Interface0DIterator object.

        Returns:
        :   The Id of the Shape the pointed Interface0D belongs to.

        Return type:
        :   `freestyle.types.Id`

*class* freestyle.functions.TimeStampF1D
:   Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DVoid` > `TimeStampF1D`

    __init__()
    :   Builds a TimeStampF1D object.

    __call__(*inter*)
    :   Returns the time stamp of the Interface1D.

        Parameters:
        :   **inter** (`freestyle.types.Interface1D`) – An Interface1D object.

*class* freestyle.functions.VertexOrientation2DF0D
:   Class hierarchy: `freestyle.types.UnaryFunction0D` > `freestyle.types.UnaryFunction0DVec2f` > `VertexOrientation2DF0D`

    __init__()
    :   Builds a VertexOrientation2DF0D object.

    __call__(*it*)
    :   Returns a two-dimensional vector giving the 2D oriented tangent to the
        1D element to which the `freestyle.types.Interface0D` pointed
        by the Interface0DIterator belongs. The 2D oriented tangent is
        evaluated at the pointed Interface0D.

        Parameters:
        :   **it** (`freestyle.types.Interface0DIterator`) – An Interface0DIterator object.

        Returns:
        :   The 2D oriented tangent to the 1D element evaluated at the
            pointed Interface0D.

        Return type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector")

*class* freestyle.functions.VertexOrientation3DF0D
:   Class hierarchy: `freestyle.types.UnaryFunction0D` > `freestyle.types.UnaryFunction0DVec3f` > `VertexOrientation3DF0D`

    __init__()
    :   Builds a VertexOrientation3DF0D object.

    __call__(*it*)
    :   Returns a three-dimensional vector giving the 3D oriented tangent to
        the 1D element to which the `freestyle.types.Interface0D`
        pointed by the Interface0DIterator belongs. The 3D oriented tangent
        is evaluated at the pointed Interface0D.

        Parameters:
        :   **it** (`freestyle.types.Interface0DIterator`) – An Interface0DIterator object.

        Returns:
        :   The 3D oriented tangent to the 1D element evaluated at the
            pointed Interface0D.

        Return type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector")

*class* freestyle.functions.ZDiscontinuityF0D
:   Class hierarchy: `freestyle.types.UnaryFunction0D` > `freestyle.types.UnaryFunction0DDouble` > `ZDiscontinuityF0D`

    __init__()
    :   Builds a ZDiscontinuityF0D object.

    __call__(*it*)
    :   Returns a real value giving the distance between the
        `freestyle.types.Interface0D` pointed by the
        Interface0DIterator and the shape that lies behind (occludee). This
        distance is evaluated in the camera space and normalized between 0 and
        1. Therefore, if no object is occluded by the shape to which the
        Interface0D belongs to, 1 is returned.

        Parameters:
        :   **it** (`freestyle.types.Interface0DIterator`) – An Interface0DIterator object.

        Returns:
        :   The normalized distance between the pointed Interface0D
            and the occludee.

        Return type:
        :   float

*class* freestyle.functions.ZDiscontinuityF1D
:   Class hierarchy: `freestyle.types.UnaryFunction1D` > `freestyle.types.UnaryFunction1DDouble` > `ZDiscontinuityF1D`

    __init__(*integration_type=IntegrationType.MEAN*)
    :   Builds a ZDiscontinuityF1D object.

        Parameters:
        :   **integration_type** (`freestyle.types.IntegrationType`) – The integration method used to compute a single value
            from a set of values.

    __call__(*inter*)
    :   Returns a real value giving the distance between an Interface1D
        and the shape that lies behind (occludee). This distance is
        evaluated in the camera space and normalized between 0 and 1.
        Therefore, if no object is occluded by the shape to which the
        Interface1D belongs to, 1 is returned.

        Parameters:
        :   **inter** (`freestyle.types.Interface1D`) – An Interface1D object.

        Returns:
        :   The normalized distance between the Interface1D and the occludee.

        Return type:
        :   float

*class* freestyle.functions.pyCurvilinearLengthF0D

*class* freestyle.functions.pyDensityAnisotropyF0D
:   Estimates the anisotropy of density.

*class* freestyle.functions.pyDensityAnisotropyF1D

*class* freestyle.functions.pyGetInverseProjectedZF1D

*class* freestyle.functions.pyGetSquareInverseProjectedZF1D

*class* freestyle.functions.pyInverseCurvature2DAngleF0D

*class* freestyle.functions.pyViewMapGradientNormF0D

*class* freestyle.functions.pyViewMapGradientNormF1D

*class* freestyle.functions.pyViewMapGradientVectorF0D
:   Returns the gradient vector for a pixel.

    __init__(*self*, *level*)
    :   Builds a pyViewMapGradientVectorF0D object.

        Parameters:
        :   **level** (*int*) – the level at which to compute the gradient