account for pixelsize=2 in ImagingExpand()

This commit is contained in:
Yay295 2022-08-25 19:55:21 -05:00
parent 25df706e67
commit 875d59122a

View File

@ -53,38 +53,40 @@ ImagingExpand(Imaging imIn, int xmargin, int ymargin, int mode) {
return NULL;
}
#define EXPAND_LINE(type, image, yin, yout) \
{ \
for (x = 0; x < xmargin; x++) { \
imOut->image[yout][x] = imIn->image[yin][0]; \
} \
for (x = 0; x < imIn->xsize; x++) { \
imOut->image[yout][x + xmargin] = imIn->image[yin][x]; \
} \
for (x = 0; x < xmargin; x++) { \
imOut->image[yout][xmargin + imIn->xsize + x] = \
imIn->image[yin][imIn->xsize - 1]; \
} \
#define EXPAND_LINE(type, yin, yout) \
{ \
for (x = 0; x < xmargin; x++) { \
((type *)imOut->image[yout])[x] = ((type *)imIn->image[yin])[0]; \
} \
for (x = 0; x < imIn->xsize; x++) { \
((type *)imOut->image[yout])[x + xmargin] = ((type *)imIn->image[yin])[x]; \
} \
for (x = 0; x < xmargin; x++) { \
((type *)imOut->image[yout])[xmargin + imIn->xsize + x] = \
((type *)imIn->image[yin])[imIn->xsize - 1]; \
} \
}
#define EXPAND(type, image) \
{ \
for (y = 0; y < ymargin; y++) { \
EXPAND_LINE(type, image, 0, y); \
} \
for (y = 0; y < imIn->ysize; y++) { \
EXPAND_LINE(type, image, y, y + ymargin); \
} \
for (y = 0; y < ymargin; y++) { \
EXPAND_LINE(type, image, imIn->ysize - 1, ymargin + imIn->ysize + y); \
} \
#define EXPAND(type) \
{ \
for (y = 0; y < ymargin; y++) { \
EXPAND_LINE(type, 0, y); \
} \
for (y = 0; y < imIn->ysize; y++) { \
EXPAND_LINE(type, y, y + ymargin); \
} \
for (y = 0; y < ymargin; y++) { \
EXPAND_LINE(type, imIn->ysize - 1, ymargin + imIn->ysize + y); \
} \
}
ImagingSectionEnter(&cookie);
if (imIn->image8) {
EXPAND(UINT8, image8);
} else {
EXPAND(INT32, image32);
if (imIn->pixelsize == 1) {
EXPAND(UINT8);
} else if (imIn->pixelsize == 2) {
EXPAND(UINT16);
} else if (imIn->pixelsize == 4) {
EXPAND(INT32);
}
ImagingSectionLeave(&cookie);