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(); |
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); |
390 |
|
printf("NCOMP=%d\n", putprim==ALL ? 3 : 1); |
398 |
|
puts("BigEndian=0"); |
399 |
|
else |
400 |
|
puts("BigEndian=1"); |
401 |
< |
} else if ((format != 'a') & (format != 'i')) |
401 |
> |
} else if ((format != 'a') & (format != 'i') & |
402 |
> |
(format != 'b')) |
403 |
|
fputendian(stdout); |
404 |
|
fputformat(fmtid, stdout); |
405 |
|
putchar('\n'); |
437 |
|
wrongformat++; |
438 |
|
return(1); |
439 |
|
} |
440 |
+ |
if (!strncmp(line,"NROWS=",6) || |
441 |
+ |
!strncmp(line,"NCOLS=",6) || |
442 |
+ |
!strncmp(line,"NCOMP=",6)) |
443 |
+ |
return(1); |
444 |
+ |
|
445 |
|
if (original && isexpos(line)) { |
446 |
|
d = 1.0/exposval(line); |
447 |
|
scalecolor(exposure, d); |