156

edits

== Porting TISEAN ==

This section ~~will focus ~~which focuses on demonstrating how the package is to be ported and what is the current state of that process~~.~~ ~~=== 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 ~~is located 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~~TISEAN_package:~~Porting_Programs_TISEAN.png|400px|center~~Procedure]] ~~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 ==

156

edits

Retrieved from "https://wiki.octave.org/Special:MobileDiff/6552"