diff options
author | Thomas White <taw@physics.org> | 2022-03-07 15:45:40 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2022-03-07 16:05:11 +0100 |
commit | a40d7a356c3a71c83b9f0556f878aea1f607c0af (patch) | |
tree | f1da8fb2438d9bdd5c6451a9e3c5e9c9f6cfcc96 | |
parent | 08f49ce8d560c3d2218e01b215920e55d735341f (diff) |
indexamajig: Don't back up image data if not filtering
This takes a non-negligible amount of time (40 ms per frame for 16M), so
should be skipped if not needed.
-rw-r--r-- | src/process_image.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/process_image.c b/src/process_image.c index 36e80b77..f0d315e7 100644 --- a/src/process_image.c +++ b/src/process_image.c @@ -224,7 +224,12 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, time_accounts_set(taccs, TACC_FILTER); set_last_task(last_task, "image filter"); sb_shared->pings[cookie]++; - prefilter = backup_image_data(image->dp, image->detgeom); + + if ( (iargs->median_filter > 0) || iargs->noisefilter ) { + prefilter = backup_image_data(image->dp, image->detgeom); + } else { + prefilter = NULL; + } if ( iargs->median_filter > 0 ) { filter_median(image, iargs->median_filter); @@ -319,7 +324,9 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, image->lambda, image->detgeom); - restore_image_data(image->dp, image->detgeom, prefilter); + if ( prefilter != NULL ) { + restore_image_data(image->dp, image->detgeom, prefilter); + } rn = getcwd(NULL, 0); |