Change History (6)
comment:1 by , 22 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
comment:2 by , 22 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
The description for Section 2.3 for Flat-fielding is fairly brief, so I'm going
to ask the same question a different way to try to fill in the blanks...
Does this mean that no division operation should be performed on cases where
the denominator is zero or negative, and that the original value of the input
image for that pixel should be unchanged?
comment:3 by , 22 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
The idea is that we don't want to be generating floating point exceptions when
dividing by zero, because that slows things down. It doesn't hurt to divide by
a negative number. So psBinaryOp should check for divide by zero, and set the
result to a special value if the divisor is zero.
Hence, pmFlatField should call psBinaryOp, and then go through the image looking
for zeros and negative values and mask these.
comment:4 by , 22 years ago
| Keywords: | VERIFIED added |
|---|
Closing subsequent to release of SDRS-08, ADD-07.
comment:5 by , 22 years ago
| Keywords: | VERIFIED removed |
|---|
comment:6 by , 16 years ago
| Component: | Modules SDRS → IPP SDRS |
|---|

This is discussed already in the SDRS: any pixels in the flat which are 0.0 or
negative (non-positive) must be detected and the mask set to the value
PM_MASK_FLAT. psBinaryOp is supposed to handle divide-by-zero without raising
an exception, but it does not operate on a mask. you will need to loop over the
flat-field input image and set the corresponding pixels in the mask to the mask
value.
(psBinaryOp is not quite implemented correctly at the moment, but we'll file a
separate bug on that).