Commit 479bb6d02379aead31d6d12007e2e5a40ceb4a52
1 parent
0a5b1abe
Remove also fit() and cterror() function from "obsutils" (#1830)
These functions are not really observation utilities, and they are not really needed either since they encapsulate only a few lines of code.
Showing
5 changed files
with
29 additions
and
106 deletions
NEWS
| ... | ... | @@ -108,8 +108,8 @@ None |
| 108 | 108 | cscripts |
| 109 | 109 | -------- |
| 110 | 110 | Added the support modules "modutils" and "ioutils" to the cscripts module |
| 111 | -and removed the obsolete function "cntmap()" and "modmap()" from the | |
| 112 | -"obsutils" module (#1830). | |
| 111 | +and removed the obsolete functions fit(), cterror(), cntmap() and modmap() | |
| 112 | +from the "obsutils" module (#1830). | |
| 113 | 113 | |
| 114 | 114 | |
| 115 | 115 | Examples | ... | ... |
cscripts/cspull.py
| ... | ... | @@ -228,17 +228,19 @@ class cspull(ctools.cscript): |
| 228 | 228 | # Fit model |
| 229 | 229 | if self['profile'].boolean(): |
| 230 | 230 | models = self._obs.models() |
| 231 | - for i in range(models.size()): | |
| 232 | - model_name = models[i].name() | |
| 233 | - like = obsutils.cterror(self._obs, model_name, | |
| 234 | - log=self._log_clients, | |
| 235 | - debug=self._logDebug(), | |
| 236 | - chatter=self._chatter) | |
| 231 | + for model in models: | |
| 232 | + like = ctools.cterror(obs) | |
| 233 | + like['srcname'] = model.name() | |
| 234 | + like['edisp'] = edisp=self._edisp | |
| 235 | + like['debug'] = self._logDebug() | |
| 236 | + like['chatter'] = self._chatter | |
| 237 | + like.run() | |
| 237 | 238 | else: |
| 238 | - like = obsutils.fit(obs, edisp=self._edisp, | |
| 239 | - log=self._log_clients, | |
| 240 | - debug=self._logDebug(), | |
| 241 | - chatter=self._chatter) | |
| 239 | + like = ctools.ctlike(obs) | |
| 240 | + like['edisp'] = edisp=self._edisp | |
| 241 | + like['debug'] = self._logDebug() | |
| 242 | + like['chatter'] = self._chatter | |
| 243 | + like.run() | |
| 242 | 244 | |
| 243 | 245 | # Store results |
| 244 | 246 | logL = like.opt().value() | ... | ... |
cscripts/cssens.py
| ... | ... | @@ -72,7 +72,6 @@ class cssens(ctools.cscript): |
| 72 | 72 | self._max_iter = 50 |
| 73 | 73 | self._num_avg = 3 |
| 74 | 74 | self._log_clients = False |
| 75 | - self._debug = False | |
| 76 | 75 | |
| 77 | 76 | # Initialise application by calling the appropriate class |
| 78 | 77 | # constructor. |
| ... | ... | @@ -117,8 +116,8 @@ class cssens(ctools.cscript): |
| 117 | 116 | self._num_avg = self['num_avg'].integer() |
| 118 | 117 | self._type = self['type'].string() |
| 119 | 118 | |
| 120 | - # Set some fixed parameters | |
| 121 | - self._debug = self['debug'].boolean() # Debugging in client tools | |
| 119 | + # Query remaining parameters | |
| 120 | + self['debug'].boolean() | |
| 122 | 121 | |
| 123 | 122 | # Derive some parameters |
| 124 | 123 | self._ebounds = gammalib.GEbounds(self._bins, |
| ... | ... | @@ -347,7 +346,8 @@ class cssens(ctools.cscript): |
| 347 | 346 | # Simulate events |
| 348 | 347 | sim = obsutils.sim(self._obs, nbins=self._enumbins, seed=iterations, |
| 349 | 348 | binsz=self._binsz, npix=self._npix, |
| 350 | - log=self._log_clients, debug=self._debug, | |
| 349 | + log=self._log_clients, | |
| 350 | + debug=self['debug'].boolean(), | |
| 351 | 351 | edisp=self._edisp) |
| 352 | 352 | |
| 353 | 353 | # Determine number of events in simulation |
| ... | ... | @@ -363,8 +363,11 @@ class cssens(ctools.cscript): |
| 363 | 363 | self._log('\n') |
| 364 | 364 | |
| 365 | 365 | # Fit test source |
| 366 | - fit = obsutils.fit(sim, log=self._log_clients, debug=self._debug, | |
| 367 | - edisp=self._edisp) | |
| 366 | + fit = ctools.ctlike(sim) | |
| 367 | + fit['edisp'] = edisp=self._edisp | |
| 368 | + fit['debug'] = self['debug'].boolean() | |
| 369 | + fit['chatter'] = self['chatter'].integer() | |
| 370 | + fit.run() | |
| 368 | 371 | |
| 369 | 372 | # Get model fitting results |
| 370 | 373 | logL = fit.opt().value() | ... | ... |
cscripts/cstsdist.py
| ... | ... | @@ -165,8 +165,10 @@ class cstsdist(ctools.cscript): |
| 165 | 165 | self._log('\n') |
| 166 | 166 | |
| 167 | 167 | # Fit model |
| 168 | - fit = obsutils.fit(sim, log = self._log_clients, | |
| 169 | - debug = self['debug'].boolean()) | |
| 168 | + fit = ctools.ctlike(sim) | |
| 169 | + fit['debug'] = self['debug'].boolean() | |
| 170 | + fit['chatter'] = self['chatter'].integer() | |
| 171 | + fit.run() | |
| 170 | 172 | |
| 171 | 173 | # Get model fitting results |
| 172 | 174 | logL = fit.opt().value() | ... | ... |
cscripts/obsutils.py
| ... | ... | @@ -193,90 +193,6 @@ def sim(obs, log=False, debug=False, chatter=2, edisp=False, seed=0, |
| 193 | 193 | return obs |
| 194 | 194 | |
| 195 | 195 | |
| 196 | -# ================ # | |
| 197 | -# Fit observations # | |
| 198 | -# ================ # | |
| 199 | -def fit(obs, log=False, debug=False, chatter=2, edisp=False): | |
| 200 | - """ | |
| 201 | - Perform maximum likelihood fitting of observations in the container | |
| 202 | - | |
| 203 | - Parameters | |
| 204 | - ---------- | |
| 205 | - obs : `~gammalib.GObservations` | |
| 206 | - Observation container | |
| 207 | - log : bool, optional | |
| 208 | - Create log file(s) | |
| 209 | - debug : bool, optional | |
| 210 | - Create console dump? | |
| 211 | - chatter : int, optional | |
| 212 | - Chatter level | |
| 213 | - edisp : bool, optional | |
| 214 | - Apply energy dispersion? | |
| 215 | - | |
| 216 | - Returns | |
| 217 | - ------- | |
| 218 | - like : `~ctools.ctlike` | |
| 219 | - ctlike application | |
| 220 | - """ | |
| 221 | - # Allocate ctlike application and set parameters | |
| 222 | - like = ctools.ctlike(obs) | |
| 223 | - like['debug'] = debug | |
| 224 | - like['chatter'] = chatter | |
| 225 | - like['edisp'] = edisp | |
| 226 | - | |
| 227 | - # Optionally open the log file | |
| 228 | - if log: | |
| 229 | - like.logFileOpen() | |
| 230 | - | |
| 231 | - # Run ctlike application. | |
| 232 | - like.run() | |
| 233 | - | |
| 234 | - # Return observations | |
| 235 | - return like | |
| 236 | - | |
| 237 | - | |
| 238 | -# ============================================================== # | |
| 239 | -# Fit observations and determine errors using likelihood profile # | |
| 240 | -# ============================================================== # | |
| 241 | -def cterror(obs, srcname, log=False, debug=False, chatter=2): | |
| 242 | - """ | |
| 243 | - Fit observations and determine errors using likelihood profile | |
| 244 | - | |
| 245 | - Parameters | |
| 246 | - ---------- | |
| 247 | - obs : `~gammalib.GObservations` | |
| 248 | - Observation container | |
| 249 | - srcname : str | |
| 250 | - Source name | |
| 251 | - log : bool, optional | |
| 252 | - Create log file(s) | |
| 253 | - debug : bool, optional | |
| 254 | - Create console dump? | |
| 255 | - chatter : int, optional | |
| 256 | - Chatter level | |
| 257 | - | |
| 258 | - Returns | |
| 259 | - ------- | |
| 260 | - error : `~ctools.cterror` | |
| 261 | - cterror application | |
| 262 | - """ | |
| 263 | - # Allocate cterror application and set parameters | |
| 264 | - error = ctools.cterror(obs) | |
| 265 | - error['srcname'] = srcname | |
| 266 | - error['debug'] = debug | |
| 267 | - error['chatter'] = chatter | |
| 268 | - | |
| 269 | - # Optionally open the log file | |
| 270 | - if log: | |
| 271 | - error.logFileOpen() | |
| 272 | - | |
| 273 | - # Run cterror application. | |
| 274 | - error.run() | |
| 275 | - | |
| 276 | - # Return observations | |
| 277 | - return error | |
| 278 | - | |
| 279 | - | |
| 280 | 196 | # ======================= # |
| 281 | 197 | # Set one CTA observation # |
| 282 | 198 | # ======================= # |
| ... | ... | @@ -640,8 +556,8 @@ def get_stacked_response(obs, xref, yref, binsz=0.05, nxpix=200, nypix=200, |
| 640 | 556 | result : dict |
| 641 | 557 | Dictionary of response cubes |
| 642 | 558 | """ |
| 643 | - # Compute spatial binning for point spread function and | |
| 644 | - # energy dispersion cubes | |
| 559 | + # Compute spatial binning for point spread function and energy dispersion | |
| 560 | + # cubes | |
| 645 | 561 | psf_binsz = 10.0 * binsz |
| 646 | 562 | psf_nxpix = min(nxpix // 10, 2) # Make sure result is int |
| 647 | 563 | psf_nypix = min(nypix // 10, 2) # Make sure result is int | ... | ... |