Create Canon DSLR CR2 image statistics (exiftool & GNU Plot) and convert ML dual ISO CR2 files painlessly for post-processing
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

71 lines
2.1 KiB

--- a/magic-lantern/modules/dual_iso/cr2hdr.c
+++ b/magic-lantern/modules/dual_iso/cr2hdr.c
@@ -60,6 +60,7 @@
/** Command-line interface */
+int process_method = 0;
int interp_method = 0; /* 0:amaze-edge, 1:mean23 */
int chroma_smooth_method = 2;
int fix_pink_dots = 0;
@@ -98,7 +99,13 @@
void check_shortcuts()
{
- if (shortcut_fast)
+ if (process_method == 1)
+ {
+ interp_method = 2;
+ chroma_smooth_method = 1;
+ gray_wb = 5;
+ }
+ else if (shortcut_fast)
{
interp_method = 1;
chroma_smooth_method = 0;
@@ -129,6 +136,13 @@
struct cmd_group options[] = {
{
+ "Processing methods", (struct cmd_option[]) {
+ { &process_method, 0, "--process", "Process Dual ISO compatible file (default)" },
+ { &process_method, 1, "--dry-run", "Only check file for Dual ISO presence" },
+ OPTION_EOL
+ },
+ },
+ {
"Shortcuts", (struct cmd_option []) {
{ &shortcut_fast, 1, "--fast", "disable most postprocessing steps (fast, but low quality)\n"
" (--mean23, --no-cs, --no-fullres, --no-alias-map, --no-stripe-fix, --no-bad-pix)" },
@@ -870,12 +884,12 @@
whites[num_files] = raw_info.white_level;
num_files++;
}
- else
+ else if (process_method != 1)
{
printf("ISO blending didn't work\n");
}
}
- else
+ else if (process_method != 1)
{
printf("Doesn't look like interlaced ISO\n");
}
@@ -2206,7 +2220,15 @@
double corr_ev = 0;
int white_darkened = white_bright;
int ok = match_exposures(&corr_ev, &white_darkened);
- if (!ok) goto err;
+ if (!ok)
+ {
+ goto err;
+ }
+ else if (ok && process_method == 1)
+ {
+ printf("Interlaced ISO detected\n"); /*. File: %s\n", filename);*/
+ return 0;
+ }
/* run a second black subtract pass, to fix whatever our funky processing may do to blacks */
black_subtract_simple(raw_info.active_area.x1, raw_info.active_area.y1);