Commit b7dd76b35e6d2fd74ff010258ffa7606e072dbf5
1 parent
371a3061
Removed PROGRESS MAP, use STATUS MAP to indicate fit status and progress of computations
Showing
3 changed files
with
106 additions
and
105 deletions
cscripts/cstsmapmerge.py
| @@ -46,7 +46,7 @@ class cstsmapmerge(ctools.cscript): | @@ -46,7 +46,7 @@ class cstsmapmerge(ctools.cscript): | ||
| 46 | self._files = None | 46 | self._files = None |
| 47 | self._in_filename = '' | 47 | self._in_filename = '' |
| 48 | self._tsmap = gammalib.GSkyMap() # Empty sky map | 48 | self._tsmap = gammalib.GSkyMap() # Empty sky map |
| 49 | - self._progressmap = gammalib.GSkyMap() # Empty sky map | 49 | + self._statusmap = gammalib.GSkyMap() # Empty sky map |
| 50 | self._maps = [] | 50 | self._maps = [] |
| 51 | self._mapnames = [] | 51 | self._mapnames = [] |
| 52 | self._merged_files = [] | 52 | self._merged_files = [] |
| @@ -119,9 +119,7 @@ class cstsmapmerge(ctools.cscript): | @@ -119,9 +119,7 @@ class cstsmapmerge(ctools.cscript): | ||
| 119 | self['outmap'].filename() | 119 | self['outmap'].filename() |
| 120 | 120 | ||
| 121 | # Write input parameters into logger | 121 | # Write input parameters into logger |
| 122 | - if self._logTerse(): | ||
| 123 | - self._log_parameters() | ||
| 124 | - self._log('\n') | 122 | + self._log_parameters(gammalib.TERSE) |
| 125 | 123 | ||
| 126 | # Return | 124 | # Return |
| 127 | return | 125 | return |
| @@ -136,11 +134,11 @@ class cstsmapmerge(ctools.cscript): | @@ -136,11 +134,11 @@ class cstsmapmerge(ctools.cscript): | ||
| 136 | # Open FITS file | 134 | # Open FITS file |
| 137 | fits = gammalib.GFits(fitsfile) | 135 | fits = gammalib.GFits(fitsfile) |
| 138 | 136 | ||
| 139 | - # Read TS and progress maps | 137 | + # Read TS and status maps |
| 140 | self._tsmap = gammalib.GSkyMap() | 138 | self._tsmap = gammalib.GSkyMap() |
| 141 | self._tsmap.read(fits[0]) | 139 | self._tsmap.read(fits[0]) |
| 142 | - self._progressmap = gammalib.GSkyMap() | ||
| 143 | - self._progressmap.read(fits["PROGRESS MAP"]) | 140 | + self._statusmap = gammalib.GSkyMap() |
| 141 | + self._statusmap.read(fits['STATUS MAP']) | ||
| 144 | 142 | ||
| 145 | # Get other maps | 143 | # Get other maps |
| 146 | self._maps = [] | 144 | self._maps = [] |
| @@ -149,8 +147,8 @@ class cstsmapmerge(ctools.cscript): | @@ -149,8 +147,8 @@ class cstsmapmerge(ctools.cscript): | ||
| 149 | # Loop over extensions | 147 | # Loop over extensions |
| 150 | for hdu in fits: | 148 | for hdu in fits: |
| 151 | 149 | ||
| 152 | - # Leave out primary and progress extension | ||
| 153 | - if hdu.extname() != "IMAGE" and hdu.extname() != "PROGRESS MAP": | 150 | + # Leave out primary and status extension |
| 151 | + if hdu.extname() != "IMAGE" and hdu.extname() != 'STATUS MAP': | ||
| 154 | 152 | ||
| 155 | # Add present maps | 153 | # Add present maps |
| 156 | skymap = gammalib.GSkyMap() | 154 | skymap = gammalib.GSkyMap() |
| @@ -174,11 +172,11 @@ class cstsmapmerge(ctools.cscript): | @@ -174,11 +172,11 @@ class cstsmapmerge(ctools.cscript): | ||
| 174 | # Open FITS file | 172 | # Open FITS file |
| 175 | fits = gammalib.GFits(fitsfile) | 173 | fits = gammalib.GFits(fitsfile) |
| 176 | 174 | ||
| 177 | - # Read TS and progress maps | 175 | + # Read TS and status maps |
| 178 | add_tsmap = gammalib.GSkyMap() | 176 | add_tsmap = gammalib.GSkyMap() |
| 179 | add_tsmap.read(fits[0]) | 177 | add_tsmap.read(fits[0]) |
| 180 | - add_progressmap = gammalib.GSkyMap() | ||
| 181 | - add_progressmap.read(fits["PROGRESS MAP"]) | 178 | + add_statusmap = gammalib.GSkyMap() |
| 179 | + add_statusmap.read(fits['STATUS MAP']) | ||
| 182 | 180 | ||
| 183 | # Get other maps | 181 | # Get other maps |
| 184 | add_maps = [] | 182 | add_maps = [] |
| @@ -186,8 +184,8 @@ class cstsmapmerge(ctools.cscript): | @@ -186,8 +184,8 @@ class cstsmapmerge(ctools.cscript): | ||
| 186 | # Loop over extensions | 184 | # Loop over extensions |
| 187 | for hdu in fits: | 185 | for hdu in fits: |
| 188 | 186 | ||
| 189 | - # Leave out primary and progress extension | ||
| 190 | - if hdu.extname() != "IMAGE" and hdu.extname() != "PROGRESS MAP": | 187 | + # Leave out primary and status extension |
| 188 | + if hdu.extname() != "IMAGE" and hdu.extname() != 'STATUS MAP': | ||
| 191 | 189 | ||
| 192 | # Add present maps | 190 | # Add present maps |
| 193 | skymap = gammalib.GSkyMap() | 191 | skymap = gammalib.GSkyMap() |
| @@ -208,10 +206,10 @@ class cstsmapmerge(ctools.cscript): | @@ -208,10 +206,10 @@ class cstsmapmerge(ctools.cscript): | ||
| 208 | for i in range(self._tsmap.npix()): | 206 | for i in range(self._tsmap.npix()): |
| 209 | 207 | ||
| 210 | # Consider only bins that have been computed | 208 | # Consider only bins that have been computed |
| 211 | - if add_progressmap[i] > 0.5: | 209 | + if add_statusmap[i] > -0.5: |
| 212 | 210 | ||
| 213 | # Raise exception if this bin has already been computed | 211 | # Raise exception if this bin has already been computed |
| 214 | - if self._progressmap[i] > 0.5 and not self._overwrite: | 212 | + if self._statusmap[i] > -0.5 and not self._overwrite: |
| 215 | msg = "Attempt to merge bin which apparently has "+\ | 213 | msg = "Attempt to merge bin which apparently has "+\ |
| 216 | "already been merged. File \""+fitsfile+"\" "+\ | 214 | "already been merged. File \""+fitsfile+"\" "+\ |
| 217 | "contains already merged bins. Set hidden "+\ | 215 | "contains already merged bins. Set hidden "+\ |
| @@ -221,8 +219,8 @@ class cstsmapmerge(ctools.cscript): | @@ -221,8 +219,8 @@ class cstsmapmerge(ctools.cscript): | ||
| 221 | # Copy TS values | 219 | # Copy TS values |
| 222 | self._tsmap[i] = add_tsmap[i] | 220 | self._tsmap[i] = add_tsmap[i] |
| 223 | 221 | ||
| 224 | - # Copy progress | ||
| 225 | - self._progressmap[i] = add_progressmap[i] | 222 | + # Copy status |
| 223 | + self._statusmap[i] = add_statusmap[i] | ||
| 226 | 224 | ||
| 227 | # Loop over maps and copy entries | 225 | # Loop over maps and copy entries |
| 228 | for j in range(len(self._maps)): | 226 | for j in range(len(self._maps)): |
| @@ -241,13 +239,13 @@ class cstsmapmerge(ctools.cscript): | @@ -241,13 +239,13 @@ class cstsmapmerge(ctools.cscript): | ||
| 241 | Returns: | 239 | Returns: |
| 242 | Number of pixels for which TS has been computed. | 240 | Number of pixels for which TS has been computed. |
| 243 | """ | 241 | """ |
| 244 | - # Get progress map for this file | ||
| 245 | - progress = gammalib.GSkyMap(fitsfile+"[PROGRESS MAP]") | 242 | + # Get status map for this file |
| 243 | + status = gammalib.GSkyMap(fitsfile+"[STATUS MAP]") | ||
| 246 | 244 | ||
| 247 | # Count number of pixels with TS status set | 245 | # Count number of pixels with TS status set |
| 248 | count = 0 | 246 | count = 0 |
| 249 | - for pix in progress: | ||
| 250 | - if pix > 0.5: | 247 | + for pix in status: |
| 248 | + if pix > -0.5: | ||
| 251 | count += 1 | 249 | count += 1 |
| 252 | 250 | ||
| 253 | # Return number of pixels | 251 | # Return number of pixels |
| @@ -275,49 +273,56 @@ class cstsmapmerge(ctools.cscript): | @@ -275,49 +273,56 @@ class cstsmapmerge(ctools.cscript): | ||
| 275 | file0 = "" | 273 | file0 = "" |
| 276 | self._merged_files = [] | 274 | self._merged_files = [] |
| 277 | 275 | ||
| 278 | - # Test files for the entry progress map. Use the first one to appear | 276 | + # Test files for the entry status map. Use the first one to appear |
| 279 | # useful | 277 | # useful |
| 280 | for fitsfile in self._files: | 278 | for fitsfile in self._files: |
| 281 | 279 | ||
| 282 | # Skip file if it's not a FITS file | 280 | # Skip file if it's not a FITS file |
| 283 | if not gammalib.GFilename(fitsfile).is_fits(): | 281 | if not gammalib.GFilename(fitsfile).is_fits(): |
| 284 | - if self._logExplicit(): | ||
| 285 | - self._log(gammalib.parformat("Skip file")) | ||
| 286 | - self._log(fitsfile) | ||
| 287 | - self._log(" (not a FITS file)\n") | 282 | + |
| 283 | + # Log message | ||
| 284 | + self._log_value(gammalib.EXPLICIT, "Skip file", fitsfile +" (not a FITS file)") | ||
| 285 | + | ||
| 286 | + # Continue | ||
| 288 | continue | 287 | continue |
| 289 | 288 | ||
| 290 | # Open FITS file | 289 | # Open FITS file |
| 291 | fits = gammalib.GFits(fitsfile) | 290 | fits = gammalib.GFits(fitsfile) |
| 292 | 291 | ||
| 293 | - # If file contains a progress map then use it | ||
| 294 | - if fits.contains("PROGRESS MAP"): | 292 | + # If file contains a status map then use it |
| 293 | + if fits.contains('STATUS MAP'): | ||
| 294 | + | ||
| 295 | + # Close FITS file | ||
| 295 | fits.close() | 296 | fits.close() |
| 297 | + | ||
| 298 | + # Set filename to initial filename | ||
| 296 | file0 = fitsfile | 299 | file0 = fitsfile |
| 297 | - if self._logTerse(): | ||
| 298 | - self._log(gammalib.parformat("Initial TS map file")) | ||
| 299 | - self._log(fitsfile) | ||
| 300 | - count = self._get_number_of_ts_pixels(fitsfile) | ||
| 301 | - self._log(" (%d TS pixels computed)" % count) | ||
| 302 | - self._log("\n") | 300 | + |
| 301 | + # Log message | ||
| 302 | + pix_info = " (%d TS pixels computed)" % self._get_number_of_ts_pixels(fitsfile) | ||
| 303 | + self._log_value(gammalib.TERSE, "Initial TS map file", fitsfile + pix_info) | ||
| 304 | + | ||
| 305 | + # Leave loop | ||
| 303 | break | 306 | break |
| 304 | 307 | ||
| 305 | # ... otherwise signal that file is useless | 308 | # ... otherwise signal that file is useless |
| 306 | else: | 309 | else: |
| 307 | - fits.close() | ||
| 308 | - if self._logExplicit(): | ||
| 309 | - self._log(gammalib.parformat("Skip file")) | ||
| 310 | - self._log(fitsfile) | ||
| 311 | - self._log(" (no \"PROGRESS MAP\" extension)\n") | 310 | + |
| 311 | + # Close fits file | ||
| 312 | + fits.close() | ||
| 313 | + | ||
| 314 | + # Info message | ||
| 315 | + self._log_value(gammalib.EXPLICIT, "Skip file", fitsfile +" (no \"STATUS MAP\" extension)") | ||
| 316 | + | ||
| 317 | + # Continue | ||
| 312 | continue | 318 | continue |
| 313 | 319 | ||
| 314 | # Signal if no suitable file was found | 320 | # Signal if no suitable file was found |
| 315 | if file0 == "": | 321 | if file0 == "": |
| 316 | - if self._logTerse(): | ||
| 317 | - self._log("None of the provided files seems to be a sliced " | ||
| 318 | - "TS map file (none has a \"PROGRESS MAP\" " | ||
| 319 | - "extension).\n") | ||
| 320 | - | 322 | + self._log_string(gammalib.TERSE, "None of the provided files seems to be a sliced " |
| 323 | + "TS map file (none has a \"STATUS MAP\" " | ||
| 324 | + "extension).\n") | ||
| 325 | + | ||
| 321 | # ... otherwise merge files | 326 | # ... otherwise merge files |
| 322 | else: | 327 | else: |
| 323 | 328 | ||
| @@ -338,34 +343,24 @@ class cstsmapmerge(ctools.cscript): | @@ -338,34 +343,24 @@ class cstsmapmerge(ctools.cscript): | ||
| 338 | 343 | ||
| 339 | # Skip if file is not FITS | 344 | # Skip if file is not FITS |
| 340 | if not gammalib.GFilename(fitsfile).is_fits(): | 345 | if not gammalib.GFilename(fitsfile).is_fits(): |
| 341 | - if self._logExplicit(): | ||
| 342 | - self._log(gammalib.parformat("Skip file")) | ||
| 343 | - self._log(fitsfile) | ||
| 344 | - self._log(" (not a FITS file)\n") | 346 | + self._log_value(gammalib.EXPLICIT, "Skip file", fitsfile +" (not a FITS file)") |
| 345 | continue | 347 | continue |
| 346 | 348 | ||
| 347 | # Open FITS file | 349 | # Open FITS file |
| 348 | fits = gammalib.GFits(fitsfile) | 350 | fits = gammalib.GFits(fitsfile) |
| 349 | 351 | ||
| 350 | - # Skip if file does not contain progress map | ||
| 351 | - if not fits.contains("PROGRESS MAP"): | 352 | + # Skip if file does not contain status map |
| 353 | + if not fits.contains('STATUS MAP'): | ||
| 352 | fits.close() | 354 | fits.close() |
| 353 | - if self._logExplicit(): | ||
| 354 | - self._log(gammalib.parformat("Skip file")) | ||
| 355 | - self._log(fitsfile) | ||
| 356 | - self._log(" (no \"PROGRESS MAP\" extension)\n") | 355 | + self._log_value(gammalib.EXPLICIT, "Skip file", fitsfile +" (no \"STATUS MAP\" extension)") |
| 357 | continue | 356 | continue |
| 358 | 357 | ||
| 359 | # Close FITS file | 358 | # Close FITS file |
| 360 | fits.close() | 359 | fits.close() |
| 361 | 360 | ||
| 362 | # Logging | 361 | # Logging |
| 363 | - if self._logTerse(): | ||
| 364 | - self._log(gammalib.parformat("Merge TS map file")) | ||
| 365 | - self._log(fitsfile) | ||
| 366 | - count = self._get_number_of_ts_pixels(fitsfile) | ||
| 367 | - self._log(" (%d TS pixels computed)" % count) | ||
| 368 | - self._log("\n") | 362 | + pix_info = " (%d TS pixels computed)" % self._get_number_of_ts_pixels(fitsfile) |
| 363 | + self._log_value(gammalib.TERSE, "Merge TS map file", fitsfile + pix_info) | ||
| 369 | 364 | ||
| 370 | # Merge TS map | 365 | # Merge TS map |
| 371 | self._merge_ts_map(fitsfile) | 366 | self._merge_ts_map(fitsfile) |
| @@ -380,19 +375,9 @@ class cstsmapmerge(ctools.cscript): | @@ -380,19 +375,9 @@ class cstsmapmerge(ctools.cscript): | ||
| 380 | """ | 375 | """ |
| 381 | Save TS map and remove slices if requested. | 376 | Save TS map and remove slices if requested. |
| 382 | """ | 377 | """ |
| 383 | - # Write header | ||
| 384 | - if self._logTerse(): | ||
| 385 | - self._log("\n") | ||
| 386 | - self._log.header1("Save TS map") | ||
| 387 | 378 | ||
| 388 | # Get output filename in case it was not read ahead | 379 | # Get output filename in case it was not read ahead |
| 389 | outmap = self["outmap"].filename() | 380 | outmap = self["outmap"].filename() |
| 390 | - | ||
| 391 | - # Log filename | ||
| 392 | - if self._logTerse(): | ||
| 393 | - self._log(gammalib.parformat("TS map file")) | ||
| 394 | - self._log(outmap.url()) | ||
| 395 | - self._log("\n") | ||
| 396 | 381 | ||
| 397 | # Create FITS file | 382 | # Create FITS file |
| 398 | fits = gammalib.GFits() | 383 | fits = gammalib.GFits() |
| @@ -408,29 +393,58 @@ class cstsmapmerge(ctools.cscript): | @@ -408,29 +393,58 @@ class cstsmapmerge(ctools.cscript): | ||
| 408 | for i in range(len(self._mapnames)): | 393 | for i in range(len(self._mapnames)): |
| 409 | fits[i+1].extname(self._mapnames[i]) | 394 | fits[i+1].extname(self._mapnames[i]) |
| 410 | 395 | ||
| 396 | + # Treat status map separately | ||
| 397 | + self._statusmap.write(fits) | ||
| 398 | + fits[fits.size()-1].extname('STATUS MAP') | ||
| 399 | + | ||
| 411 | # Check if map is fully done | 400 | # Check if map is fully done |
| 412 | - done = True | ||
| 413 | - for pix in self._progressmap: | ||
| 414 | - if pix < 0.5: | ||
| 415 | - done = False | ||
| 416 | - break | 401 | + bins_merged = 0 |
| 402 | + for pix in self._statusmap: | ||
| 403 | + if pix > -0.5: | ||
| 404 | + bins_merged += 1 | ||
| 405 | + | ||
| 406 | + # Set boolean if map is fully done | ||
| 407 | + done = (bins_merged == self._tsmaps.npix()) | ||
| 417 | 408 | ||
| 418 | - # Write progress map if we are not done yet | 409 | + # Log summary header |
| 410 | + self._log_header2(gammalib.TERSE, "Merging Summary") | ||
| 411 | + | ||
| 412 | + # Write status map if we are not done yet | ||
| 419 | if not done: | 413 | if not done: |
| 420 | - self._progressmap.write(fits) | ||
| 421 | - fits[fits.size()-1].extname("PROGRESS MAP") | 414 | + |
| 415 | + # Log bins that were computed and those that were missing | ||
| 416 | + self._log_value(gammalib.TERSE, "TS map bins", self._tsmap.npix()) | ||
| 417 | + self._log_value(gammalib.TERSE, "Bins computed and merged", bins_merged ) | ||
| 418 | + self._log_value(gammalib.TERSE, "Bins missing", self._tsmap.npix() - bins_merged) | ||
| 419 | + | ||
| 420 | + else: | ||
| 421 | + | ||
| 422 | + # Write success message | ||
| 423 | + self._log_string(gammalib.TERSE, "TS map was fully computed and successfully merged") | ||
| 424 | + | ||
| 425 | + # Write header | ||
| 426 | + self._log_header1(gammalib.TERSE, "Save TS map") | ||
| 427 | + | ||
| 428 | + # Log filename | ||
| 429 | + self._log_value(gammalib.TERSE, "TS map file", outmap.url()) | ||
| 422 | 430 | ||
| 423 | # Save FITS file | 431 | # Save FITS file |
| 424 | - fits.saveto(outmap, self._clobber()) | 432 | + fits.saveto(outmap, self._clobber()) |
| 425 | 433 | ||
| 426 | - # Delete TS input maps if requested | ||
| 427 | - if self._delete: | 434 | + # Delete TS input maps if requested and map is fully done |
| 435 | + if self._delete and done: | ||
| 436 | + | ||
| 437 | + # Log header | ||
| 438 | + self._log_header2(gammalib.TERSE, "Delete slices TS map files") | ||
| 439 | + | ||
| 440 | + # Loop over sliced files | ||
| 428 | for filename in self._merged_files: | 441 | for filename in self._merged_files: |
| 442 | + | ||
| 443 | + # Remove file | ||
| 429 | os.remove(filename) | 444 | os.remove(filename) |
| 430 | - if self._logTerse(): | ||
| 431 | - self._log(gammalib.parformat("Deleted input file")) | ||
| 432 | - self._log(filename) | ||
| 433 | - self._log("\n") | 445 | + |
| 446 | + # Log message about file | ||
| 447 | + self._log_value(gammalib.TERSE,"Deleted input file", filename) | ||
| 434 | 448 | ||
| 435 | # Return | 449 | # Return |
| 436 | return | 450 | return |
src/cttsmap/cttsmap.cpp
| @@ -210,10 +210,7 @@ void cttsmap::run(void) | @@ -210,10 +210,7 @@ void cttsmap::run(void) | ||
| 210 | get_parameters(); | 210 | get_parameters(); |
| 211 | 211 | ||
| 212 | // Write parameters into logger | 212 | // Write parameters into logger |
| 213 | - if (logTerse()) { | ||
| 214 | - log_parameters(); | ||
| 215 | - log << std::endl; | ||
| 216 | - } | 213 | + log_parameters(TERSE); |
| 217 | 214 | ||
| 218 | // Set energy dispersion flag for all CTA observations and save old | 215 | // Set energy dispersion flag for all CTA observations and save old |
| 219 | // values in save_edisp vector | 216 | // values in save_edisp vector |
| @@ -372,9 +369,6 @@ void cttsmap::run(void) | @@ -372,9 +369,6 @@ void cttsmap::run(void) | ||
| 372 | // Set Fit status of the bin | 369 | // Set Fit status of the bin |
| 373 | m_statusmap(i) = status; | 370 | m_statusmap(i) = status; |
| 374 | 371 | ||
| 375 | - // Add bin to progress map | ||
| 376 | - m_progressmap(i) = 1.0; | ||
| 377 | - | ||
| 378 | // Remove model from container | 372 | // Remove model from container |
| 379 | models.remove(m_srcname); | 373 | models.remove(m_srcname); |
| 380 | 374 | ||
| @@ -444,12 +438,6 @@ void cttsmap::save(void) | @@ -444,12 +438,6 @@ void cttsmap::save(void) | ||
| 444 | m_statusmap.write(fits); | 438 | m_statusmap.write(fits); |
| 445 | fits[fits.size()-1]->extname("FITSTATUS"); | 439 | fits[fits.size()-1]->extname("FITSTATUS"); |
| 446 | 440 | ||
| 447 | - // Add computation log if not all bins are computed | ||
| 448 | - if (m_binmin != -1 || m_binmax != -1) { | ||
| 449 | - m_progressmap.write(fits); | ||
| 450 | - fits[m_mapnames.size()+1]->extname("PROGRESS MAP"); | ||
| 451 | - } | ||
| 452 | - | ||
| 453 | // Save FITS file | 441 | // Save FITS file |
| 454 | fits.saveto(m_outmap, clobber()); | 442 | fits.saveto(m_outmap, clobber()); |
| 455 | 443 | ||
| @@ -518,7 +506,6 @@ void cttsmap::init_members(void) | @@ -518,7 +506,6 @@ void cttsmap::init_members(void) | ||
| 518 | m_logL0 = 0.0; | 506 | m_logL0 = 0.0; |
| 519 | m_tsmap.clear(); | 507 | m_tsmap.clear(); |
| 520 | m_statusmap.clear(); | 508 | m_statusmap.clear(); |
| 521 | - m_progressmap.clear(); | ||
| 522 | m_mapnames.clear(); | 509 | m_mapnames.clear(); |
| 523 | m_maps.clear(); | 510 | m_maps.clear(); |
| 524 | m_testsource = NULL; | 511 | m_testsource = NULL; |
| @@ -551,7 +538,6 @@ void cttsmap::copy_members(const cttsmap& app) | @@ -551,7 +538,6 @@ void cttsmap::copy_members(const cttsmap& app) | ||
| 551 | m_mapnames = app.m_mapnames; | 538 | m_mapnames = app.m_mapnames; |
| 552 | m_maps = app.m_maps; | 539 | m_maps = app.m_maps; |
| 553 | m_statusmap = app.m_statusmap; | 540 | m_statusmap = app.m_statusmap; |
| 554 | - m_progressmap = app.m_progressmap; | ||
| 555 | 541 | ||
| 556 | // Clone protected members | 542 | // Clone protected members |
| 557 | m_testsource = (app.m_testsource != NULL) ? app.m_testsource->clone() : NULL; | 543 | m_testsource = (app.m_testsource != NULL) ? app.m_testsource->clone() : NULL; |
| @@ -684,11 +670,13 @@ void cttsmap::init_maps(const GSkyMap& map) | @@ -684,11 +670,13 @@ void cttsmap::init_maps(const GSkyMap& map) | ||
| 684 | 670 | ||
| 685 | // Initialise map information | 671 | // Initialise map information |
| 686 | m_statusmap.clear(); | 672 | m_statusmap.clear(); |
| 687 | - m_progressmap.clear(); | ||
| 688 | 673 | ||
| 689 | // Create status map and progress map | 674 | // Create status map and progress map |
| 690 | - m_statusmap = GSkyMap(map); | ||
| 691 | - m_progressmap = GSkyMap(map); | 675 | + m_statusmap = GSkyMap(map); |
| 676 | + | ||
| 677 | + // Set status map to invalid value -1 to signal | ||
| 678 | + // that bin wasn't computed yet | ||
| 679 | + m_statusmap = -1.0; | ||
| 692 | 680 | ||
| 693 | // Initialise maps of free parameters | 681 | // Initialise maps of free parameters |
| 694 | if (m_testsource != NULL) { | 682 | if (m_testsource != NULL) { |
src/cttsmap/cttsmap.hpp
| @@ -100,7 +100,6 @@ protected: | @@ -100,7 +100,6 @@ protected: | ||
| 100 | GObservations m_obs; //!< Observation container | 100 | GObservations m_obs; //!< Observation container |
| 101 | GSkyMap m_tsmap; //!< TS map | 101 | GSkyMap m_tsmap; //!< TS map |
| 102 | GSkyMap m_statusmap; //!< Map of optimizer fit status | 102 | GSkyMap m_statusmap; //!< Map of optimizer fit status |
| 103 | - GSkyMap m_progressmap; //!< Map of computed bins | ||
| 104 | std::vector<std::string> m_mapnames; //!< Names of free parameters | 103 | std::vector<std::string> m_mapnames; //!< Names of free parameters |
| 105 | std::vector<GSkyMap> m_maps; //!< Sky maps for each free parameter | 104 | std::vector<GSkyMap> m_maps; //!< Sky maps for each free parameter |
| 106 | GModel* m_testsource; //!< Pointer to test source for TS computation | 105 | GModel* m_testsource; //!< Pointer to test source for TS computation |