#!/usr/bin/env python
"""
.. py:currentmodule:: FileFormat.Results.SpectrumEDS
.. moduleauthor:: Hendrix Demers <hendrix.demers@mail.mcgill.ca>
Read MCXRay EDS spectrm from results file.
"""
# Script information for the file.
__author__ = "Hendrix Demers (hendrix.demers@mail.mcgill.ca)"
__version__ = ""
__date__ = ""
__copyright__ = "Copyright (c) 2012 Hendrix Demers"
__license__ = ""
# Subversion informations for the file.
__svnRevision__ = "$Revision$"
__svnDate__ = "$Date$"
__svnId__ = "$Id$"
# Standard library modules.
import logging
# Third party modules.
# Local modules.
# Project modules
# Globals and constants variables.
KEY_CHANNEL = "channel"
KEY_ENERGY_keV = "Eref"
KEY_COUNTS = "Iref"
[docs]class SpectrumEDS(object):
def __init__(self, lines=None):
self._parameters = {}
self.channels = []
self.enegies_keV = []
self.countsList = []
if lines is not None:
self.readLines(lines)
[docs] def readLines(self, lines):
for line in lines:
try:
items = line.split(',')
for item in items:
key, value = item.split('=')
key = key.strip()
if key == KEY_CHANNEL:
self.channels.append(int(value))
elif key == KEY_ENERGY_keV:
self.enegies_keV.append(float(value))
elif key == KEY_COUNTS:
self.countsList.append(float(value))
except ValueError as message:
logging.info(message)
@property
def channels(self):
return self._parameters[KEY_CHANNEL]
@channels.setter
def channels(self, channels):
self._parameters[KEY_CHANNEL] = channels
@property
def enegies_keV(self):
return self._parameters[KEY_ENERGY_keV]
@enegies_keV.setter
def enegies_keV(self, enegies_keV):
self._parameters[KEY_ENERGY_keV] = enegies_keV
@property
def countsList(self):
return self._parameters[KEY_COUNTS]
@countsList.setter
def countsList(self, countsList):
self._parameters[KEY_COUNTS] = countsList