Source code for spike.File.Apex0

#!/usr/bin/env python 
# encoding: utf-8

"""
    Utility to Handle old Apex files - "NMR style"
"""

from __future__ import print_function, division

__author__ = "Marc André Delsuc"
__date__ = "April 2020"

import sys
import math
import os.path as op
from ..FTICR import FTICRData
from . import BrukerNMR as bkn 
# tables.parameters.NODE_CACHE_SLOTS = 0
#tables.parameters.CHUNK_CACHE_SIZE = 0*1024*1024
# tables.parameters.METADATA_CACHE_SIZE  = 10*1024*1024

VERBOSE = False

if sys.version_info[0] < 3:
    pass
else:
    xrange = range

[docs]def read_param(filename="acqus"): "get the acqus file and return a dictionary" return bkn.read_param(filename=filename)
################################################################
[docs]def Import_1D(filename="fid", verbose=VERBOSE): """ Imports a 1D Bruker fid as a ftICRData """ if (not op.exists(filename)): raise Exception(filename+" : file not found") dire=op.dirname(filename) acqu = read_param(bkn.find_acqu(dire)) size= int(acqu['$TD']) # get size if verbose: print("imported 1D FID, size =%d\n%s"%(size, acqu['title'])) data = bkn.read_1D(size, filename, bytorda=int(acqu['$BYTORDA'])) NC = int(acqu['$NC']) # correct intensity with Bruker "NC" coefficient if NC != 0: data *= 2**(NC) d = FTICRData(buffer=data) # then set parameters d.axis1.specwidth = float(acqu["$SW_h"]) d.axis1.calibA = float(acqu["$ML1"]) d.axis1.calibB = float(acqu["$ML2"]) d.axis1.calibC = float(acqu["$ML3"]) d.axis1.highmass = float(acqu['$MW_high']) d.axis1.highfreq = d.axis1.calibA/float(acqu["$EXC_low"]) # these two are in m/z ! d.axis1.lowfreq = d.axis1.calibA/float(acqu["$EXC_hi"]) d.axis1.left_point = 0 d.axis1.offset = 0.0 if not math.isclose(d.axis1.calibC,0.0): print('Using 3 parameters calibration, Warning calibB is -ML2') d.axis1.calibB *= -1 proc = read_param(bkn.find_proc(dire)) pardic = {"acqu": acqu, "proc": proc} # create ad-hoc parameters d.params = pardic # add the parameters to the data-set if verbose: print("imported 1D FID, size =%d\n%s"%(size, acqu['title'])) return d