Gwyscan Library
 All Data Structures Files Functions Enumerations Enumerator Macros Groups
Macros | Enumerations
gwyscan.h File Reference

Gwyscan Library. More...

#include <string.h>
#include <stdbool.h>
#include <errno.h>

Go to the source code of this file.

Macros

#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 

Enumerations

enum  GwyscanDirection {
  GWYSCAN_DIRECTION_FORWARD = 0, GWYSCAN_DIRECTION_REVERSE = 1, GWYSCAN_DIRECTION_BOTH = 2, GWYSCAN_DIRECTION_BIDIRECTIONAL = 3,
  GWYSCAN_DIRECTION_FORWARD_REFINE = 4, GWYSCAN_DIRECTION_FORWARD_ALTERNATEBLOCK = 5
}
 Scan direction. More...
 
enum  GwyscanResult { GWYSCAN_SUCCESS = 0, GWYSCAN_DATA_ERROR = 1, GWYSCAN_WRITE_FAILED = 2, GWYSCAN_ALLOCATION_FAILED = 3 }
 Detailed information about an error. More...
 

Functions

GwyscanResult gwyscan_save_gwyddion_array (const double *data, int xres, int yres, double xreal, double yreal, const char *xyunit, const char *zunit, const char *description, const char *filename)
 Saves single array as a Gwyddion file. More...
 
GwyscanResult gwyscan_add_gwyddion_array (const double *data, int xres, int yres, double xreal, double yreal, const char *xyunit, const char *zunit, const char *description, const char *filename)
 Saves single array as a Gwyddion file, adding it as new channels if the file already exists. More...
 
GwyscanResult gwyscan_save_gwyddion_arrays_general (const double **data, int nchannels, const int *xres, const int *yres, const double *xreal, const double *yreal, const char **xyunit, const char **zunit, const char **description, const char *filename)
 Saves multiple arrays to a Gwyddion file. More...
 
GwyscanResult gwyscan_save_gwyddion_arrays (const double *data, int nchannels, int xres, int yres, double xreal, double yreal, const char **xyunit, const char **zunit, const char **description, const char *filename)
 Saves multiple arrays having same pixel resolution and same physical range into a Gwyddion file. More...
 
GwyscanResult gwyscan_save_gwyddion_xyz (const double *xypos, const double *zdata, int n, int nchannels, int xres, int yres, const char **description, const char *filename)
 Saves Gwyddion XYZ file. More...
 
GwyscanResult gwyscan_add_gwyddion_xyz (const double *xypos, const double *zdata, int n, int nchannels, int xres, int yres, const char **description, const char *filename, const char *tmp_filename, int *n_total)
 Adds XYZ data to existing Gwyddion XYZ file. More...
 
GwyscanResult gwyscan_generate_xyz_data (double *xypos, double *zdata, int n, double xreal, double yreal, double xoffset, double yoffset, int reserved)
 Fills pre-allocated data with a virtual random scan in requested physical range. More...
 
int gwyscan_create_path_regular (double *xypos, int xres, int yres, double xreal, double yreal, double xoffset, double yoffset, double angle, GwyscanDirection direction)
 Creates scan path for regular (equidistant) measurements. More...
 
int gwyscan_create_path_space_filling (double *xypos, int order, double xreal, double yreal, double xoffset, double yoffset)
 Creates scan path for equidistant measurement on a space-filling curve. More...
 
int gwyscan_create_path_space_filling_progressive (double *xypos, int order, int coarse_order, int skip_order, double xreal, double yreal, double xoffset, double yoffset)
 Creates scan path for equidistant measurement on a space-filling curve on progressive resolutions. More...
 
int gwyscan_create_path_spiral (double *xypos, int n, double xreal, double yreal, double xoffset, double yoffset)
 Creates spiral scan path incscribed to a rectangle on progressive resolutions. More...
 
int gwyscan_create_path_random (double *xypos, int n, double xreal, double yreal, double xoffset, double yoffset)
 Creates completely random path incscribed to a rectangle. More...
 
