aboutsummaryrefslogtreecommitdiff
path: root/lib/seg/util.c
diff options
context:
space:
mode:
authorChristian C <cc@localhost>2025-04-01 20:46:17 -0700
committerChristian C <cc@localhost>2025-04-01 20:46:17 -0700
commitec7436a01deb8e28743de47ad98950c914d6da2a (patch)
tree765212b89d5c9740408d3d8bda8e1daacf55890e /lib/seg/util.c
parenta18cea2fef7aa1545c9a984b60919541b26a6f84 (diff)
Global Allocator Checking
Diffstat (limited to 'lib/seg/util.c')
-rw-r--r--lib/seg/util.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/lib/seg/util.c b/lib/seg/util.c
index 8af8199..a9db067 100644
--- a/lib/seg/util.c
+++ b/lib/seg/util.c
@@ -1,5 +1,6 @@
#include <assert.h>
#include <lib/algo/flood_fill.h>
+#include <lib/mem/galloc.h>
#include <lib/png.h>
#include <lib/seg/util.h>
#include <stdio.h>
@@ -80,8 +81,8 @@ MaskData_t *_dilate(const Mask *mask) {
}
}
MaskData_t *ret_mask = new_mask->image[0];
- free(new_mask->image);
- free(new_mask);
+ g_free(new_mask->image);
+ g_free(new_mask);
return ret_mask;
}
@@ -89,7 +90,7 @@ MaskData_t *_dilate(const Mask *mask) {
void dilate(Mask *mask) {
MaskData_t *new_mask = _dilate(mask);
if (new_mask != NULL) {
- free(mask->image[0]);
+ g_free(mask->image[0]);
for (size_t y = 0; y < mask->height; y++) {
mask->image[y] = &(new_mask[y * mask->width]);
}
@@ -132,8 +133,8 @@ MaskData_t *_erode(const Mask *mask) {
}
}
MaskData_t *ret_mask = new_mask->image[0];
- free(new_mask->image);
- free(new_mask);
+ g_free(new_mask->image);
+ g_free(new_mask);
return ret_mask;
}
@@ -141,7 +142,7 @@ MaskData_t *_erode(const Mask *mask) {
void erode(Mask *mask) {
MaskData_t *new_mask = _erode(mask);
if (new_mask != NULL) {
- free(mask->image[0]);
+ g_free(mask->image[0]);
for (size_t y = 0; y < mask->height; y++) {
mask->image[y] = &(new_mask[y * mask->width]);
}
@@ -169,8 +170,8 @@ MaskData_t *_closeup(Mask *mask, size_t num_pixels) {
}
}
MaskData_t *ret_mask = new_mask->image[0];
- free(new_mask->image);
- free(new_mask);
+ g_free(new_mask->image);
+ g_free(new_mask);
return ret_mask;
}
@@ -179,7 +180,7 @@ MaskData_t *_closeup(Mask *mask, size_t num_pixels) {
void closeup(Mask *mask, size_t num_pixels) {
MaskData_t *new_mask = _closeup(mask, num_pixels);
if (new_mask != NULL) {
- free(mask->image[0]);
+ g_free(mask->image[0]);
for (size_t y = 0; y < mask->height; y++) {
mask->image[y] = &(new_mask[y * mask->width]);
}
@@ -227,7 +228,7 @@ Mask *tif_to_labels(char *tif_file_name, MaskData_t *starting_label_p) {
channels = (STRIP_LENGTH * STRIP_COUNT) / (width * height);
//-TIFF-LOAD-DATA--------------------------------
- void *buffer = malloc(STRIP_LENGTH * sizeof(ImageData_t));
+ void *buffer = g_malloc(STRIP_LENGTH * sizeof(ImageData_t));
if (buffer == NULL) {
fprintf(stderr, "Memory allocation error\n");
TIFFClose(tif);
@@ -236,7 +237,7 @@ Mask *tif_to_labels(char *tif_file_name, MaskData_t *starting_label_p) {
Image *image = create_image(width, height, channels);
if (image == NULL) {
fprintf(stderr, "Memory allocation error\n");
- free(buffer);
+ g_free(buffer);
TIFFClose(tif);
return NULL;
}
@@ -247,7 +248,7 @@ Mask *tif_to_labels(char *tif_file_name, MaskData_t *starting_label_p) {
image->image[0][0][x + y * STRIP_LENGTH] = ((ImageData_t *)buffer)[x];
}
}
- free(buffer);
+ g_free(buffer);
//-FLOOD-FILL-SEGMENTATION-----------------------
//-CONTIGUOUS-REGION-FINDING---------------------
@@ -279,13 +280,13 @@ Bitmap *image_mask_data_to_bitmap(const Mask *mask) {
MaskData_t *buffer = mask->image[0];
uint32_t width = mask->width;
uint32_t height = mask->height;
- Pixel *out_buffer = (Pixel *)calloc(width * height, sizeof(Pixel));
+ Pixel *out_buffer = (Pixel *)g_calloc(width * height, sizeof(Pixel));
if (out_buffer == NULL) {
return NULL;
}
- Bitmap *bitmap = (Bitmap *)malloc(sizeof(Bitmap));
+ Bitmap *bitmap = (Bitmap *)g_malloc(sizeof(Bitmap));
if (bitmap == NULL) {
- free(out_buffer);
+ g_free(out_buffer);
return NULL;
}
for (size_t y = 0; y < height; y++) {
@@ -311,7 +312,7 @@ MaskData_t *_reduce_contiguous_regions(MaskData_t *masks, uint32_t width,
MaskData_t *total_labels) {
MaskData_t starting_label = 1;
MaskData_t *new_masks =
- (MaskData_t *)calloc(width * height, sizeof(MaskData_t));
+ (MaskData_t *)g_calloc(width * height, sizeof(MaskData_t));
if (new_masks == NULL) {
return NULL;
}
@@ -341,7 +342,7 @@ void reduce_contiguous_regions(Mask *mask, MaskData_t *total_labels) {
MaskData_t *new_masks = _reduce_contiguous_regions(
mask->image[0], mask->width, mask->height, total_labels);
if (new_masks != NULL) {
- free(mask->image[0]);
+ g_free(mask->image[0]);
for (size_t y = 0; y < mask->height; y++) {
mask->image[y] = &new_masks[y * mask->width];
}