Commit 1bfa71e6ec9569fa49986adb3a1a66ca0f10b393
Committed by
Jürgen Knödlseder
1 parent
30fe50a9
Add comments to csresmap fix (#2136)
Removed a couple of unnecessary computations and added comments to the code.
Showing
1 changed file
with
13 additions
and
5 deletions
cscripts/csresmap.py
| ... | ... | @@ -246,19 +246,27 @@ class csresmap(ctools.cscript): |
| 246 | 246 | # Compute sign map |
| 247 | 247 | signmap = (self._resmap - modelmap).sign() |
| 248 | 248 | |
| 249 | - # Compute logarithm of map. For that we mask pixels | |
| 250 | - #logmap = self._resmap/modelmap | |
| 251 | - logmap = self._resmap.copy() # Python 3.x kluge | |
| 252 | - logmap /= modelmap | |
| 253 | - for i in range(logmap.npix()): | |
| 249 | + # Loop over every bin in the map | |
| 250 | + for i in range(self._resmap.npix()): | |
| 251 | + | |
| 252 | + # If the model value > 0.0 do the computation as normal | |
| 254 | 253 | model_val = modelmap[i] |
| 255 | 254 | if model_val > 0.0: |
| 255 | + | |
| 256 | + # If the data value is also > 0 then proceed as normal | |
| 256 | 257 | data_val = self._resmap[i] |
| 257 | 258 | if data_val > 0.0: |
| 259 | + # Compute the significance^2 and save it to the map | |
| 258 | 260 | log_val = math.log(data_val/model_val) |
| 259 | 261 | self._resmap[i] = (data_val*log_val) + model_val - data_val |
| 262 | + | |
| 263 | + # If the data value is less than zero, then compute the | |
| 264 | + # reduced value of the above expression. This is necessary | |
| 265 | + # to avoid computing log(0). | |
| 260 | 266 | else: |
| 261 | 267 | self._resmap[i] = model_val |
| 268 | + | |
| 269 | + # If the model value is zero, hard-code the significance to 0 | |
| 262 | 270 | else: |
| 263 | 271 | self._resmap[i] = 0.0 |
| 264 | 272 | ... | ... |