lqr_carver_get_energy, lqr_carver_get_true_energy, lqr_carver_get_energy_image — get the energy map for a LqrCarver object
#include <lqr.h>
| LqrRetVal lqr_carver_get_energy( | LqrCarver* carver, | 
| gfloat * buffer, | |
| gint orientation ); | 
#include <lqr.h>
| LqrRetVal lqr_carver_get_true_energy( | LqrCarver* carver, | 
| gfloat * buffer, | |
| gint orientation ); | 
#include <lqr.h>
| LqrRetVal lqr_carver_get_energy( | LqrCarver* carver, | 
| void * buffer, | |
| gint orientation, | |
| LqrColDepth col_depth, | |
| LqrImageType image_type ); | 
                        The function lqr_carver_get_energy writes the energy map of the LqrCarver
                        object pointed to by carver to the given buffer,
                        in a format suitable for plotting: all values are in the range between 0 and
                        1, and the true values are mapped nonlinearly and stretched on this whole
                        range, so that the differences between the middle values are enhanced with respect to very high
                        or very low values.
                    
                        The orientation parameter must be either 0 to get the
                        energy map used for horizontal scalings, or 1 to get the map for vertical
                        scalings.
                    
                        The buffer must be allocated by the user before calling this function, and its size must be at
                        least width * heightwidth and height are the current
                        width and height of the carver. The energy values are ordered by row
                        first, then by column.
                    
                        The outcome will include the effect of the bias added to the carver, if
                        any.
                    
                        This function can be called over non-initialised LqrCarver objects, e.g. to provide previews on
                        the effect of different energy functions, but it can also be invoked at any later time. Note,
                        however, that in this latter case the carver could be flattened if
                        necessary, therefore the function invocation is potentially destructive of the internal
                        visibiliy map.
                    
                        The function lqr_carvet_get_true_energy is identical to the previous one,
                        but the resulting buffer will contain the true energy, not scaled nor shifted.
                    
                        The function lqr_carver_get_energy_image is very similar to the function
                        lqr_carveR_get_energy, but it can be used to fill directly an image buffer
                        of the format specified through the additional parameters col_depth and
                        image_type (see LqrColDepth(3) and
                        LqrImageType(3)). The buffer must be passed as
                        void*, but it must point to a memory area with sufficient allocated space for the
                        chosen image type and colour depth. The image type cannot be LQR_CUSTOM_IMAGE.
                    
                        For any choice of the parameters describing the image, the resulting
                        buffer will hold a greyscale image, ranging from black (lowest energy) to
                        white (highest energy). The opacity (alpha) will be set to 1, if present. All
                        the information will be stored in the black channel in LQR_CMYK_IMAGE and LQR_CMYKA_IMAGE
                        image types.