370 {
375 int rtn;
376 const int maxX = 10;
377 const int maxY = 10;
378 int maskX = 3;
379 int maskY = 3;
381 int i;
383 double val;
384 int nod;
385 int **nodata;
386 int dimx;
387 int dimy;
388
390 CU_ASSERT(rast != NULL);
391
393 CU_ASSERT(band != NULL);
394
395 for (x = 0;
x < maxX;
x++) {
396 for (y = 0;
y < maxY;
y++) {
398 }
399 }
400
401
403 CU_ASSERT_EQUAL(nod,0);
404 CU_ASSERT_DOUBLE_EQUAL(val,1,.01);
405
406
407
409 CU_ASSERT(mask != NULL);
412
413 for( i = 0; i < maskY; i++) {
416 }
417
418 CU_ASSERT(mask->
values != NULL);
419 CU_ASSERT(mask->
nodata != NULL);
420
421
422
423 for(y = 0;
y < maskY;
y++) {
424 for(x = 0;
x < maskX;
x++){
427 }
428 }
429
433
435 band,
436 4,4,
437 1, 1,
438 1,
439 &npixels
440 );
441
442 CU_ASSERT_EQUAL(rtn,8);
443
445 npixels, rtn, mask,
446 4,4,
447 1, 1,
448 &value,
449 &nodata,
450 &dimx, &dimy
451 );
452
453
456 CU_ASSERT_EQUAL(dimx, 3);
457 CU_ASSERT_EQUAL(dimy, 3);
458 CU_ASSERT_EQUAL(nodata[1][1],1);
459
460 for (x = 0;
x < dimx;
x++) {
463 }
464
467
468
469
470 for(y = 0;
y < maskY;
y++) {
471 for(x = 0;
x < maskX;
x++){
474 }
475 }
476
480
481
483 band,
484 4,4,
485 1, 1,
486 1,
487 &npixels
488 );
489
490 CU_ASSERT_EQUAL(rtn,8);
491
493 npixels, rtn, mask,
494 4,4,
495 1, 1,
496 &value,
497 &nodata,
498 &dimx, &dimy
499 );
500
501
504 CU_ASSERT_EQUAL(dimx, 3);
505 CU_ASSERT_EQUAL(dimy, 3);
506 CU_ASSERT_NOT_EQUAL(nodata[0][0],1);
507 CU_ASSERT_DOUBLE_EQUAL(value[0][0],1,.01);
508
509 for (x = 0;
x < dimx;
x++) {
512 }
513
516
517
518
519 for(y = 0;
y < maskY;
y++) {
520 for(x = 0;
x < maskX;
x++){
523 }
524 }
525
529
531 band,
532 4,4,
533 1, 1,
534 1,
535 &npixels
536 );
537
538 CU_ASSERT_EQUAL(rtn,8);
539
541 npixels, rtn, mask,
542 4,4,
543 1, 1,
544 &value,
545 &nodata,
546 &dimx, &dimy
547 );
548
549
552 CU_ASSERT_EQUAL(dimx, 3);
553 CU_ASSERT_EQUAL(dimy, 3);
554 CU_ASSERT_NOT_EQUAL(nodata[0][0],1);
555 CU_ASSERT_DOUBLE_EQUAL(value[0][0],0.5,0.1);
556
557 for (x = 0;
x < dimx;
x++) {
560 }
561
564
565 for( i = 0; i < maskY; i++) {
568 }
569
573
574 if (rtn)
576
578
579}
void * rtalloc(size_t size)
Wrappers used for managing memory.
rt_errorstate rt_band_get_pixel(rt_band band, int x, int y, double *value, int *nodata)
Get pixel value.
struct rt_mask_t * rt_mask
rt_raster rt_raster_new(uint32_t width, uint32_t height)
Construct a raster with given dimensions.
rt_errorstate rt_band_set_pixel(rt_band band, int x, int y, double val, int *converted)
Set single pixel's value.
rt_errorstate rt_pixel_set_to_array(rt_pixel npixel, uint32_t count, rt_mask mask, int x, int y, uint16_t distancex, uint16_t distancey, double ***value, int ***nodata, int *dimx, int *dimy)
uint32_t rt_band_get_nearest_pixel(rt_band band, int x, int y, uint16_t distancex, uint16_t distancey, int exclude_nodata_value, rt_pixel *npixels)
Get nearest pixel(s) with value (not NODATA) to specified pixel.
void rtdealloc(void *mem)
rt_band cu_add_band(rt_raster raster, rt_pixtype pixtype, int hasnodata, double nodataval)
void cu_free_raster(rt_raster raster)