1 # Copyright (C) 2010 W. Trevor King <wking@drexel.edu>
3 # This file is part of Hooke.
5 # Hooke is free software: you can redistribute it and/or modify it
6 # under the terms of the GNU Lesser General Public License as
7 # published by the Free Software Foundation, either version 3 of the
8 # License, or (at your option) any later version.
10 # Hooke is distributed in the hope that it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
13 # Public License for more details.
15 # You should have received a copy of the GNU Lesser General Public
16 # License along with Hooke. If not, see
17 # <http://www.gnu.org/licenses/>.
20 >>> from hooke.hooke import Hooke, HookeRunner
23 >>> h = r.run_lines(h, ['load_playlist test/data/test']) # doctest: +ELLIPSIS
24 <FilePlaylist test.hkp>
27 >>> h = r.run_lines(h,
28 ... ['polynomial_flatten --distance_column "z piezo (m)" --deflection_column "deflection (m)"']
29 ... ) # doctest: +ELLIPSIS, +REPORT_UDIFF
32 >>> curve = h.playlists.current().current()
33 >>> approach = curve.data[0]
34 >>> approach.info['columns']
35 ['z piezo (m)', 'deflection (m)', 'flattened deflection (m)']
36 >>> approach[:5,-1] # doctest: +ELLIPSIS
37 Data([ 9.094...e-08, 9.130...e-08, 9.157...e-08,
38 9.189...e-08, 9.221...e-08])
39 >>> approach[-5:,-1] # doctest: +ELLIPSIS
40 Data([ 3.624...e-10, 5.884...e-10, 2.257...e-10,
41 -9.157...e-11, -9.027...e-13])
43 In practice you should zero your data before using
44 `polynomial flatten`, because it flattens all data with positive
45 deflection, and you don't want it to flatten the contact region.