| Top |  |  |  |  | 
Data arithmetic functions perform simple operations combining several data fields. Their sizes have to be size-compatible, i.e. gwy_data_field_check_compatibility(operand1, operand2, GWY_DATA_COMPATIBILITY_RES) must pass and the same must hold for the data field to store the result to.
Functions gwy_data_field_check_compatibility(),
gwy_data_line_check_compatibility() and gwy_brick_check_compatibility()
simplify testing compatibility of data fields, lines and bricks,
respectively.
void gwy_data_field_sum_fields (GwyDataField *result,GwyDataField *operand1,GwyDataField *operand2);
Sums two data fields.
void gwy_data_field_subtract_fields (GwyDataField *result,GwyDataField *operand1,GwyDataField *operand2);
Subtracts one data field from another.
void gwy_data_field_divide_fields (GwyDataField *result,GwyDataField *operand1,GwyDataField *operand2);
Divides one data field with another.
void gwy_data_field_multiply_fields (GwyDataField *result,GwyDataField *operand1,GwyDataField *operand2);
Multiplies two data fields.
void gwy_data_field_min_of_fields (GwyDataField *result,GwyDataField *operand1,GwyDataField *operand2);
Finds point-wise maxima of two data fields.
void gwy_data_field_max_of_fields (GwyDataField *result,GwyDataField *operand1,GwyDataField *operand2);
Finds point-wise minima of two data fields.
void gwy_data_field_hypot_of_fields (GwyDataField *result,GwyDataField *operand1,GwyDataField *operand2);
Finds point-wise hypotenuse of two data fields.
| result | A data field to put the result to.  May be one of  | |
| operand1 | First data field operand. | |
| operand2 | Second data field operand. | 
Since: 2.31
GwyDataCompatibilityFlags gwy_data_field_check_compatibility (GwyDataField *data_field1,GwyDataField *data_field2,GwyDataCompatibilityFlags check);
Checks whether two data fields are compatible.
GwyDataCompatibilityFlags gwy_data_line_check_compatibility (GwyDataLine *data_line1,GwyDataLine *data_line2,GwyDataCompatibilityFlags check);
Checks whether two data lines are compatible.
GwyDataCompatibilityFlags gwy_brick_check_compatibility (GwyBrick *brick1,GwyBrick *brick2,GwyDataCompatibilityFlags check);
Checks whether two data bricks are compatible.
Real dimensions are checked without regard to calibration. Calibrations are considered compatible if either both exist and are identical or none exists.
| brick1 | A data brick. | |
| brick2 | Another data brick. | |
| check | The compatibility tests to perform. | 
Zero if all tested properties are compatible. Flags corresponding to failed tests if bricks are not compatible.
Since: 2.51
GwyDataCompatibilityFlags gwy_data_field_check_compatibility_with_brick_xy (GwyDataField *data_field,GwyBrick *brick,GwyDataCompatibilityFlags check);
Checks whether a data field is compatible with brick XY-planes.
| data_field | A two-dimensional data field. | |
| brick | A three-dimensional data brick. | |
| check | The compatibility tests to perform. | 
Zero if all tested properties are compatible. Flags corresponding to failed tests if the data objects are not compatible.
Since: 2.51
GwyDataCompatibilityFlags gwy_data_line_check_compatibility_with_brick_z (GwyDataLine *data_line,GwyBrick *brick,GwyDataCompatibilityFlags check);
Checks whether a data line is compatible with brick Z-profiles.
If check
 includes GWY_DATA_COMPATIBILITY_REAL or
GWY_DATA_COMPATIBILITY_LATERAL but not GWY_DATA_COMPATIBILITY_AXISCAL,
data_line
 is simply compared to brick
 in the Z direction.
If you include GWY_DATA_COMPATIBILITY_AXISCAL and brick
 has a
Z-calibration data line, then the value range and units of this data line
are compared to data_line
.  This may not be very useful.
| data_line | A one-dimensional data line. | |
| brick | A three-dimensional data brick. | |
| check | The compatibility tests to perform. | 
Zero if all tested properties are compatible. Flags corresponding to failed tests if the data objects are not compatible.
Since: 2.51
GwyDataField * gwy_data_field_extend (GwyDataField *data_field,guint left,guint right,guint up,guint down,GwyExteriorType exterior,gdouble fill_value,gboolean keep_offsets);
Creates a new data field by extending another data field using the specified method of exterior handling.
| data_field | A two-dimensional data field. | |
| left | Number of pixels to extend to the left (towards lower column indices). | |
| right | Number of pixels to extend to the right (towards higher column indices). | |
| up | Number of pixels to extend up (towards lower row indices). | |
| down | Number of pixels to extend down (towards higher row indices). | |
| exterior | Exterior pixels handling. | |
| fill_value | The value to use with  | |
| keep_offsets | 
 | 
Since: 2.36