Update program state based on metadata: -- enable controls (mostly ``View Metadata`` button in ``File IO`` tab -- set incident energy if it is available -- print logger warning if incident energy is not available in metadata (or if metadata does not exist)
(self)
| 235 | return db is not None |
| 236 | |
| 237 | def _metadata_update_program_state(self): |
| 238 | """ |
| 239 | Update program state based on metadata: |
| 240 | |
| 241 | -- enable controls (mostly ``View Metadata`` button in ``File IO`` tab |
| 242 | |
| 243 | -- set incident energy if it is available |
| 244 | |
| 245 | -- print logger warning if incident energy is not available in metadata |
| 246 | (or if metadata does not exist) |
| 247 | """ |
| 248 | |
| 249 | self.scan_metadata_available = False |
| 250 | self.incident_energy_available = False |
| 251 | if self.scan_metadata is not None: |
| 252 | self.scan_metadata_available = self.scan_metadata.is_metadata_available() |
| 253 | self.incident_energy_available = self.scan_metadata.is_mono_incident_energy_available() |
| 254 | |
| 255 | if self.incident_energy_available: |
| 256 | # Fetch incident energy from metadata if it exists |
| 257 | self.incident_energy_set = self.scan_metadata.get_mono_incident_energy() |
| 258 | logger.info(f"Incident energy {self.incident_energy_set} keV was extracted from the scan metadata") |
| 259 | else: |
| 260 | logger.warning( |
| 261 | "Incident energy is not available in scan metadata and needs to be set manually:\n" |
| 262 | " Click 'Find Elements Automatically' button in 'Fit' " |
| 263 | "tab to access the settings dialog box." |
| 264 | ) |
| 265 | |
| 266 | def clear(self): |
| 267 | """ |
no test coverage detected