X-Git-Url: http://git.tremily.us/?p=hooke.git;a=blobdiff_plain;f=hooke%2Fdriver%2Fmfp1dexport.py;h=efacd187763cefe61d455178ea253e34688749b7;hp=37af7df8e6fd022b61e026ad4e478b9252588a64;hb=23bcfd05915a61e3a41d01babd291fd3089ba329;hpb=41ef0130e16c0cf8d2c0f1acc9e06986d62f7607 diff --git a/hooke/driver/mfp1dexport.py b/hooke/driver/mfp1dexport.py index 37af7df..efacd18 100644 --- a/hooke/driver/mfp1dexport.py +++ b/hooke/driver/mfp1dexport.py @@ -1,38 +1,60 @@ -''' -mfp1dexport.py +# Copyright (C) 2009-2012 Massimo Sandal +# W. Trevor King +# +# This file is part of Hooke. +# +# Hooke is free software: you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 3 of the License, or (at your option) any +# later version. +# +# Hooke is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with Hooke. If not, see . + +"""Driver for text-exported MFP 1D files +""" + +import os +import os.path -Driver for text-exported MFP 1D files +from .. import libhooke as lh +from .. import curve as lhc -Massimo Sandal (c) 2009 -''' -from .. import libhookecurve as lhc -from .. import libhooke as lh +__version__='0.0.0.20090923' + class mfp1dexportDriver(lhc.Driver): def __init__(self, filename): - - self.filename=filename - self.filedata=open(filename,'rU') - self.lines=list(self.filedata.readlines()) + ''' + This is a driver to import Asylum Research MFP 1D data. + Status: experimental + ''' + self.filename = filename + self.filedata = open(filename,'rU') + self.lines = list(self.filedata.readlines()) self.filedata.close() - self.filetype='mfp1dexport' - self.experiment='smfs' - def close_all(self): self.filedata.close() def is_me(self): + if os.path.isdir(path): + return False try: - self.raw_header=self.lines[0:38] + self.raw_header = self.lines[0:38] except: #Not enough lines for a header; not a good file return False #FIXME: We want a more reasonable header recognition - if self.raw_header[0][0:4]=='Wave': + if self.raw_header[0].startswith('Wave'): return True else: return False @@ -52,7 +74,6 @@ class mfp1dexportDriver(lhc.Driver): #self.k=float(self.raw_header[23][8:]) self.k=float(kline[1]) - xext=[] xret=[] yext=[] @@ -67,20 +88,22 @@ class mfp1dexportDriver(lhc.Driver): return [[xext,yext],[xret,yret]] def deflection(self): - self.data=self._read_columns() - return self.data[0][1],self.data[1][1] - + self.data = self._read_columns() + return self.data[0][1], self.data[1][1] def default_plots(self): - main_plot=lhc.PlotObject() - defl_ext,defl_ret=self.deflection() - yextforce=[i*self.k for i in defl_ext] - yretforce=[i*self.k for i in defl_ret] - main_plot.add_set(self.data[0][0],yextforce) - main_plot.add_set(self.data[1][0],yretforce) + main_plot = lhc.PlotObject() + defl_ext,defl_ret = self.deflection() + yextforce = [i*self.k for i in defl_ext] + yretforce = [i*self.k for i in defl_ret] + main_plot.add_set(self.data[0][0], yextforce) + main_plot.add_set(self.data[1][0], yretforce) main_plot.normalize_vectors() - main_plot.units=['Z','force'] #FIXME: if there's an header saying something about the time count, should be used - main_plot.destination=0 - main_plot.title=self.filename - #main_plot.colors=['red','blue'] + #main_plot.units = ['Z','force'] #FIXME: if there's an header saying something about the time count, should be used + main_plot.units = ['m','N'] + main_plot.destination = 0 + main_plot.filename = self.filename + main_plot.title = os.path.basename(self.filename) + main_plot.colors = ['red','blue'] + main_plot.style = ['plot','plot'] return [main_plot]