GRASS 8 Programmer's Manual 8.6.0dev(2026)-ddeab64dbf
Loading...
Searching...
No Matches
defs/raster.h
Go to the documentation of this file.
1#ifndef GRASS_RASTERDEFS_H
2#define GRASS_RASTERDEFS_H
3
4#include <stdbool.h>
5
6#include <grass/gis.h>
7#include <grass/colors.h>
8
9/* --- ANSI prototypes for the lib/raster functions --- */
10
11/* align_window.c */
12void Rast_align_window(struct Cell_head *, const struct Cell_head *);
13
14/* alloc_cell.c */
20char *Rast_allocate_null_buf(void);
21unsigned char *Rast__allocate_null_bits(int);
23
29
35
36/* auto_mask.c */
38void Rast_suppress_masking(void);
40
41/* cats.c */
42int Rast_read_cats(const char *, const char *, struct Categories *);
43int Rast_read_vector_cats(const char *, const char *, struct Categories *);
44CELL Rast_get_max_c_cat(const char *, const char *);
45char *Rast_get_cats_title(const struct Categories *);
46char *Rast_get_c_cat(CELL *, struct Categories *);
47char *Rast_get_f_cat(FCELL *, struct Categories *);
48char *Rast_get_d_cat(DCELL *, struct Categories *);
49char *Rast_get_cat(void *, struct Categories *, RASTER_MAP_TYPE);
50void Rast_unmark_cats(struct Categories *);
51void Rast_mark_c_cats(const CELL *, int, struct Categories *);
52void Rast_mark_f_cats(const FCELL *, int, struct Categories *);
53void Rast_mark_d_cats(const DCELL *, int, struct Categories *);
54int Rast_mark_cats(const void *, int, struct Categories *, RASTER_MAP_TYPE);
55void Rast_rewind_cats(struct Categories *);
56char *Rast_get_next_marked_d_cat(struct Categories *, DCELL *, DCELL *, long *);
57char *Rast_get_next_marked_c_cat(struct Categories *, CELL *, CELL *, long *);
58char *Rast_get_next_marked_f_cat(struct Categories *, FCELL *, FCELL *, long *);
59char *Rast_get_next_marked_cat(struct Categories *, void *, void *, long *,
61int Rast_set_c_cat(const CELL *, const CELL *, const char *,
62 struct Categories *);
63int Rast_set_f_cat(const FCELL *, const FCELL *, const char *,
64 struct Categories *);
65int Rast_set_d_cat(const DCELL *, const DCELL *, const char *,
66 struct Categories *);
67int Rast_set_cat(const void *, const void *, const char *, struct Categories *,
69void Rast_write_cats(const char *, struct Categories *);
70void Rast_write_vector_cats(const char *, struct Categories *);
71char *Rast_get_ith_d_cat(const struct Categories *, int, DCELL *, DCELL *);
72char *Rast_get_ith_f_cat(const struct Categories *, int, void *, void *);
73char *Rast_get_ith_c_cat(const struct Categories *, int, void *, void *);
74char *Rast_get_ith_cat(const struct Categories *, int, void *, void *,
76void Rast_init_cats(const char *, struct Categories *);
77void Rast_set_cats_title(const char *, struct Categories *);
78void Rast_set_cats_fmt(const char *, double, double, double, double,
79 struct Categories *);
80void Rast_free_cats(struct Categories *);
81void Rast_copy_cats(struct Categories *, const struct Categories *);
83int Rast_sort_cats(struct Categories *);
84
85/* cell_stats.c */
86void Rast_init_cell_stats(struct Cell_stats *);
87int Rast_update_cell_stats(const CELL *, int, struct Cell_stats *);
88int Rast_find_cell_stat(CELL, long *, const struct Cell_stats *);
90int Rast_next_cell_stat(CELL *, long *, struct Cell_stats *);
91void Rast_get_stats_for_null_value(long *, const struct Cell_stats *);
92void Rast_free_cell_stats(struct Cell_stats *);
93
94/* cell_title.c */
95char *Rast_get_cell_title(const char *, const char *);
96
97/* cellstats_eq.c */
99 void (*)(CELL, CELL, CELL));
100
101/* close.c */
102void Rast_close(int);
103void Rast_unopen(int);
104void Rast__unopen_all(void);
105void Rast__close_null(int);
106
107/* color_compat.c */
108void Rast_make_ryg_colors(struct Colors *, CELL, CELL);
110void Rast_make_aspect_colors(struct Colors *, CELL, CELL);
112void Rast_make_byr_colors(struct Colors *, CELL, CELL);
114void Rast_make_bgyr_colors(struct Colors *, CELL, CELL);
116void Rast_make_byg_colors(struct Colors *, CELL, CELL);
120void Rast_make_gyr_colors(struct Colors *, CELL, CELL);
124void Rast_make_ramp_colors(struct Colors *, CELL, CELL);
126void Rast_make_wave_colors(struct Colors *, CELL, CELL);
128
129/* color_free.c */
130void Rast_free_colors(struct Colors *);
134void Rast__color_reset(struct Colors *);
135
136/* color_get.c */
137int Rast_get_color(const void *, int *, int *, int *, struct Colors *,
139int Rast_get_c_color(const CELL *, int *, int *, int *, struct Colors *);
140int Rast_get_f_color(const FCELL *, int *, int *, int *, struct Colors *);
141int Rast_get_d_color(const DCELL *, int *, int *, int *, struct Colors *);
142void Rast_get_null_value_color(int *, int *, int *, const struct Colors *);
143void Rast_get_default_color(int *, int *, int *, const struct Colors *);
144
145/* color_hist.c */
146void Rast_make_histogram_eq_colors(struct Colors *, struct Cell_stats *);
147void Rast_make_histogram_log_colors(struct Colors *, struct Cell_stats *, int,
148 int);
149
150/* color_init.c */
151void Rast_init_colors(struct Colors *);
152
153/* color_insrt.c */
154int Rast__insert_color_into_lookup(CELL, int, int, int, struct _Color_Info_ *);
155
156/* color_invrt.c */
157void Rast_invert_colors(struct Colors *);
158
159/* color_look.c */
160void Rast_lookup_c_colors(const CELL *, unsigned char *, unsigned char *,
161 unsigned char *, unsigned char *, int,
162 struct Colors *);
163void Rast_lookup_colors(const void *, unsigned char *, unsigned char *,
164 unsigned char *, unsigned char *, int, struct Colors *,
166void Rast_lookup_f_colors(const FCELL *, unsigned char *, unsigned char *,
167 unsigned char *, unsigned char *, int,
168 struct Colors *);
169void Rast_lookup_d_colors(const DCELL *, unsigned char *, unsigned char *,
170 unsigned char *, unsigned char *, int,
171 struct Colors *);
172void Rast__lookup_colors(const void *, unsigned char *, unsigned char *,
173 unsigned char *, unsigned char *, int, struct Colors *,
174 int, int, RASTER_MAP_TYPE);
175void Rast__interpolate_color_rule(DCELL, unsigned char *, unsigned char *,
176 unsigned char *, const struct _Color_Rule_ *);
177
178/* color_org.c */
179void Rast__organize_colors(struct Colors *);
180
181/* color_out.c */
182void Rast_print_colors(struct Colors *, DCELL, DCELL, FILE *, int);
183
184/* json_color_out.c */
185void Rast_print_json_colors(struct Colors *, DCELL, DCELL, FILE *, int,
187
188/* color_rand.c */
189void Rast_make_random_colors(struct Colors *, CELL, CELL);
190
191/* color_range.c */
192void Rast_set_c_color_range(CELL, CELL, struct Colors *);
194void Rast_get_c_color_range(CELL *, CELL *, const struct Colors *);
195void Rast_get_d_color_range(DCELL *, DCELL *, const struct Colors *);
196
197/* color_read.c */
198int Rast_read_colors(const char *, const char *, struct Colors *);
199int Rast__read_colors(const char *, const char *, const char *,
200 struct Colors *);
201void Rast_mark_colors_as_fp(struct Colors *);
202
203/* color_remove.c */
204int Rast_remove_colors(const char *, const char *);
205
206/* color_rule.c */
207void Rast_add_d_color_rule(const DCELL *, int, int, int, const DCELL *, int,
208 int, int, struct Colors *);
209void Rast_add_f_color_rule(const FCELL *, int, int, int, const FCELL *, int,
210 int, int, struct Colors *);
211void Rast_add_c_color_rule(const CELL *, int, int, int, const CELL *, int, int,
212 int, struct Colors *);
213void Rast_add_color_rule(const void *, int, int, int, const void *, int, int,
214 int, struct Colors *, RASTER_MAP_TYPE);
215int Rast_add_modular_d_color_rule(const DCELL *, int, int, int, const DCELL *,
216 int, int, int, struct Colors *);
217int Rast_add_modular_f_color_rule(const FCELL *, int, int, int, const FCELL *,
218 int, int, int, struct Colors *);
219int Rast_add_modular_c_color_rule(const CELL *, int, int, int, const CELL *,
220 int, int, int, struct Colors *);
221int Rast_add_modular_color_rule(const void *, int, int, int, const void *, int,
222 int, int, struct Colors *, RASTER_MAP_TYPE);
223
224/* color_rule_get.c */
225int Rast_colors_count(const struct Colors *);
226int Rast_get_fp_color_rule(DCELL *, unsigned char *, unsigned char *,
227 unsigned char *, DCELL *, unsigned char *,
228 unsigned char *, unsigned char *,
229 const struct Colors *, int);
230
231/* color_rules.c */
232typedef int read_rule_fn(void *, DCELL, DCELL, DCELL *, int *, int *, int *,
233 int *, int *, int *);
234int Rast_parse_color_rule(DCELL, DCELL, const char *, DCELL *, int *, int *,
235 int *, int *, int *, int *);
236const char *Rast_parse_color_rule_error(int);
237int Rast_read_color_rule(void *, DCELL, DCELL, DCELL *, int *, int *, int *,
238 int *, int *, int *);
240 void *);
241int Rast_load_colors(struct Colors *, const char *, CELL, CELL);
242int Rast_load_fp_colors(struct Colors *, const char *, DCELL, DCELL);
243void Rast_make_colors(struct Colors *, const char *, CELL, CELL);
244void Rast_make_fp_colors(struct Colors *, const char *, DCELL, DCELL);
245
246/* color_set.c */
247void Rast_set_c_color(CELL, int, int, int, struct Colors *);
248void Rast_set_d_color(DCELL, int, int, int, struct Colors *);
249void Rast_set_null_value_color(int, int, int, struct Colors *);
250void Rast_set_default_color(int, int, int, struct Colors *);
251
252/* color_shift.c */
253void Rast_shift_c_colors(CELL, struct Colors *);
254void Rast_shift_d_colors(DCELL, struct Colors *);
255
256/* color_write.c */
257void Rast_write_colors(const char *, const char *, struct Colors *);
258void Rast__write_colors(FILE *, struct Colors *);
259
260/* color_xform.c */
261void Rast_histogram_eq_colors(struct Colors *, struct Colors *,
262 struct Cell_stats *);
263void Rast_histogram_eq_fp_colors(struct Colors *, struct Colors *,
264 struct FP_stats *);
265void Rast_log_colors(struct Colors *, struct Colors *, int);
266void Rast_abs_log_colors(struct Colors *, struct Colors *, int);
267
268/* format.c */
269int Rast__check_format(int);
270int Rast__read_row_ptrs(int);
271int Rast__read_null_row_ptrs(int, int);
272int Rast__write_row_ptrs(int);
273int Rast__write_null_row_ptrs(int, int);
274
275/* fpreclass.c */
276void Rast_fpreclass_clear(struct FPReclass *);
277void Rast_fpreclass_reset(struct FPReclass *);
278void Rast_fpreclass_init(struct FPReclass *);
281int Rast_fpreclass_get_limits(const struct FPReclass *, DCELL *, DCELL *,
282 DCELL *, DCELL *);
283int Rast_fpreclass_nof_rules(const struct FPReclass *);
284void Rast_fpreclass_get_ith_rule(const struct FPReclass *, int, DCELL *,
285 DCELL *, DCELL *, DCELL *);
288 DCELL *);
291 DCELL *);
295void Rast_fpreclass_perform_di(const struct FPReclass *, const DCELL *, CELL *,
296 int);
297void Rast_fpreclass_perform_df(const struct FPReclass *, const DCELL *, FCELL *,
298 int);
299void Rast_fpreclass_perform_dd(const struct FPReclass *, const DCELL *, DCELL *,
300 int);
301void Rast_fpreclass_perform_fi(const struct FPReclass *, const FCELL *, CELL *,
302 int);
303void Rast_fpreclass_perform_ff(const struct FPReclass *, const FCELL *, FCELL *,
304 int);
305void Rast_fpreclass_perform_fd(const struct FPReclass *, const FCELL *, DCELL *,
306 int);
307void Rast_fpreclass_perform_ii(const struct FPReclass *, const CELL *, CELL *,
308 int);
309void Rast_fpreclass_perform_if(const struct FPReclass *, const CELL *, FCELL *,
310 int);
311void Rast_fpreclass_perform_id(const struct FPReclass *, const CELL *, DCELL *,
312 int);
313/* gdal.c */
314void Rast_init_gdal(void);
315struct GDAL_link *Rast_get_gdal_link(const char *, const char *);
316struct GDAL_link *Rast_create_gdal_link(const char *, RASTER_MAP_TYPE);
317void Rast_close_gdal_link(struct GDAL_link *);
319
320/* get_cellhd.c */
321void Rast_get_cellhd(const char *, const char *, struct Cell_head *);
322
323/* get_row.c */
324void Rast_get_row_nomask(int, void *, int, RASTER_MAP_TYPE);
325void Rast_get_c_row_nomask(int, CELL *, int);
326void Rast_get_f_row_nomask(int, FCELL *, int);
327void Rast_get_d_row_nomask(int, DCELL *, int);
328void Rast_get_row(int, void *, int, RASTER_MAP_TYPE);
329void Rast_get_c_row(int, CELL *, int);
330void Rast_get_f_row(int, FCELL *, int);
331void Rast_get_d_row(int, DCELL *, int);
332void Rast_get_null_value_row(int, char *, int);
333int Rast__read_null_bits(int, int, unsigned char *);
334
335/* get_row_colr.c */
336void Rast_get_row_colors(int, int, struct Colors *, unsigned char *,
337 unsigned char *, unsigned char *, unsigned char *);
338/* histo_eq.c */
339void Rast_histogram_eq(const struct Histogram *, unsigned char **, CELL *,
340 CELL *);
341
342/* histogram.c */
343void Rast_init_histogram(struct Histogram *);
344int Rast_read_histogram(const char *, const char *, struct Histogram *);
345void Rast_write_histogram(const char *, const struct Histogram *);
346void Rast_write_histogram_cs(const char *, struct Cell_stats *);
347void Rast_make_histogram_cs(struct Cell_stats *, struct Histogram *);
348int Rast_get_histogram_num(const struct Histogram *);
349CELL Rast_get_histogram_cat(int, const struct Histogram *);
350long Rast_get_histogram_count(int, const struct Histogram *);
351void Rast_free_histogram(struct Histogram *);
352int Rast_sort_histogram(struct Histogram *);
354void Rast_remove_histogram(const char *);
355int Rast_add_histogram(CELL, long, struct Histogram *);
356int Rast_set_histogram(CELL, long, struct Histogram *);
357void Rast_extend_histogram(CELL, long, struct Histogram *);
358void Rast_zero_histogram(struct Histogram *);
359
360/* history.c */
361int Rast__read_history(struct History *, FILE *);
362int Rast_read_history(const char *, const char *, struct History *);
363void Rast__write_history(struct History *, FILE *);
364void Rast_write_history(const char *, struct History *);
365void Rast_short_history(const char *, const char *, struct History *);
366int Rast_command_history(struct History *);
367void Rast_append_history(struct History *, const char *);
368void Rast_append_format_history(struct History *, const char *, ...)
369 __attribute__((format(printf, 2, 3)));
370const char *Rast_get_history(struct History *, int);
371void Rast_set_history(struct History *, int, const char *);
372void Rast_format_history(struct History *, int, const char *, ...)
373 __attribute__((format(printf, 3, 4)));
374void Rast_clear_history(struct History *);
375void Rast_free_history(struct History *);
376int Rast_history_length(struct History *);
377const char *Rast_history_line(struct History *, int);
378
379/* init.c */
380void Rast_init(void);
381void Rast__check_init(void);
382void Rast_init_all(void);
383void Rast__init(void);
384void Rast__error_handler(void *);
385
386/* interp.c */
388DCELL Rast_interp_bilinear(double, double, DCELL, DCELL, DCELL, DCELL);
393DCELL Rast_interp_lanczos(double, double, DCELL *);
398int Rast_option_to_interp_type(const struct Option *);
399
400/* mask_info.c */
401char *Rast_mask_info(void);
402char *Rast_mask_name(void);
403bool Rast_mask_status(char *, char *, bool *, char[GNAME_MAX],
404 char[GMAPSET_MAX]);
405int Rast__mask_info(char *, char *);
406bool Rast_mask_is_present(void);
408
409/* maskfd.c */
410int Rast_maskfd(void);
411
412/* null_val.c */
413#define Rast_is_c_null_value(cellVal) \
414 (*(const CELL *)(cellVal) == (CELL)0x80000000)
415#define Rast_is_f_null_value(fcellVal) \
416 (*(const FCELL *)(fcellVal) != *(const FCELL *)(fcellVal))
417#define Rast_is_d_null_value(dcellVal) \
418 (*(const DCELL *)(dcellVal) != *(const DCELL *)(dcellVal))
419
420void Rast__set_null_value(void *, int, int, RASTER_MAP_TYPE);
421void Rast_set_null_value(void *, int, RASTER_MAP_TYPE);
422void Rast_set_c_null_value(CELL *, int);
423void Rast_set_f_null_value(FCELL *, int);
424void Rast_set_d_null_value(DCELL *, int);
425int Rast_is_null_value(const void *, RASTER_MAP_TYPE);
426
427#ifndef Rast_is_c_null_value
428int Rast_is_c_null_value(const CELL *);
429#endif
430#ifndef Rast_is_f_null_value
431int Rast_is_f_null_value(const FCELL *);
432#endif
433#ifndef Rast_is_d_null_value
434int Rast_is_d_null_value(const DCELL *);
435#endif
436void Rast_insert_null_values(void *, char *, int, RASTER_MAP_TYPE);
437void Rast_insert_c_null_values(CELL *, char *, int);
438void Rast_insert_f_null_values(FCELL *, char *, int);
439void Rast_insert_d_null_values(DCELL *, char *, int);
440int Rast__check_null_bit(const unsigned char *, int, int);
441void Rast__convert_01_flags(const char *, unsigned char *, int);
442void Rast__convert_flags_01(char *, const unsigned char *, int);
443void Rast__init_null_bits(unsigned char *, int);
444
445/* open.c */
446int Rast_open_old(const char *, const char *);
447int Rast__open_old(const char *, const char *);
448int Rast_open_c_new(const char *);
449int Rast_open_c_new_uncompressed(const char *);
450void Rast_want_histogram(int);
451void Rast_set_cell_format(int);
453int Rast_open_fp_new(const char *);
454int Rast_open_fp_new_uncompressed(const char *);
456int Rast_map_is_fp(const char *, const char *);
457RASTER_MAP_TYPE Rast_map_type(const char *, const char *);
458RASTER_MAP_TYPE Rast__check_fp_type(const char *, const char *);
460int Rast_open_new(const char *, RASTER_MAP_TYPE);
462void Rast_set_quant_rules(int, struct Quant *);
463int Rast__open_null_write(const char *);
464
465/* put_cellhd.c */
466void Rast_put_cellhd(const char *, struct Cell_head *);
467
468/* put_row.c */
469void Rast_put_row(int, const void *, RASTER_MAP_TYPE);
470void Rast_put_c_row(int, const CELL *);
471void Rast_put_f_row(int, const FCELL *);
472void Rast_put_d_row(int, const DCELL *);
473void Rast__write_null_bits(int, const unsigned char *);
474
475/* put_title.c */
476int Rast_put_cell_title(const char *, const char *);
477
478/* quant.c */
479void Rast_quant_clear(struct Quant *);
480void Rast_quant_free(struct Quant *);
482void Rast_quant_init(struct Quant *);
483int Rast_quant_is_truncate(const struct Quant *);
484int Rast_quant_is_round(const struct Quant *);
485void Rast_quant_truncate(struct Quant *);
486void Rast_quant_round(struct Quant *);
487int Rast_quant_get_limits(const struct Quant *, DCELL *, DCELL *, CELL *,
488 CELL *);
489int Rast_quant_nof_rules(const struct Quant *);
490void Rast_quant_get_ith_rule(const struct Quant *, int, DCELL *, DCELL *,
491 CELL *, CELL *);
493int Rast_quant_get_neg_infinite_rule(const struct Quant *, DCELL *, CELL *);
495int Rast_quant_get_pos_infinite_rule(const struct Quant *, DCELL *, CELL *);
496void Rast_quant_add_rule(struct Quant *, DCELL, DCELL, CELL, CELL);
499void Rast_quant_perform_d(struct Quant *, const DCELL *, CELL *, int);
500void Rast_quant_perform_f(struct Quant *, const FCELL *, CELL *, int);
502 DCELL);
503
504/* quant_io.c */
505int Rast__quant_import(const char *, const char *, struct Quant *);
506int Rast__quant_export(const char *, const char *, const struct Quant *);
507
508/* quant_rw.c */
509void Rast_truncate_fp_map(const char *, const char *);
510void Rast_round_fp_map(const char *, const char *);
511void Rast_quantize_fp_map(const char *, const char *, CELL, CELL);
512void Rast_quantize_fp_map_range(const char *, const char *, DCELL, DCELL, CELL,
513 CELL);
514void Rast_write_quant(const char *, const char *, const struct Quant *);
515int Rast_read_quant(const char *, const char *, struct Quant *);
516
517/* range.c */
518void Rast__remove_fp_range(const char *);
520int Rast_read_fp_range(const char *, const char *, struct FPRange *);
521int Rast_read_range(const char *, const char *, struct Range *);
522void Rast_write_range(const char *, const struct Range *);
523void Rast_write_fp_range(const char *, const struct FPRange *);
524void Rast_update_range(CELL, struct Range *);
525void Rast_update_fp_range(DCELL, struct FPRange *);
526void Rast_row_update_range(const CELL *, int, struct Range *);
527void Rast__row_update_range(const CELL *, int, struct Range *, int);
528void Rast_row_update_fp_range(const void *, int, struct FPRange *,
530void Rast_init_range(struct Range *);
531void Rast_get_range_min_max(const struct Range *, CELL *, CELL *);
532void Rast_init_fp_range(struct FPRange *);
533void Rast_get_fp_range_min_max(const struct FPRange *, DCELL *, DCELL *);
534
535int Rast_read_rstats(const char *, const char *, struct R_stats *);
536void Rast_write_rstats(const char *, const struct R_stats *);
537
538/* raster.c */
539int Rast_raster_cmp(const void *, const void *, RASTER_MAP_TYPE);
540void Rast_raster_cpy(void *, const void *, int, RASTER_MAP_TYPE);
547
548/* raster_metadata.c */
549char *Rast_read_units(const char *, const char *);
550char *Rast_read_vdatum(const char *, const char *);
551char *Rast_read_semantic_label(const char *, const char *);
552char *Rast_get_semantic_label_or_name(const char *, const char *);
553void Rast_write_units(const char *, const char *);
554void Rast_write_vdatum(const char *, const char *);
555void Rast_write_semantic_label(const char *, const char *);
556bool Rast_legal_semantic_label(const char *);
557
558/* rast_to_img_string.c */
559int Rast_map_to_img_str(char *, int, unsigned char *);
560
561/* reclass.c */
562int Rast_is_reclass(const char *, const char *, char[GNAME_MAX],
563 char[GMAPSET_MAX]);
564int Rast_is_reclassed_to(const char *, const char *, int *, char ***);
565int Rast_get_reclass(const char *, const char *, struct Reclass *);
566void Rast_free_reclass(struct Reclass *);
567int Rast_put_reclass(const char *, const struct Reclass *);
568
569/* sample.c */
570DCELL Rast_get_sample_nearest(int, const struct Cell_head *,
571 struct Categories *, double, double, int);
572DCELL Rast_get_sample_bilinear(int, const struct Cell_head *,
573 struct Categories *, double, double, int);
574DCELL Rast_get_sample_cubic(int, const struct Cell_head *, struct Categories *,
575 double, double, int);
576DCELL Rast_get_sample(int, const struct Cell_head *, struct Categories *,
577 double, double, int, INTERP_TYPE);
578
579/* set_window.c */
580void Rast__init_window(void);
581void Rast_set_window(struct Cell_head *);
582void Rast_unset_window(void);
583void Rast_set_output_window(struct Cell_head *);
584void Rast_set_input_window(struct Cell_head *);
585
586/* vrt.c */
587struct R_vrt *Rast_get_vrt(const char *, const char *);
588void Rast_close_vrt(struct R_vrt *);
589int Rast_get_vrt_row(int, void *, int, RASTER_MAP_TYPE);
590
591/* window.c */
592void Rast_get_window(struct Cell_head *);
593void Rast_get_input_window(struct Cell_head *);
594void Rast_get_output_window(struct Cell_head *);
595int Rast_window_rows(void);
596int Rast_window_cols(void);
597int Rast_input_window_rows(void);
598int Rast_input_window_cols(void);
601double Rast_northing_to_row(double, const struct Cell_head *);
602double Rast_easting_to_col(double, const struct Cell_head *);
603double Rast_row_to_northing(double, const struct Cell_head *);
604double Rast_col_to_easting(double, const struct Cell_head *);
605
606/* window_map.c */
608int Rast_row_repeat_nomask(int, int);
609
610/* zero_cell.c */
611void Rast_zero_buf(void *, RASTER_MAP_TYPE);
614
615#endif /* GRASS_RASTERDEFS_H */
ColorFormat
Color format identifiers (enum)
Definition colors.h:55
#define __attribute__(x)
Definition defs/glocale.h:6
int Rast_map_to_img_str(char *, int, unsigned char *)
int Rast_output_window_rows(void)
Number of rows in active output window.
void Rast_fpreclass_perform_fd(const struct FPReclass *, const FCELL *, DCELL *, int)
Definition fpreclass.c:647
int Rast_is_null_value(const void *, RASTER_MAP_TYPE)
To check if a raster value is set to NULL.
Definition null_val.c:176
void Rast_put_cellhd(const char *, struct Cell_head *)
Writes the raster file header.
Definition put_cellhd.c:28
char * Rast_get_cats_title(const struct Categories *)
Get title from category structure struct.
int Rast_sort_histogram(struct Histogram *)
Sorts the histogram.
Definition histogram.c:216
void Rast_print_json_colors(struct Colors *, DCELL, DCELL, FILE *, int, ColorFormat)
Print color table in JSON format.
void Rast_align_window(struct Cell_head *, const struct Cell_head *)
Align two regions.
void Rast_write_units(const char *, const char *)
Write a string to a raster map's units metadata file.
DCELL * Rast_allocate_d_output_buf(void)
Definition alloc_cell.c:195
int Rast_set_d_cat(const DCELL *, const DCELL *, const char *, struct Categories *)
Set a raster category label (DCELL)
void Rast_insert_c_null_values(CELL *, char *, int)
To insert null values into an integer raster map (CELL)
Definition null_val.c:292
void Rast_rewind_cats(struct Categories *)
Rewind raster categories.
void Rast_set_output_window(struct Cell_head *)
Establishes 'window' as the current working window for output.
DCELL Rast_interp_bilinear(double, double, DCELL, DCELL, DCELL, DCELL)
Definition interp.c:26
void Rast__init_window(void)
int Rast_colors_count(const struct Colors *)
Get both modular and fixed rules count.
void Rast_make_aspect_colors(struct Colors *, CELL, CELL)
Make aspect colors (integer)
void Rast_free_cats(struct Categories *)
Free category structure memory.
int Rast__read_null_row_ptrs(int, int)
void Rast_init(void)
Initialize GRASS engine.
Definition raster/init.c:42
void Rast_init_all(void)
void Rast__row_update_range(const CELL *, int, struct Range *, int)
Update range structure based on raster row.
char * Rast_get_ith_c_cat(const struct Categories *, int, void *, void *)
Get category description (CELL)
char * Rast_get_next_marked_f_cat(struct Categories *, FCELL *, FCELL *, long *)
Get next marked raster categories (FCELL)
bool Rast_legal_semantic_label(const char *)
Check for legal semantic label.
void Rast_insert_f_null_values(FCELL *, char *, int)
To insert null values into an floating-point raster map (FCELL)
Definition null_val.c:304
void Rast_fpreclass_reset(struct FPReclass *)
Definition fpreclass.c:267
void Rast_construct_default_range(struct Range *)
Construct default range.
CELL * Rast_allocate_c_buf(void)
Allocate memory for a CELL type raster map.
Definition alloc_cell.c:80
void Rast_write_histogram_cs(const char *, struct Cell_stats *)
Writes the histogram based on cell statistics to file.
Definition histogram.c:108
void Rast_add_color_rule(const void *, int, int, int, const void *, int, int, int, struct Colors *, RASTER_MAP_TYPE)
Adds the color rule.
Definition color_rule.c:104
void Rast_set_c_color(CELL, int, int, int, struct Colors *)
Set a category color (CELL)
Definition color_set.c:41
DCELL * Rast_allocate_d_buf(void)
Allocates memory for a raster map of type DCELL.
Definition alloc_cell.c:106
void Rast_add_d_color_rule(const DCELL *, int, int, int, const DCELL *, int, int, int, struct Colors *)
Adds the floating-point color rule (DCELL version)
Definition color_rule.c:38
int Rast__insert_color_into_lookup(CELL, int, int, int, struct _Color_Info_ *)
Definition color_insrt.c:18
int Rast_put_reclass(const char *, const struct Reclass *)
Put reclass.
Definition reclass.c:317
int Rast_get_histogram_num(const struct Histogram *)
Sorts the histogram in ascending order by counts then category.
Definition histogram.c:155
void Rast_get_c_row_nomask(int, CELL *, int)
Read raster row without masking (CELL type)
int Rast_quant_get_neg_infinite_rule(const struct Quant *, DCELL *, CELL *)
Returns in "dLeft" and "c" the rule values.
Definition quant.c:390
void Rast_fpreclass_perform_ff(const struct FPReclass *, const FCELL *, FCELL *, int)
Definition fpreclass.c:633
int Rast_cell_stats_histo_eq(struct Cell_stats *, CELL, CELL, CELL, CELL, int, void(*)(CELL, CELL, CELL))
Definition cellstats_eq.c:4
int Rast__null_bitstream_size(int)
Determines null bitstream size.
Definition alloc_cell.c:146
int Rast__check_for_auto_masking(void)
Checks for auto masking.
Definition auto_mask.c:33
CELL Rast_quant_get_cell_value(struct Quant *, DCELL)
Returns a CELL category for the floating-point value based on the quantization rules in q....
Definition quant.c:592
CELL Rast_get_c_value(const void *, RASTER_MAP_TYPE)
Retrieves the value of give type from pointer p.
void Rast_clear_history(struct History *)
void Rast_quant_round(struct Quant *)
Sets the quant rules to perform simple rounding on floats.
Definition quant.c:230
void Rast_make_ramp_colors(struct Colors *, CELL, CELL)
Make color ramp (integer)
void Rast_fpreclass_reverse_rule_order(struct FPReclass *)
Definition fpreclass.c:482
void Rast_append_history(struct History *, const char *)
Append a string to a History structure.
int Rast_get_c_color(const CELL *, int *, int *, int *, struct Colors *)
Gets color from raster map (CELL)
Definition color_get.c:67
int Rast_fpreclass_get_limits(const struct FPReclass *, DCELL *, DCELL *, DCELL *, DCELL *)
Definition fpreclass.c:332
void Rast_make_aspect_fp_colors(struct Colors *, DCELL, DCELL)
Make aspect colors (floating-point)
int Rast_read_colors(const char *, const char *, struct Colors *)
Read color table of raster map.
int Rast_read_cats(const char *, const char *, struct Categories *)
Read raster category file.
CELL * Rast_allocate_c_output_buf(void)
Definition alloc_cell.c:185
void Rast_mark_f_cats(const FCELL *, int, struct Categories *)
Looks up the category label for each raster value (FCELL).
unsigned char * Rast__allocate_null_bits(int)
Allocates memory for null bits.
Definition alloc_cell.c:133
void Rast_free_histogram(struct Histogram *)
Frees memory allocated for the histogram.
Definition histogram.c:199
void Rast__unopen_all(void)
Unopen all raster maps.
int Rast__open_null_write(const char *)
int Rast_get_reclass(const char *, const char *, struct Reclass *)
Get reclass.
Definition reclass.c:140
void Rast_mark_c_cats(const CELL *, int, struct Categories *)
Looks up the category label for each raster value (CELL).
int Rast_add_modular_color_rule(const void *, int, int, int, const void *, int, int, int, struct Colors *, RASTER_MAP_TYPE)
Add modular color rule.
Definition color_rule.c:218
#define Rast_is_f_null_value(fcellVal)
void Rast_close_gdal_link(struct GDAL_link *)
Close existing GDAL link.
Definition gdal.c:380
void Rast_extend_histogram(CELL, long, struct Histogram *)
Extends histogram struct to accommodate a new value.
Definition histogram.c:392
void Rast_get_window(struct Cell_head *)
Read the current window.
void Rast_histogram_eq(const struct Histogram *, unsigned char **, CELL *, CELL *)
Definition histo_eq.c:14
void Rast_get_output_window(struct Cell_head *)
Read the current output window.
void Rast_lookup_f_colors(const FCELL *, unsigned char *, unsigned char *, unsigned char *, unsigned char *, int, struct Colors *)
Lookup an array of colors (FCELL)
Definition color_look.c:112
double Rast_easting_to_col(double, const struct Cell_head *)
Easting to column.
int Rast_input_window_rows(void)
Number of rows in active input window.
int Rast_get_vrt_row(int, void *, int, RASTER_MAP_TYPE)
Definition vrt.c:171
int Rast_open_new_uncompressed(const char *, RASTER_MAP_TYPE)
Opens a new raster map (uncompressed)
void Rast_unset_window(void)
Unset current window.
int Rast_read_fp_range(const char *, const char *, struct FPRange *)
Read floating-point range.
void Rast_make_ryg_fp_colors(struct Colors *, DCELL, DCELL)
Create RYG color table (floating-point)
void Rast_make_byr_fp_colors(struct Colors *, DCELL, DCELL)
Create BYR color table (floating-point)
int Rast__read_colors(const char *, const char *, const char *, struct Colors *)
int Rast__check_format(int)
void Rast__write_history(struct History *, FILE *)
void Rast_unopen(int)
Unopen a raster map.
void Rast_want_histogram(int)
Save histogram for newly create raster map (cell)
RASTER_MAP_TYPE Rast__check_fp_type(const char *, const char *)
Determines whether the floating points cell file has double or float type.
void Rast_quant_set_pos_infinite_rule(struct Quant *, DCELL, CELL)
Defines a rule for values "dRight" and larger.
Definition quant.c:412
void Rast_write_histogram(const char *, const struct Histogram *)
Writes the histogram information.
Definition histogram.c:84
int Rast__mask_info(char *, char *)
Get information about the current mask.
Definition mask_info.c:179
void Rast_close(int)
Close a raster map.
int Rast__quant_organize_fp_lookup(struct Quant *)
Organized fp_lookup table.
Definition quant.c:90
void Rast_quantize_fp_map(const char *, const char *, CELL, CELL)
Write quant rules (f_quant) for floating-point raster map.
Definition quant_rw.c:81
long Rast_get_histogram_count(int, const struct Histogram *)
Returns count for the nth element in the histogram.
Definition histogram.c:184
void Rast_set_null_value_color(int, int, int, struct Colors *)
Set color for NULL-value.
Definition color_set.c:79
void Rast_write_vector_cats(const char *, struct Categories *)
Write vector category file.
void Rast_insert_d_null_values(DCELL *, char *, int)
To insert null values into an floating-point raster map (FCELL)
Definition null_val.c:319
DCELL Rast_get_sample(int, const struct Cell_head *, struct Categories *, double, double, int, INTERP_TYPE)
Extract a cell value from raster map.
Definition sample.c:49
void Rast_set_c_color_range(CELL, CELL, struct Colors *)
Set color range (CELL version)
Definition color_range.c:24
void Rast_make_grey_scale_colors(struct Colors *, CELL, CELL)
Make linear grey scale (integer)
DCELL Rast_interp_bicubic(double, double, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL)
Definition interp.c:44
void Rast_print_colors(struct Colors *, DCELL, DCELL, FILE *, int)
Print color table.
Definition color_out.c:42
int Rast_quant_get_limits(const struct Quant *, DCELL *, DCELL *, CELL *, CELL *)
Returns the minimum and maximum cell and dcell values of all the ranges defined.
Definition quant.c:281
void Rast_make_histogram_cs(struct Cell_stats *, struct Histogram *)
Creates histogram based on cell statistics.
Definition histogram.c:132
void Rast_fpreclass_add_rule(struct FPReclass *, DCELL, DCELL, DCELL, DCELL)
Definition fpreclass.c:451
int Rast_put_cell_title(const char *, const char *)
Definition put_title.c:15
void Rast_quant_free(struct Quant *)
Resets and frees allocated memory.
Definition quant.c:55
void Rast_make_rainbow_fp_colors(struct Colors *, DCELL, DCELL)
Make rainbow colors (floating-point)
void Rast__color_reset(struct Colors *)
Reset colors structure.
Definition color_free.c:98
void Rast_set_d_null_value(DCELL *, int)
To set a number of DCELL raster values to NULL.
Definition null_val.c:153
void Rast_write_rstats(const char *, const struct R_stats *)
Write raster stats file.
void Rast_make_rainbow_colors(struct Colors *, CELL, CELL)
Make rainbow colors (integer)
void Rast_fpreclass_init(struct FPReclass *)
Definition fpreclass.c:279
int Rast_history_length(struct History *)
int Rast_read_quant(const char *, const char *, struct Quant *)
Reads quantization rules for name in mapset and stores them in the quantization structure....
Definition quant_rw.c:187
CELL Rast_get_histogram_cat(int, const struct Histogram *)
Returns cat for the nth element in the histogram.
Definition histogram.c:168
int Rast_disable_omp_on_mask(int)
Disable OpenMP if raster mask is present.
Definition mask_info.c:214
int Rast_get_color(const void *, int *, int *, int *, struct Colors *, RASTER_MAP_TYPE)
Gets color from raster map.
Definition color_get.c:38
void Rast_lookup_colors(const void *, unsigned char *, unsigned char *, unsigned char *, unsigned char *, int, struct Colors *, RASTER_MAP_TYPE)
Lookup an array of colors.
Definition color_look.c:79
DCELL Rast_interp_linear(double, DCELL, DCELL)
Definition interp.c:21
int Rast_add_modular_c_color_rule(const CELL *, int, int, int, const CELL *, int, int, int, struct Colors *)
Add modular integer color rule (CELL version)
Definition color_rule.c:184
void Rast_set_f_value(void *, FCELL, RASTER_MAP_TYPE)
Places a FCELL raster value.
void Rast_set_cats_fmt(const char *, double, double, double, double, struct Categories *)
Set category fmt (?)
void Rast_set_cell_format(int)
Sets the format for subsequent opens on new integer cell files (uncompressed and random only).
void Rast_fpreclass_set_pos_infinite_rule(struct FPReclass *, DCELL, DCELL)
Definition fpreclass.c:426
void Rast_abs_log_colors(struct Colors *, struct Colors *, int)
Make logarithmically-scaled version of an existing color table, allowing for signed values.
FCELL * Rast_allocate_f_input_buf(void)
Definition alloc_cell.c:165
void * Rast_allocate_output_buf(RASTER_MAP_TYPE)
Definition alloc_cell.c:180
void Rast_suppress_masking(void)
Suppresses masking.
Definition auto_mask.c:87
void Rast_init_gdal(void)
Initialization.
Definition gdal.c:33
void Rast_quant_set_neg_infinite_rule(struct Quant *, DCELL, CELL)
Defines a rule for values "dLeft" and smaller.
Definition quant.c:364
void Rast_init_histogram(struct Histogram *)
initializes the histogram structure
Definition histogram.c:21
void Rast_write_cats(const char *, struct Categories *)
Write raster category file.
void Rast_free_reclass(struct Reclass *)
Free Reclass structure.
Definition reclass.c:199
void Rast_set_f_null_value(FCELL *, int)
To set a number of FCELL raster values to NULL.
Definition null_val.c:138
void Rast_unmark_cats(struct Categories *)
Sets marks for all categories to 0.
void Rast_free_cell_stats(struct Cell_stats *)
Free cell stats structure.
Definition cell_stats.c:382
int Rast_fpreclass_get_pos_infinite_rule(const struct FPReclass *, DCELL *, DCELL *)
Definition fpreclass.c:437
int Rast_row_repeat_nomask(int, int)
Loops rows until mismatch?.
void Rast__check_init(void)
Checks to see if GIS engine is initialized.
Definition raster/init.c:52
int Rast_add_modular_f_color_rule(const FCELL *, int, int, int, const FCELL *, int, int, int, struct Colors *)
Add modular floating-point color rule (FCELL version)
Definition color_rule.c:154
DCELL Rast_interp_cubic(double, DCELL, DCELL, DCELL, DCELL)
Definition interp.c:35
struct GDAL_link * Rast_create_gdal_link(const char *, RASTER_MAP_TYPE)
Create GDAL settings for given raster map.
Definition gdal.c:227
int Rast_open_old(const char *, const char *)
Open an existing integer raster map (cell)
void Rast_zero_input_buf(void *, RASTER_MAP_TYPE)
Definition zero_cell.c:33
void Rast_set_input_window(struct Cell_head *)
Establishes 'window' as the current working window for input.
void Rast_make_histogram_eq_colors(struct Colors *, struct Cell_stats *)
Make histogram-stretched grey colors.
Definition color_hist.c:32
void Rast__close_null(int)
void Rast__convert_01_flags(const char *, unsigned char *, int)
?
Definition null_val.c:420
int read_rule_fn(void *, DCELL, DCELL, DCELL *, int *, int *, int *, int *, int *, int *)
DCELL Rast_get_sample_bilinear(int, const struct Cell_head *, struct Categories *, double, double, int)
Extract a cell value from raster map (bilinear interpolation).
Definition sample.c:144
char * Rast_get_semantic_label_or_name(const char *, const char *)
Get a raster map semantic label or fall back to its name.
void Rast_make_bgyr_colors(struct Colors *, CELL, CELL)
Create BGYR color table (integer)
int Rast__read_history(struct History *, FILE *)
int Rast_quant_is_round(const struct Quant *)
Returns whether or not quant rules are set to round map.
Definition quant.c:204
void Rast_free_colors(struct Colors *)
Free color structure memory.
Definition color_free.c:30
char * Rast_mask_name(void)
Retrieves the name of the raster mask to use.
Definition mask_info.c:77
void Rast_quantize_fp_map_range(const char *, const char *, DCELL, DCELL, CELL, CELL)
Write quant rules (f_quant) for floating-point raster map.
Definition quant_rw.c:124
int Rast__write_row_ptrs(int)
void Rast_mark_colors_as_fp(struct Colors *)
Mark colors as floating-point.
char * Rast_get_next_marked_d_cat(struct Categories *, DCELL *, DCELL *, long *)
Get next marked raster categories (DCELL)
void Rast_get_stats_for_null_value(long *, const struct Cell_stats *)
Get number of null values.
Definition cell_stats.c:369
void Rast_fpreclass_perform_di(const struct FPReclass *, const DCELL *, CELL *, int)
Definition fpreclass.c:577
void Rast_get_fp_range_min_max(const struct FPRange *, DCELL *, DCELL *)
Get minimum and maximum value from fp range.
const char * Rast_history_line(struct History *, int)
void Rast_get_row_nomask(int, void *, int, RASTER_MAP_TYPE)
Read raster row without masking.
void Rast_set_cats_title(const char *, struct Categories *)
Set title in category structure.
void Rast_set_d_value(void *, DCELL, RASTER_MAP_TYPE)
Places a DCELL raster value.
FCELL * Rast_allocate_f_buf(void)
Allocates memory for a raster map of type FCELL.
Definition alloc_cell.c:93
void Rast_set_history(struct History *, int, const char *)
Set the string of a specific history field.
void Rast_set_c_null_value(CELL *, int)
To set a number of CELL raster values to NULL.
Definition null_val.c:124
void Rast__error_handler(void *)
Definition raster/init.c:69
void Rast_update_range(CELL, struct Range *)
Update range structure (CELL)
char * Rast_get_c_cat(CELL *, struct Categories *)
Get a raster category label (CELL)
void Rast_format_history(struct History *, int, const char *,...)
FCELL * Rast_allocate_f_output_buf(void)
Definition alloc_cell.c:190
void Rast_add_f_color_rule(const FCELL *, int, int, int, const FCELL *, int, int, int, struct Colors *)
Adds the floating-point color rule (FCELL version)
Definition color_rule.c:57
int Rast__quant_import(const char *, const char *, struct Quant *)
Reads quantization rules (internal use only)
Definition quant_io.c:95
const char * Rast_get_history(struct History *, int)
Set the string of a specific history field.
CELL Rast_get_max_c_cat(const char *, const char *)
Get the max category number.
void Rast_add_c_color_rule(const CELL *, int, int, int, const CELL *, int, int, int, struct Colors *)
Adds the integer color rule (CELL version)
Definition color_rule.c:76
void Rast_put_f_row(int, const FCELL *)
Writes the next row for fcell file (FCELL version)
void Rast_zero_buf(void *, RASTER_MAP_TYPE)
Zero a raster buffer.
Definition zero_cell.c:28
void Rast__color_free_fp_lookup(struct _Color_Info_ *)
Free color rules structure.
Definition color_free.c:79
void Rast_make_ryg_colors(struct Colors *, CELL, CELL)
Create RYG color table (integer)
void Rast_remove_histogram(const char *)
Removes the histogram.
Definition histogram.c:329
void Rast_quant_perform_d(struct Quant *, const DCELL *, CELL *, int)
Returns in "cell" the quantized CELL values.
Definition quant.c:715
void Rast_write_history(const char *, struct History *)
Write raster history file.
int Rast_add_histogram(CELL, long, struct Histogram *)
adds count to the histogram value for cat
Definition histogram.c:344
DCELL Rast_fpreclass_get_cell_value(const struct FPReclass *, DCELL)
Definition fpreclass.c:547
int Rast_sort_histogram_by_count(struct Histogram *)
Sorts the histogram by counts.
Definition histogram.c:275
void Rast_fpreclass_perform_if(const struct FPReclass *, const CELL *, FCELL *, int)
Definition fpreclass.c:675
int Rast_option_to_interp_type(const struct Option *)
Get interpolation method from the option.
Definition interp.c:196
void Rast_append_format_history(struct History *, const char *,...)
Append a formatted string to a History structure.
int Rast__check_null_bit(const unsigned char *, int, int)
Check NULL.
Definition null_val.c:335
void Rast_make_random_colors(struct Colors *, CELL, CELL)
make random colors
Definition color_rand.c:23
void Rast_set_quant_rules(int, struct Quant *)
Sets quant translation rules for raster map opened for reading.
void Rast_histogram_eq_colors(struct Colors *, struct Colors *, struct Cell_stats *)
Make histogram-stretched version of existing color table.
Definition color_xform.c:30
void Rast_get_c_row(int, CELL *, int)
Get raster row (CELL type)
void Rast_write_vdatum(const char *, const char *)
Write a string into a raster's vertical datum metadata file.
void Rast_quant_reverse_rule_order(struct Quant *)
Rreverses the order in which the qunatization rules are stored.
Definition quant.c:513
void Rast_truncate_fp_map(const char *, const char *)
Writes the quant rules.
Definition quant_rw.c:31
int Rast_read_color_rules(struct Colors *, DCELL, DCELL, read_rule_fn *, void *)
Read color rules from file.
void Rast_init_cats(const char *, struct Categories *)
Initialize category structure.
void Rast_quant_clear(struct Quant *)
Resets the number of defined rules and number of infinite rules to 0.
Definition quant.c:41
char * Rast_read_vdatum(const char *, const char *)
Get a raster map's vertical datum metadata string.
int Rast_parse_color_rule(DCELL, DCELL, const char *, DCELL *, int *, int *, int *, int *, int *, int *)
Read color rule.
int Rast_is_reclassed_to(const char *, const char *, int *, char ***)
Get child reclass maps list.
Definition reclass.c:80
int Rast_close_gdal_write_link(struct GDAL_link *)
Close existing GDAL link and write out data.
Definition gdal.c:395
void Rast_row_update_range(const CELL *, int, struct Range *)
Update range structure based on raster row (CELL)
int Rast_get_f_color(const FCELL *, int *, int *, int *, struct Colors *)
Gets color from raster map (FCELL)
Definition color_get.c:88
void Rast_fpreclass_perform_df(const struct FPReclass *, const DCELL *, FCELL *, int)
Definition fpreclass.c:591
int Rast_open_new(const char *, RASTER_MAP_TYPE)
Opens a new raster map.
void Rast_fpreclass_get_ith_rule(const struct FPReclass *, int, DCELL *, DCELL *, DCELL *, DCELL *)
Definition fpreclass.c:371
int Rast__write_null_row_ptrs(int, int)
void Rast_get_f_row(int, FCELL *, int)
Get raster row (FCELL type)
void Rast_make_histogram_log_colors(struct Colors *, struct Cell_stats *, int, int)
Generates histogram with normalized log transformed grey scale.
Definition color_hist.c:101
void Rast_get_d_row(int, DCELL *, int)
Get raster row (DCELL type)
void Rast_fpreclass_set_range(struct FPReclass *, DCELL, DCELL)
Definition fpreclass.c:296
RASTER_MAP_TYPE Rast_map_type(const char *, const char *)
Determine raster data type.
int Rast_update_cell_stats(const CELL *, int, struct Cell_stats *)
Add data to cell stats.
Definition cell_stats.c:62
DCELL Rast_interp_bicubic_bspline(double, double, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL, DCELL)
Definition interp.c:156
void Rast_write_range(const char *, const struct Range *)
Write raster range file.
void Rast_get_c_color_range(CELL *, CELL *, const struct Colors *)
Get color range values (CELL)
Definition color_range.c:64
int Rast_find_cell_stat(CELL, long *, const struct Cell_stats *)
Random query of cell stats.
Definition cell_stats.c:188
void Rast_quant_add_rule(struct Quant *, DCELL, DCELL, CELL, CELL)
Adds a new rule to the set of quantization rules.
Definition quant.c:469
int Rast__read_row_ptrs(int)
void Rast_make_bgyr_fp_colors(struct Colors *, DCELL, DCELL)
Create BGYR color table (floating-point)
void Rast__remove_fp_range(const char *)
Remove floating-point range.
int Rast_sort_cats(struct Categories *)
Sort categories.
CELL * Rast_allocate_c_input_buf(void)
Definition alloc_cell.c:160
int Rast_get_fp_color_rule(DCELL *, unsigned char *, unsigned char *, unsigned char *, DCELL *, unsigned char *, unsigned char *, unsigned char *, const struct Colors *, int)
Get color rule from both modular and fixed rules.
int Rast_read_histogram(const char *, const char *, struct Histogram *)
read the histogram information
Definition histogram.c:40
void Rast_quant_perform_f(struct Quant *, const FCELL *, CELL *, int)
Same as Rast_quant_perform_d(), except the type.
Definition quant.c:735
int Rast__open_old(const char *, const char *)
Lower level function, open cell files, supercell files, and the mask file.
void Rast_set_d_color(DCELL, int, int, int, struct Colors *)
Set a category color (DCELL)
Definition color_set.c:60
int Rast_rewind_cell_stats(struct Cell_stats *)
Reset/rewind cell stats.
Definition cell_stats.c:248
const char * Rast_parse_color_rule_error(int)
Parse color rule.
void Rast_get_range_min_max(const struct Range *, CELL *, CELL *)
Get range min and max.
void Rast_init_colors(struct Colors *)
Initialize color structure.
Definition color_init.c:25
void Rast_fpreclass_perform_id(const struct FPReclass *, const CELL *, DCELL *, int)
Definition fpreclass.c:689
size_t Rast_cell_size(RASTER_MAP_TYPE)
Returns size of a raster cell in bytes.
Definition alloc_cell.c:37
void Rast_get_d_row_nomask(int, DCELL *, int)
Read raster row without masking (DCELL type)
DCELL Rast_get_sample_cubic(int, const struct Cell_head *, struct Categories *, double, double, int)
Extract a cell value from raster map (cubic interpolation).
Definition sample.c:232
int Rast_read_range(const char *, const char *, struct Range *)
Read raster range (CELL)
void Rast_set_c_value(void *, CELL, RASTER_MAP_TYPE)
Places a CELL raster value.
void Rast_get_f_row_nomask(int, FCELL *, int)
Read raster row without masking (FCELL type)
void Rast_close_vrt(struct R_vrt *)
Definition vrt.c:150
void Rast__set_null_value(void *, int, int, RASTER_MAP_TYPE)
To set one or more raster values to null.
Definition null_val.c:80
void Rast_get_row_colors(int, int, struct Colors *, unsigned char *, unsigned char *, unsigned char *, unsigned char *)
Reads a row of raster data and converts it to RGB.
void Rast_fpreclass_set_neg_infinite_rule(struct FPReclass *, DCELL, DCELL)
Definition fpreclass.c:401
void Rast_unsuppress_masking(void)
Unsuppresses masking.
Definition auto_mask.c:104
void Rast_make_byr_colors(struct Colors *, CELL, CELL)
Create BYR color table (integer)
int Rast_number_of_cats(struct Categories *)
Get number of raster categories.
char * Rast_allocate_null_buf(void)
Allocates memory for a null buffer.
Definition alloc_cell.c:119
void Rast_put_d_row(int, const DCELL *)
Writes the next row for dcell file (DCELL version)
int Rast_input_window_cols(void)
Number of columns in active input window.
void Rast_make_byg_fp_colors(struct Colors *, DCELL, DCELL)
Create BYG color table (floating-point)
char * Rast_get_ith_cat(const struct Categories *, int, void *, void *, RASTER_MAP_TYPE)
Get category description.
void Rast_init_range(struct Range *)
Initialize range structure.
bool Rast_mask_status(char *, char *, bool *, char[256], char[256])
Get raster mask status information.
Definition mask_info.c:138
struct Quant_table * Rast__quant_get_rule_for_d_raster_val(const struct Quant *, DCELL)
Returns quant rule which will be applied.
Definition quant.c:774
void Rast_fpreclass_perform_dd(const struct FPReclass *, const DCELL *, DCELL *, int)
Definition fpreclass.c:605
void Rast__lookup_colors(const void *, unsigned char *, unsigned char *, unsigned char *, unsigned char *, int, struct Colors *, int, int, RASTER_MAP_TYPE)
Lookup an array of colors.
Definition color_look.c:195
void Rast_set_d_color_range(DCELL, DCELL, struct Colors *)
Set color range (DCELL version)
Definition color_range.c:42
DCELL Rast_interp_lanczos(double, double, DCELL *)
Definition interp.c:57
char * Rast_allocate_null_input_buf(void)
Definition alloc_cell.c:175
int Rast_window_cols(void)
Number of columns in active window.
int Rast_next_cell_stat(CELL *, long *, struct Cell_stats *)
Retrieve sorted cell stats.
Definition cell_stats.c:312
void Rast_zero_histogram(struct Histogram *)
Zero out histogram struct.
Definition histogram.c:407
void Rast_make_grey_scale_fp_colors(struct Colors *, DCELL, DCELL)
Make linear grey scale (floating-point)
int Rast_fpreclass_get_neg_infinite_rule(const struct FPReclass *, DCELL *, DCELL *)
Definition fpreclass.c:412
int Rast_read_color_rule(void *, DCELL, DCELL, DCELL *, int *, int *, int *, int *, int *, int *)
Read color rule.
void Rast_quant_get_ith_rule(const struct Quant *, int, DCELL *, DCELL *, CELL *, CELL *)
Returns the i'th quantization rule.
Definition quant.c:327
void Rast_put_row(int, const void *, RASTER_MAP_TYPE)
Writes the next row for cell/fcell/dcell file.
int Rast_read_vector_cats(const char *, const char *, struct Categories *)
Read vector category file.
void Rast_log_colors(struct Colors *, struct Colors *, int)
Make logarithmically-scaled version of an existing color table.
int Rast_map_is_fp(const char *, const char *)
Check if raster map is floating-point.
void Rast__init_null_bits(unsigned char *, int)
?
Definition null_val.c:490
char * Rast_get_next_marked_cat(struct Categories *, void *, void *, long *, RASTER_MAP_TYPE)
Get next marked raster categories.
void Rast_copy_cats(struct Categories *, const struct Categories *)
Copy raster categories.
void Rast__write_null_bits(int, const unsigned char *)
Write null data.
void Rast__write_colors(FILE *, struct Colors *)
Write map layer color table.
void Rast_lookup_d_colors(const DCELL *, unsigned char *, unsigned char *, unsigned char *, unsigned char *, int, struct Colors *)
Lookup an array of colors (DCELL)
Definition color_look.c:146
void Rast_short_history(const char *, const char *, struct History *)
Initialize history structure.
void Rast_shift_c_colors(CELL, struct Colors *)
Definition color_shift.c:17
void * Rast_allocate_buf(RASTER_MAP_TYPE)
Allocate memory for a raster map of given type.
Definition alloc_cell.c:53
void Rast_set_fp_type(RASTER_MAP_TYPE)
Set raster map floating-point data format.
int Rast_window_rows(void)
Number of rows in active window.
void Rast__organize_colors(struct Colors *)
Definition color_org.c:12
void Rast_set_null_value(void *, int, RASTER_MAP_TYPE)
To set one or more raster values to null.
Definition null_val.c:98
char * Rast_get_cat(void *, struct Categories *, RASTER_MAP_TYPE)
Get a raster category label.
int Rast_get_cell_format(CELL)
Get cell value format.
void Rast_put_c_row(int, const CELL *)
Writes the next row for cell file (CELL version)
int Rast__read_null_bits(int, int, unsigned char *)
int Rast_output_window_cols(void)
Number of columns in active output window.
int Rast_add_modular_d_color_rule(const DCELL *, int, int, int, const DCELL *, int, int, int, struct Colors *)
Add modular floating-point color rule (DCELL version)
Definition color_rule.c:124
DCELL Rast_interp_cubic_bspline(double, DCELL, DCELL, DCELL, DCELL)
Definition interp.c:146
void Rast_fpreclass_perform_ii(const struct FPReclass *, const CELL *, CELL *, int)
Definition fpreclass.c:661
char * Rast_read_semantic_label(const char *, const char *)
Get a raster map semantic label metadata string.
int Rast_open_fp_new_uncompressed(const char *)
Opens new fcell file in a database (uncompressed)
int Rast_quant_get_pos_infinite_rule(const struct Quant *, DCELL *, CELL *)
Returns in "dRight" and "c" the rule values.
Definition quant.c:438
int Rast_mark_cats(const void *, int, struct Categories *, RASTER_MAP_TYPE)
Looks up the category label for each raster value (DCELL).
double Rast_northing_to_row(double, const struct Cell_head *)
Northing to row.
void Rast__color_free_rules(struct _Color_Info_ *)
Free color rules structure.
Definition color_free.c:43
char * Rast_get_f_cat(FCELL *, struct Categories *)
Get a raster category label (FCELL)
void Rast_make_byg_colors(struct Colors *, CELL, CELL)
Create BYG color table (integer)
int Rast_open_c_new(const char *)
Opens a new cell file in a database (compressed)
void Rast_set_window(struct Cell_head *)
Establishes 'window' as the current working window.
void Rast_make_ramp_fp_colors(struct Colors *, DCELL, DCELL)
Make color ramp (floating-point)
void Rast_make_fp_colors(struct Colors *, const char *, DCELL, DCELL)
Load color rules from predefined floating-point color table.
char * Rast_get_ith_f_cat(const struct Categories *, int, void *, void *)
Get category description (FCELL)
DCELL Rast_get_sample_nearest(int, const struct Cell_head *, struct Categories *, double, double, int)
Extract a cell value from raster map (neighbor interpolation)
Definition sample.c:89
int Rast_is_reclass(const char *, const char *, char[256], char[256])
Check if raster map is reclassified.
Definition reclass.c:44
int Rast_command_history(struct History *)
Save command line to raster history structure.
void Rast__init(void)
Definition raster/init.c:61
void Rast_histogram_eq_fp_colors(struct Colors *, struct Colors *, struct FP_stats *)
Make histogram-stretched version of existing color table (FP version)
void Rast_write_colors(const char *, const char *, struct Colors *)
Write map layer color table.
int Rast_open_fp_new(const char *)
Opens new fcell file in a database.
void Rast_get_cellhd(const char *, const char *, struct Cell_head *)
Read the raster header.
Definition get_cellhd.c:41
void Rast_get_null_value_row(int, char *, int)
Read or simulate null value row.
int Rast_read_history(const char *, const char *, struct History *)
Read raster history file.
FCELL Rast_get_f_value(const void *, RASTER_MAP_TYPE)
Retrieves the value of given raster type from pointer p (FCELL)
void Rast_quant_init(struct Quant *)
Initialize the structure.
Definition quant.c:175
void Rast__convert_flags_01(char *, const unsigned char *, int)
?
Definition null_val.c:457
int Rast_open_c_new_uncompressed(const char *)
Opens a new cell file in a database (uncompressed)
#define Rast_is_d_null_value(dcellVal)
void Rast_get_d_color_range(DCELL *, DCELL *, const struct Colors *)
Get color range values (DCELL)
Definition color_range.c:86
void Rast_get_null_value_color(int *, int *, int *, const struct Colors *)
Gets color for null value.
Definition color_get.c:126
int Rast_load_colors(struct Colors *, const char *, CELL, CELL)
Load color rules from file.
#define Rast_is_c_null_value(cellVal)
void Rast_init_fp_range(struct FPRange *)
Initialize fp range.
int Rast_load_fp_colors(struct Colors *, const char *, DCELL, DCELL)
Load color floating-point rules from file.
DCELL * Rast_allocate_d_input_buf(void)
Definition alloc_cell.c:170
void Rast__color_free_lookup(struct _Color_Info_ *)
Free color rules structure.
Definition color_free.c:61
int Rast_get_d_color(const DCELL *, int *, int *, int *, struct Colors *)
Gets color from raster map (DCELL)
Definition color_get.c:109
int Rast_quant_is_truncate(const struct Quant *)
Returns whether or not quant rules are set to truncate map.
Definition quant.c:192
char * Rast_mask_info(void)
Get a printable text with information about raster mask.
Definition mask_info.c:39
int Rast_set_f_cat(const FCELL *, const FCELL *, const char *, struct Categories *)
Set a raster category label (FCELL)
void Rast__interpolate_color_rule(DCELL, unsigned char *, unsigned char *, unsigned char *, const struct _Color_Rule_ *)
Interpolate color rules.
Definition color_look.c:422
void Rast_lookup_c_colors(const CELL *, unsigned char *, unsigned char *, unsigned char *, unsigned char *, int, struct Colors *)
Lookup an array of colors.
Definition color_look.c:45
bool Rast_mask_is_present(void)
Check presence of 2D raster mask.
Definition mask_info.c:198
void Rast_raster_cpy(void *, const void *, int, RASTER_MAP_TYPE)
Copies raster values.
int Rast__quant_export(const char *, const char *, const struct Quant *)
Writes the quantization rules (internal use only)
Definition quant_io.c:274
void Rast_quant_truncate(struct Quant *)
Sets the quant rules to perform simple truncation on floats.
Definition quant.c:217
void Rast_free_history(struct History *)
void Rast_mark_d_cats(const DCELL *, int, struct Categories *)
Looks up the category label for each raster value (DCELL).
void Rast_init_cell_stats(struct Cell_stats *)
Initialize cell stats.
Definition cell_stats.c:39
void Rast_make_wave_fp_colors(struct Colors *, DCELL, DCELL)
Make color wave (floating-point)
void Rast_invert_colors(struct Colors *)
Definition color_invrt.c:17
char * Rast_get_ith_d_cat(const struct Categories *, int, DCELL *, DCELL *)
Get category description (DCELL)
struct R_vrt * Rast_get_vrt(const char *, const char *)
Definition vrt.c:47
void Rast_make_colors(struct Colors *, const char *, CELL, CELL)
Load color rules from predefined color table.
void Rast_fpreclass_clear(struct FPReclass *)
Definition fpreclass.c:257
double Rast_row_to_northing(double, const struct Cell_head *)
Row to northing.
void * Rast_allocate_input_buf(RASTER_MAP_TYPE)
Definition alloc_cell.c:155
void Rast_make_gyr_colors(struct Colors *, CELL, CELL)
Create GYR color table (integer)
int Rast_set_cat(const void *, const void *, const char *, struct Categories *, RASTER_MAP_TYPE)
Set a raster category label.
int Rast_raster_cmp(const void *, const void *, RASTER_MAP_TYPE)
Compares raster values.
void Rast_set_default_color(int, int, int, struct Colors *)
Set default color value.
Definition color_set.c:99
struct GDAL_link * Rast_get_gdal_link(const char *, const char *)
Get GDAL link settings for given raster map.
Definition gdal.c:53
char * Rast_allocate_null_output_buf(void)
Definition alloc_cell.c:200
void Rast_write_semantic_label(const char *, const char *)
Write a string into a rasters semantic label metadata file.
void Rast_insert_null_values(void *, char *, int, RASTER_MAP_TYPE)
To check if a CELL raster value is set to NULL.
Definition null_val.c:276
void Rast_fpreclass_set_domain(struct FPReclass *, DCELL, DCELL)
Definition fpreclass.c:287
char * Rast_get_next_marked_c_cat(struct Categories *, CELL *, CELL *, long *)
Get next marked raster categories (CELL)
int Rast_remove_colors(const char *, const char *)
Remove color table of raster map.
void Rast_fpreclass_perform_fi(const struct FPReclass *, const FCELL *, CELL *, int)
Definition fpreclass.c:619
int Rast_fpreclass_nof_rules(const struct FPReclass *)
Definition fpreclass.c:364
void Rast_make_gyr_fp_colors(struct Colors *, DCELL, DCELL)
Create GYR color table (floating-point)
void Rast_row_update_fp_range(const void *, int, struct FPRange *, RASTER_MAP_TYPE)
Update range structure based on raster row (floating-point)
void Rast_make_wave_colors(struct Colors *, CELL, CELL)
Make color wave (integer)
int Rast_read_rstats(const char *, const char *, struct R_stats *)
Read raster stats.
void Rast_write_quant(const char *, const char *, const struct Quant *)
Writes the quant rule table for the raster map.
Definition quant_rw.c:150
void Rast_zero_output_buf(void *, RASTER_MAP_TYPE)
Definition zero_cell.c:38
void Rast_shift_d_colors(DCELL, struct Colors *)
Definition color_shift.c:22
int Rast_set_c_cat(const CELL *, const CELL *, const char *, struct Categories *)
Set a raster category label (CELL)
int Rast_set_histogram(CELL, long, struct Histogram *)
sets the histogram value for cat to count
Definition histogram.c:369
char * Rast_read_units(const char *, const char *)
Get a raster map's units metadata string.
int Rast_maskfd(void)
Test for raster mask presence and get file descriptor if present.
Definition maskfd.c:30
DCELL Rast_get_d_value(const void *, RASTER_MAP_TYPE)
Retrieves the value of given type from pointer p (DCELL)
void Rast_write_fp_range(const char *, const struct FPRange *)
Write raster range file (floating-point)
void Rast_update_fp_range(DCELL, struct FPRange *)
Update range structure (floating-point)
char * Rast_get_d_cat(DCELL *, struct Categories *)
Get a raster category label (DCELL)
void Rast_round_fp_map(const char *, const char *)
Writes the quant rules.
Definition quant_rw.c:51
void Rast__create_window_mapping(int)
Create window mapping.
double Rast_col_to_easting(double, const struct Cell_head *)
Column to easting.
void Rast_get_default_color(int *, int *, int *, const struct Colors *)
Gets default color.
Definition color_get.c:154
RASTER_MAP_TYPE Rast_get_map_type(int)
Determine raster type from descriptor.
int Rast_quant_nof_rules(const struct Quant *)
Returns the number of quantization rules defined.
Definition quant.c:309
void Rast_get_row(int, void *, int, RASTER_MAP_TYPE)
Get raster row.
char * Rast_get_cell_title(const char *, const char *)
get raster map title
Definition cell_title.c:24
void Rast_get_input_window(struct Cell_head *)
Read the current input window.
#define GMAPSET_MAX
Definition gis.h:197
float FCELL
Definition gis.h:636
#define GNAME_MAX
Definition gis.h:196
double DCELL
Definition gis.h:635
int CELL
Definition gis.h:634
int INTERP_TYPE
Definition raster.h:28
int RASTER_MAP_TYPE
Definition raster.h:25
2D/3D raster map header (used also for region)
Definition gis.h:446
Definition gis.h:692
Raster history info (metadata)
Definition raster.h:172
Structure that stores option information.
Definition gis.h:563
Definition raster.h:80
Definition R.h:41