118 |
|
case 'o': /* original values */ |
119 |
|
original = argv[i][0] == '-'; |
120 |
|
break; |
121 |
+ |
case 'O': /* original watts/sr/m^2 */ |
122 |
+ |
original = -(argv[i][0] == '-'); |
123 |
+ |
break; |
124 |
|
case 'g': /* gamma correction */ |
125 |
|
gamcor = atof(argv[i+1]); |
126 |
|
if (argv[i][0] == '+') |
356 |
|
if (outprims != stdprims) |
357 |
|
fputprims(outprims, stdout); |
358 |
|
fputformat(COLRFMT, stdout); |
359 |
< |
} else /* XYZ data */ |
359 |
> |
} else { /* XYZ data */ |
360 |
> |
if (original < 0) { |
361 |
> |
scalecolor(exposure, WHTEFFICACY); |
362 |
> |
doexposure++; |
363 |
> |
} |
364 |
|
fputformat(CIEFMT, stdout); |
365 |
+ |
} |
366 |
|
putchar('\n'); |
367 |
|
fputsresolu(&picres, stdout); /* always put resolution */ |
368 |
|
valtopix(); |
380 |
|
if (!fgetsresolu(&picres, fin)) { |
381 |
|
fprintf(stderr, "%s: missing resolution\n", progname); |
382 |
|
quit(1); |
383 |
+ |
} |
384 |
+ |
if (original < 0 && mybright == &xyz_bright) { |
385 |
+ |
scalecolor(exposure, 1./WHTEFFICACY); |
386 |
+ |
doexposure++; |
387 |
|
} |
388 |
|
if (header) { |
389 |
|
printargs(i, argv, stdout); |