94 for(
size_t n=0; n < handle->
frames; ++n)
96 for(
size_t kk=0; kk< handle->
depth; ++kk)
98 int8_t * rboff = (int8_t*) handle->
raw_buffer + n * npix * handle->
depth + kk*npix;
109 for(
size_t nn = 0; nn < npix-1; ++nn)
111 rboff[npix - nn - 1] -= rboff[npix - nn - 2];
127 size_t wid = handle->
width;
128 size_t hgt = handle->
height;
131 for(
size_t n=0; n < handle->
frames; ++n)
133 for(
size_t kk=0; kk< handle->
depth; ++kk)
135 int16_t * rboff = (int16_t*) handle->
raw_buffer + n * npix * handle->
depth + kk*npix;
145 for(
size_t rr=0; rr < hgt; ++rr)
147 int16_t * row = rboff + rr*wid;
149 for(
size_t nn = 0; nn < wid-2; nn+=2)
151 row[wid - nn - 1] -= row[wid - nn - 3];
152 row[wid - nn - 2] -= row[wid - nn - 4];
179 for(
size_t n=0; n < handle->
frames; ++n)
181 for(
size_t kk=0; kk< handle->
depth; ++kk)
183 int32_t * rboff = (int32_t*) handle->
raw_buffer + n * npix * handle->
depth + kk*npix;
194 for(
size_t nn = 0; nn < npix-1; ++nn)
196 rboff[npix - nn - 1] -= rboff[npix - nn - 2];
213 for(
size_t n=0; n < handle->
frames; ++n)
215 for(
size_t kk=0; kk< handle->
depth; ++kk)
217 int64_t * rboff = (int64_t*) handle->
raw_buffer + n * npix * handle->
depth + kk*npix;
228 for(
size_t nn = 0; nn < npix-1; ++nn)
230 rboff[npix - nn - 1] -= rboff[npix - nn - 2];
261 XRIF_ERROR_PRINT(
"xrif_difference_bayer",
"raw buffer size not sufficient");
268 return xrif_difference_bayer_sint8(handle);
273 return xrif_difference_bayer_sint16(handle);
278 return xrif_difference_bayer_sint32(handle);
282 return xrif_difference_bayer_sint64(handle);
286 XRIF_ERROR_PRINT(
"xrif_difference_bayer",
"previous differencing not implemented for type");
302 for(
int n=0; n < handle->
frames; ++n)
304 for(
int kk=0; kk< handle->
depth; ++kk)
306 int8_t * rboff = (int8_t*)handle->
raw_buffer + n * npix * handle->
depth + kk*npix;
317 for(
int nn = 1; nn < npix; ++nn)
319 rboff[nn] += rboff[nn-1] ;
336 for(
int n=0; n < handle->
frames; ++n)
338 for(
int kk=0; kk< handle->
depth; ++kk)
340 int16_t * rboff = (int16_t*)handle->
raw_buffer + n * npix * handle->
depth + kk*npix;
351 for(
int nn = 1; nn < npix; ++nn)
353 rboff[nn] += rboff[nn-1] ;
370 for(
int n=0; n < handle->
frames; ++n)
372 for(
int kk=0; kk< handle->
depth; ++kk)
374 int32_t * rboff = (int32_t*)handle->
raw_buffer + n * npix * handle->
depth + kk*npix;
385 for(
int nn = 1; nn < npix; ++nn)
387 rboff[nn] += rboff[nn-1] ;
404 for(
int n=0; n < handle->
frames; ++n)
406 for(
int kk=0; kk< handle->
depth; ++kk)
408 int64_t * rboff = (int64_t*)handle->
raw_buffer + n * npix * handle->
depth + kk*npix;
419 for(
int nn = 1; nn < npix; ++nn)
421 rboff[nn] += rboff[nn-1] ;
452 XRIF_ERROR_PRINT(
"xrif_undifference_pixel",
"raw buffer size not sufficient");
458 return xrif_undifference_pixel_sint8(handle);
462 return xrif_undifference_pixel_sint16(handle);
466 return xrif_undifference_pixel_sint32(handle);
470 return xrif_undifference_pixel_sint64(handle);
474 XRIF_ERROR_PRINT(
"xrif_difference_bayer",
"previous undifferencing not implemented for type");