Changes

Jump to navigation Jump to search
12,300 bytes removed ,  09:14, 11 August 2015
Line 1: Line 1:  
== Porting TISEAN ==
 
== Porting TISEAN ==
   −
This section will focus on demonstrating how the package is to be ported and what is the current state of that process.
+
This section which focuses on demonstrating how the package is to be ported and what is the current state of that process is located in [[TISEAN_package:Procedure]].
 
  −
=== Process ===
  −
 
  −
This section describes the process employed during porting TISEAN package into an Octave Package. This project was started as part of the Google Summer of Code 2015.
  −
 
  −
To aid in understanding the task there are some charts.
  −
 
  −
The first chart depicts what to do with each function in the function table. I mainly focuses on those functions that might already implemented in Octave.
  −
 
  −
[[File:Work_flow_TISEAN.png|400px|center]]
  −
 
  −
The chart below depicts how to decide which type of port should be utilized.
  −
 
  −
[[File:Porting_Programs_TISEAN.png|400px|center]]  
  −
 
  −
Both of those charts can be combined into a large one that shows all of the work together.
  −
 
  −
[[File:Flow_Together_TISEAN.png|400px|center]]
  −
=== Table of functions and progress ===
  −
In reference to the TISEAN library alphabetical order of programs which is located [http://www.mpipks-dresden.mpg.de/~tisean/Tisean_3.0.1/docs/alphabetical.html here].
  −
 
  −
The choice whether a program exist in Octave is based only on comparing package/octave documentation with the TISEAN documentation. As of now I have not compared any code, nor checked if any sample data gives the same results from both functions (the octave ones and the TISEAN ones).
  −
 
  −
The legend to understand the table is as follows:
  −
{| class="wikitable"
  −
|-style="background: LightGreen"
  −
|Green means the function is ported, tested or is not needed
  −
|-style="background: LightSalmon"
  −
|Red means the function was thought to have been similar but isn't
  −
|-style="background: Yellow"
  −
|Yellow means that the correlation between the TISEAN and Octave function needs to be verified
  −
|-
  −
|No color means that nothing about this function has been determined
  −
|}
  −
 
  −
{| class="wikitable"
  −
|-
  −
! Program Name !! Program Description !! Corresponding Octave Function !! Lanuguage of Origin !! How to port !! Status
  −
|-
  −
| arima-model || Fit and possibly iterate an ARIMA model || generalizes TSA arma functions || C || wrapped in C++/mfile/octfile code ||
  −
|-
  −
|ar-model || Fit and possibly iterate an Autoregessive model || 'aar' in TSA; see also: aarmam, adim, amarma, mvaar from TSA || C  || wrapped in C++/mfile/octfile code ||
  −
|-
  −
|ar-run || Iterate an Autoregessive model || Same as above || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|av-d2 || Simply smooth output of d2 || Can be implemented with filter in core || C ||  ||
  −
|-style="background: LightGreen"
  −
|boxcount || Renyi Entopies of Qth order || None in GNU Octave (maybe in info-theory but it is not worth the pain) || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|c1 || Fixed mass estimation of D1 || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|c2d || Get local slopes from correlation integral || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|c2g || Gaussian kernel of C2 || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|c2t || Takens estimator of D2 || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|choose || Choose rows and/or columns from a data file || Does not need to be ported || FORTRAN || ----- || Not Needed
  −
|-style="background: LightGreen"
  −
|compare || Compares two data sets || Does not need to be ported || FORTRAN || ------ || Not Needed
  −
|-style="background: LightGreen"
  −
|corr, autocorr || Autocorrelation function || xcorr in signal || corr -C, autocorr (faster according to documentation) - FORTRAN || ------- || Different usage, same result
  −
|-style="background: LightGreen"
  −
|d2 || Correlation dimension d2 || None in GNU Octave  || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|delay || Creates delay embedding || None in GNU Octave (easy to implement in Octave but not worth the effort) || C || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|endtoend || Determine end-to-end mismatch || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-
  −
|events || Interval/event conversion || None in GNU Octave || FORTRAN || To be reimplemented as m-file ||
  −
|-style="background: LightSalmon"
  −
|extrema || Determine the extrema of a time series || findpeaks in signal is *not* the same || C ||  ||
  −
|-style="background: LightGreen"
  −
|false_nearest || The false nearest neighbor algorithm || None in GNU Octave || C || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|ghkss || Nonlinear noise reduction || None in GNU Octave || C || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|henon || Create a Hénon time series || None in GNU Octave || FORTRAN || To be reimplemented as m-file || Ported&Checked
  −
|-style="background: LightGreen"
  −
|histogram || Creates histograms || hist in core  || C  ||  || Different usage, same result
  −
|-style="background: LightGreen"
  −
|ikeda || Create an Ikeda time series || None in GNU Octave || FORTRAN || To be reimplemented as mfile || Ported&Tested
  −
|-
  −
|intervals || Event/intervcal conversion || Might exist under different name || FORTRAN || To be reimplemented as mfile ||
  −
|-style="background: LightGreen"
  −
|lazy || Simple nonlinear noise reduction || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|lfo-ar || Locally first order model vs. global AR model (old ll-ar) || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|lfo-run || Iterate a locally first order model (old nstep) || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|lfo-test || Test a locally first order model (old onestep) || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: Yellow"
  −
|lorenz || Create a Lorenz time series || Can be implemented in GNU Octave using lsode or odepkg|| FORTRAN || mfile ||
  −
|-
  −
|low121 || Time domain low pass filter || There are lowpass filters in Octave: buttap, cheb1ap, cheb2ap, ellipap, sftrans, but I don't think they perform this task || C || Reimplement as mfile ||
  −
|-style="background: LightGreen"
  −
|lyap_k || Maximal Lyapunov exponent with the Kantz algorithm || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|lyap_r || Maximal Lyapunov exponent with the Rosenstein algorithm || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|lyap_spec || Full spectrum of Lyapunov exponents || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|lzo-gm || Locally zeroth order model vs. global mean || None in GNU Octave || C || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|lzo-run || Iterate a locally zeroth order model || None in GNU Octave || C || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|lzo-test || Test a locally zeroth order model (old zeroth) || None in GNU Octave || C || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-
  −
|makenoise || Produce noise || Rand exists || Should be implemented as mfile using Octave rand functions || wrapped in C++/mfile/octfile code ||
  −
|-
  −
|mem_spec || Power spectrum using the maximum entropy principle || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|mutual || Estimate the mutual information || None in GNU Octave || C || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: Yellow"
  −
|notch || Notch filter || pei_tseng_notch, needs to be verified || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-
  −
|nstat_z || Nonstationarity testing via cross-prediction || None in GNU Octave || C ||wrapped in C++/mfile/octfile code  ||
  −
|-style="background: LightGreen"
  −
|pca, pc || Principle component analysis || 'pcacov' if likely the equivalent; pricomp in statistics || pca - C, pc - FORTRAN ||  wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|poincare || Create Poincaré sections || None in GNU Octave || C || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightSalmon"
  −
|polyback || Fit a polynomial model (backward elimination) || polyfit, detrend, wpolyfit are not similar || C || wrapped in C++ || Porting needed
  −
|-style="background: LightGreen"
  −
|polynom || Fit a polynomial model || same as above || C ||  || Ported&Tested
  −
|-style="background: LightSalmon"
  −
|polynomp || Fit a polynomial model (reads terms to fit from file) || same as above  || C ||  ||
  −
|-style="background: LightSalmon"
  −
|polypar || Creates parameter file for polynomp || same as above || C ||  ||
  −
|-style="background: LightGreen"
  −
|predict || Forecast discriminating statistics for surrogates || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code || Same as lzo_test; Not Needed
  −
|-
  −
|randomize || General constraint randomization (surrogates) || There are random function, but I don't think this one exists || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-
  −
|randomize_spikeauto_exp_random || Surrogate data preserving event time autocorrelations || Same as above  || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-
  −
|randomize_spikespec_exp_event || Surrogate data preserving event time power spectrum || Same as above || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|rbf || Radial basis functions fit || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-
  −
|recurr || Creates a recurrence plot || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: Yellow"
  −
|resample || Resamples data || interp1 is similar but cannot specify the polynomial order except for some given || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|rescale || Rescale data set || This is just multiplication by scalars || C || wrapped in C++/mfile/octfile code ||Not Needed
  −
|-style="background: LightGreen"
  −
|rms || Rescale data set and get mean, variance and data interval || This should be in Octave, cannot find...  || FORTRNAN || wrapped in C++/mfile/octfile code || Not Needed
  −
|-style="background: Yellow"
  −
|sav_gol || Savitzky-Golay filter || sgolayfilt in signal || C ||  ||
  −
|-style="background: LightGreen"
  −
|spectrum || Power spectrum using FFT || abs (fft (;)) || FORTRAN || Rewrite as m-file || Ported&Tested
  −
|-
  −
|spikeauto || Autocorrelation function of event times || similar to above || FORTRAN ||  ||
  −
|-
  −
|spikespec || Power spectrum of event times || ar_psd, cpsd is the closest but I do not think they are the same || FORTRAN ||  ||
  −
|-
  −
|stp || Creates a space-time separation plot || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|surrogates || Creates surrogate data || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|timerev || Time reversal discrimating statistics for surrogates || None in GNU Octave || FORTRAN || To be reimplemented as mfile || Ported&Tested
  −
|-style="background: LightGreen"
  −
|upo || Finds unstable periodic orbits and estimates their stability || None in GNU Octave || FORTRAN || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-style="background: LightGreen"
  −
|upoembed || Takes the output of upo and create data files out of it || None in GNU Octave || FORTAN || wrapped in C++/mfile/octfile code || Ported&Tested
  −
|-
  −
|wiener1, wiener2 || Wiener filter || Wiener process exists, might be similar || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-
  −
|xc2 || Cross-correlation integral || xcorr2 - Needs to be verified that works the same way || FORTRAN || wrapped in C++/mfile/octfile code ||
  −
|-style="background: Yellow"
  −
|xcor || Cross-correlations || xcorr - Needs to be verified that works same way || C|| wrapped in C++/mfile/octfile code ||
  −
|-
  −
|xrecur || Cross-recurrence Plot || xcorr, or xcorr2 or another function might cover this || C || wrapped in C++/mfile/octfile code ||
  −
|-style="background: LightGreen"
  −
|xzero || Locally zeroth order cross-prediction || None in GNU Octave || C || wrapped in C++/mfile/octfile code ||
  −
|}
      
== Tutorials ==
 
== Tutorials ==
156

edits

Navigation menu