int gwyscan_create_path_octave_profiles (double *xypos, int order, int noctaves, int nprofiles, double xreal, double yreal, double xoffset, double yoffset)
 Creates randomized octave profile scans on progressive resolutions. More...
 
int gwyscan_create_path_octave_2d (double *xypos, int order, int noctaves, double xreal, double yreal, double xoffset, double yoffset)
 Creates two-dimensional octave profile scan starting from the finest resolution. More...
 
int gwyscan_create_path_wichmann_profiles (double *xypos, int n, int nprofiles, double xreal, double yreal, double xoffset, double yoffset)
 Creates Wichmann profile scans on progressive resolutions. More...
 
int gwyscan_create_path_lissajous (double *xypos, int a, double d, double xreal, double yreal, double xoffset, double yoffset, double angle, int *Ncp)
 Creates Lissajous profile scans. More...
 
int gwyscan_create_path_cycloid (double *xypos, double d, double xreal, double yreal, double xoffset, double yoffset, double angle)
 Creates cycloid profile scans. More...
 
int gwyscan_create_path_rosette (double *xypos, int a, double d, double xreal, double yreal, double xoffset, double yoffset, double angle, int *Ncp)
 
int gwyscan_modify_path_insert (double *xypos_dest, int *indexes, int *n_indexes, const double *xypos_source, int n_source, double xpos, double ypos, int interval)
 Inserts points to existing path. More...
 
void gwyscan_modify_path_revert (double *xypos_dest, const double *xypos_source, int n)
 Reverts existing path. More...
 
void gwyscan_modify_path_flip_horizontal (double *xypos_dest, const double *xypos_source, int n)
 Flips existing path horizontally. More...
 
void gwyscan_modify_path_flip_vertical (double *xypos_dest, const double *xypos_source, int n)
 Flips existing path vertically. More...
 
GwyscanResult gwyscan_preview (const double *xypos, const double *zdata, int n, int channel, double *preview_image, double *preview_mask, int preview_width, int preview_height, double preview_xreal, double preview_yreal, double preview_xoffset, double preview_yoffset, double preview_angle)
 Interpolates non-equidistant data onto a regular grid. More...
 
GwyscanResult gwyscan_preview_subset (const double *xypos, const double *zdata, int n, int from, int len, int channel_from, int channel_to, double **preview_images, double *preview_mask, int preview_width, int preview_height, double preview_xreal, double preview_yreal, double preview_xoffset, double preview_yoffset, double preview_angle)
 Interpolates non-equidistant data onto a regular grid in one channel. More...
 
GwyscanResult gwyscan_preview_subset_all_channels (const double *xypos, const double *zdata, int n, int from, int len, int nchannels, double **preview_images, double *preview_mask, int preview_width, int preview_height, double preview_xreal, double preview_yreal, double preview_xoffset, double preview_yoffset, double preview_angle)
 Quickly interpolates non-equidistant data onto a regular grid. More...
 
GwyscanResult gwyscan_preview_average (const double *xypos, const double *zdata, int n, int channel, double *preview_image, double *preview_mask, int preview_width, int preview_height, double preview_xreal, double preview_yreal, double preview_xoffset, double preview_yoffset, double preview_angle)
 Quickly interpolates non-equidistant data onto a regular grid. Uses fast average algorithm. More...
 
GwyscanResult gwyscan_preview_subset_average (const double *xypos, const double *zdata, int n, int from, int len, int channel_from, int channel_to, double **preview_images, double *preview_mask, int preview_width, int preview_height, double preview_xreal, double preview_yreal, double preview_xoffset, double preview_yoffset, double preview_angle)
 Quickly interpolates non-equidistant data onto a regular grid in one channel. More...
 
GwyscanResult gwyscan_preview_subset_average_all_channels (const double *xypos, const double *zdata, int n, int from, int len, int nchannels, double **preview_images, double *preview_mask, int preview_width, int preview_height, double preview_xreal, double preview_yreal, double preview_xoffset, double preview_yoffset, double preview_angle)
 Quickly interpolates non-equidistant data onto a regular grid. More...
 

Detailed Description

Gwyscan Library.

Macro Definition Documentation

#define MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Computes the minimum of x and y.