Commit e0b4e561 authored by Zolnierczuk, Piotr's avatar Zolnierczuk, Piotr
Browse files

refactoring

parent fe26b770
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
#!/usr/bin/env python
"ATARI Plot utils"

import warnings
#import warnings

from functools import partial
from collections import namedtuple
+1 −1
Original line number Diff line number Diff line
@@ -3,4 +3,4 @@ pysen I/O module
"""
#from .fit    import *
from .reader import read_echo, read_magnetic, read_detimage
from .hdf    import HdfConverter
from .hdf    import HdfConverter, echo_to_hdf, magnetic_to_hdf
+34 −4
Original line number Diff line number Diff line
#!/usr/bin/env python

"""Convert .echo to HDF5"""
import os.path
import logging

import h5py
import numpy as np


from ..revision  import version
from ..iostrings import encode
from .reader     import read_echo, read_magnetic


#FIXME: we need to work on the idea of a schema (or not???)
SCHEMA_DEFAULT = {
@@ -30,9 +34,7 @@ SCHEMA_DEFAULT = {
SCHEMAS = { 'default': SCHEMA_DEFAULT, }




class HdfConverter(object):
class HdfConverter:
    """Class to convert .echo files into HDF5

    example::
@@ -128,3 +130,31 @@ class HdfConverter(object):
            elif key:
                value = encode(value)
                subgroup.attrs[subkey] = value


def echo_to_hdf(filename, outdir, **kwargs):
    """convert .echo file into an HDF file """
    mode   = kwargs.pop('mode', 'w')
    schema = kwargs.pop('schema', None)
    compression = kwargs.pop('compression', None)

    outfile, _ = os.path.splitext(os.path.basename(filename))
    outfile = os.path.join(outdir, outfile + ".h5")
    converter = HdfConverter(outfile, mode=mode, version=version())
    data = read_echo(filename)
    converter.write(data, compression=compression, schema=schema)
    return outfile


def magnetic_to_hdf(filename, outdir, **kwargs):
    """convert magnetic up/down .dat file into an HDF file """
    mode   = kwargs.pop('mode', 'w')
    schema = kwargs.pop('schema', None)
    compression = kwargs.pop('compression', None)

    outfile, _ = os.path.splitext(os.path.basename(filename))
    outfile = os.path.join(outdir, outfile + ".h5")
    converter = HdfConverter(outfile, mode=mode, version=version())
    data = read_magnetic(filename)
    converter.write(data, compression=compression, schema=schema)
    return outfile
+3 −3
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ def parse_keywords(line, mode=0):
    if not line or re.match(_RE_COMMENT, line):
        return result
    tokens = re.findall(_RE_TOKEN, line)
    if len(tokens)<1:
    if not tokens:
        return result
    keyword = tokens[0]
    tokens  = iter(tokens[1:])
@@ -478,7 +478,7 @@ def read_echo(filename):
    ipar = 0
    while True:
        ipar = ipar + 1
        if slength>0 and ipar>slength:
        if 0 < slength < ipar:
            break
        try:
            tech    = read_tech_info(lines)
@@ -594,7 +594,7 @@ def read_datreat(filename):
                # -------- data section ------------
                dataheader=False
                for line in lines:
                    if line == '#eod' or line == '#nxt':
                    if line in ('#eod','#nxt'):
                        result.append((meta, np.asarray(data).T))
                        data = []
                        meta = OrderedDict()
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ PySEN library functions
from numpy import pi, log, sin, arcsin, around


class ElasticScattering(object):
class ElasticScattering:
    """Elastic scattering

    Elastic scattering law:
Loading