Repository files navigation

multitaper

Multitaper codes translated into Python.

multitaper v.1.2.0

Germán A. Prieto

Departamento de Geociencias, Universidad Nacional de Colomnbia

A collection of modules for spectral analysis using the multitaper algorithm. The modules not only includes power spectral density (PSD) estimation with confidence intervals, but also multivariate problems including coherence, dual-frequency, correlations, and deconvolution estimation. Implementations of the sine and quadratic multitaper methods are also available.

multitaper can also do:

DPSS calculation - Calculates the discrete prolate functions (Slepian).

Jacknife Errors - adaptively weighted jackknife 95% confidence intervals

F-test - F-test of line components of the spectra

Line reshape - reshapes the eigenft's around significant line components.

Dual-freq spectrum - Calculates the single trace dual freq spectrum (coherence and phase). Dual frequency between two signals is also possible.

Coherence - Coherence between two signals. Ppssible conversion to time-domain.

Transfer function - Calculates the transfer function between two signals. Possible conversion to time-domain.

Major updates

  • v1.0.3
    • Created data folder to run scripts and notebooks (in examples/) with correct path.
  • v1.0.8
    • All modules, functions and classes are now documented with docstring.
    • Example Notebooks and .py files can now be installed
    • Data for examples is automatically downloaded from Zenodo repository.
  • v1.1.0
    • Complete (almost complete) documentation, via Sphinx.
    • All comments by reviewers addressed
    • To do: improve Python standard for loops (improve speed).
  • v1.1.1
    • Replaced some for-loops with faster numpy code
    • More to be done.
  • v1.1.3
    • Improvements to setup.py, documentation and importing modules/Classes
    • Thanks to Pascal Audet for suggestions.
  • v1.1.5
    • Minor typo in mt_deconv. (thanks to Miguel Neves)
    • Typo in definition of njump, thanks to subhacom.
  • v1.2.0
    • Speed up of Jackknife, using vectorized scipy.stat.t.ppf
    • Changed np.int to int in some places.
    • Added Numba speedup (thanks to k-kemna)

Documentation

Installation

The multitaper package is composed of a number of Python modules. As of January 2022, multitaper can be installed using conda. pip installation is also available. You can also simply download the folder and install and add to your Python path.

Dependencies

You will need Python 3.8+. The following packages are automatically installed:

Optional dependencies for plotting and example Notebooks:

I recommend creating a virtual environment before installing:

>condacreate--namemtspecpython=3.8>condaactivatemtspec

Install with Conda:

>condainstall-cgprietomultitaper

Install with pip:

>pipinstallmultitaper

Local install

Download a copy of the codes from github

git clone https://github.com/gaprieto/multitaper.git

or simply download ZIP file from https://github.com/gaprieto/multitaper and navigate to the directory and type

pip install .

Running the examples

A collection of Jupyter Notebooks and .py scripts are available to reproduce the figures of the F90 paper (Prieto et al., 2009) and the Python version (Prieto 2022 under review). Data used in the examples is automatically downloaded from a Zenodo repository.

To download the example folder, then python code

import multitaper.utils as utils
utils.copy_examples()

will create a folder multitaper-examples/. To run, install matplotlib and jupyter using conda and open the notebooks or run the python scripts (with the multitaper codes previously installed).

Citation:

Please use this reference when citing the codes.

Prieto, G.A. (2022). multitaper: A multitaper spectrum analysis package in Python. Seis. Res. Lett. 93(3), 1922-1929.

or

Prieto, G., Parker , R., & Vernon III, F. (2009). A Fortran 90 library for multitaper spectrum analysis. Computers & Geosciences, Vol. 35, pp. 1701–1710.

About

Multitaper codes translated into Python.

Resources

Stars

113 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

multitaper

Multitaper codes translated into Python.

multitaper v.1.2.0

Germán A. Prieto

Departamento de Geociencias, Universidad Nacional de Colomnbia

A collection of modules for spectral analysis using the multitaper algorithm. The modules not only includes power spectral density (PSD) estimation with confidence intervals, but also multivariate problems including coherence, dual-frequency, correlations, and deconvolution estimation. Implementations of the sine and quadratic multitaper methods are also available.

multitaper can also do:

DPSS calculation - Calculates the discrete prolate functions (Slepian).

Jacknife Errors - adaptively weighted jackknife 95% confidence intervals

F-test - F-test of line components of the spectra

Line reshape - reshapes the eigenft's around significant line components.

Dual-freq spectrum - Calculates the single trace dual freq spectrum (coherence and phase). Dual frequency between two signals is also possible.

Coherence - Coherence between two signals. Ppssible conversion to time-domain.

Transfer function - Calculates the transfer function between two signals. Possible conversion to time-domain.

Major updates

  • v1.0.3
    • Created data folder to run scripts and notebooks (in examples/) with correct path.
  • v1.0.8
    • All modules, functions and classes are now documented with docstring.
    • Example Notebooks and .py files can now be installed
    • Data for examples is automatically downloaded from Zenodo repository.
  • v1.1.0
    • Complete (almost complete) documentation, via Sphinx.
    • All comments by reviewers addressed
    • To do: improve Python standard for loops (improve speed).
  • v1.1.1
    • Replaced some for-loops with faster numpy code
    • More to be done.
  • v1.1.3
    • Improvements to setup.py, documentation and importing modules/Classes
    • Thanks to Pascal Audet for suggestions.
  • v1.1.5
    • Minor typo in mt_deconv. (thanks to Miguel Neves)
    • Typo in definition of njump, thanks to subhacom.
  • v1.2.0
    • Speed up of Jackknife, using vectorized scipy.stat.t.ppf
    • Changed np.int to int in some places.
    • Added Numba speedup (thanks to k-kemna)

Documentation

Installation

The multitaper package is composed of a number of Python modules. As of January 2022, multitaper can be installed using conda. pip installation is also available. You can also simply download the folder and install and add to your Python path.

Dependencies

You will need Python 3.8+. The following packages are automatically installed:

Optional dependencies for plotting and example Notebooks:

I recommend creating a virtual environment before installing:

>condacreate--namemtspecpython=3.8>condaactivatemtspec

Install with Conda:

>condainstall-cgprietomultitaper

Install with pip:

>pipinstallmultitaper

Local install

Download a copy of the codes from github

git clone https://github.com/gaprieto/multitaper.git

or simply download ZIP file from https://github.com/gaprieto/multitaper and navigate to the directory and type

pip install .

Running the examples

A collection of Jupyter Notebooks and .py scripts are available to reproduce the figures of the F90 paper (Prieto et al., 2009) and the Python version (Prieto 2022 under review). Data used in the examples is automatically downloaded from a Zenodo repository.

To download the example folder, then python code

import multitaper.utils as utils
utils.copy_examples()

will create a folder multitaper-examples/. To run, install matplotlib and jupyter using conda and open the notebooks or run the python scripts (with the multitaper codes previously installed).

Citation:

Please use this reference when citing the codes.

Prieto, G.A. (2022). multitaper: A multitaper spectrum analysis package in Python. Seis. Res. Lett. 93(3), 1922-1929.

or

Prieto, G., Parker , R., & Vernon III, F. (2009). A Fortran 90 library for multitaper spectrum analysis. Computers & Geosciences, Vol. 35, pp. 1701–1710.

About

Multitaper codes translated into Python.

Resources

Stars

113 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

multitaper

Multitaper codes translated into Python.

multitaper v.1.2.0

Germán A. Prieto

Departamento de Geociencias, Universidad Nacional de Colomnbia

A collection of modules for spectral analysis using the multitaper algorithm. The modules not only includes power spectral density (PSD) estimation with confidence intervals, but also multivariate problems including coherence, dual-frequency, correlations, and deconvolution estimation. Implementations of the sine and quadratic multitaper methods are also available.

multitaper can also do:

DPSS calculation - Calculates the discrete prolate functions (Slepian).

Jacknife Errors - adaptively weighted jackknife 95% confidence intervals

F-test - F-test of line components of the spectra

Line reshape - reshapes the eigenft's around significant line components.

Dual-freq spectrum - Calculates the single trace dual freq spectrum (coherence and phase). Dual frequency between two signals is also possible.

Coherence - Coherence between two signals. Ppssible conversion to time-domain.

Transfer function - Calculates the transfer function between two signals. Possible conversion to time-domain.

Major updates

  • v1.0.3
    • Created data folder to run scripts and notebooks (in examples/) with correct path.
  • v1.0.8
    • All modules, functions and classes are now documented with docstring.
    • Example Notebooks and .py files can now be installed
    • Data for examples is automatically downloaded from Zenodo repository.
  • v1.1.0
    • Complete (almost complete) documentation, via Sphinx.
    • All comments by reviewers addressed
    • To do: improve Python standard for loops (improve speed).
  • v1.1.1
    • Replaced some for-loops with faster numpy code
    • More to be done.
  • v1.1.3
    • Improvements to setup.py, documentation and importing modules/Classes
    • Thanks to Pascal Audet for suggestions.
  • v1.1.5
    • Minor typo in mt_deconv. (thanks to Miguel Neves)
    • Typo in definition of njump, thanks to subhacom.
  • v1.2.0
    • Speed up of Jackknife, using vectorized scipy.stat.t.ppf
    • Changed np.int to int in some places.
    • Added Numba speedup (thanks to k-kemna)

Documentation

Installation

The multitaper package is composed of a number of Python modules. As of January 2022, multitaper can be installed using conda. pip installation is also available. You can also simply download the folder and install and add to your Python path.

Dependencies

You will need Python 3.8+. The following packages are automatically installed:

Optional dependencies for plotting and example Notebooks:

I recommend creating a virtual environment before installing:

>condacreate--namemtspecpython=3.8>condaactivatemtspec

Install with Conda:

>condainstall-cgprietomultitaper

Install with pip:

>pipinstallmultitaper

Local install

Download a copy of the codes from github

git clone https://github.com/gaprieto/multitaper.git

or simply download ZIP file from https://github.com/gaprieto/multitaper and navigate to the directory and type

pip install .

Running the examples

A collection of Jupyter Notebooks and .py scripts are available to reproduce the figures of the F90 paper (Prieto et al., 2009) and the Python version (Prieto 2022 under review). Data used in the examples is automatically downloaded from a Zenodo repository.

To download the example folder, then python code

import multitaper.utils as utils
utils.copy_examples()

will create a folder multitaper-examples/. To run, install matplotlib and jupyter using conda and open the notebooks or run the python scripts (with the multitaper codes previously installed).

Citation:

Please use this reference when citing the codes.

Prieto, G.A. (2022). multitaper: A multitaper spectrum analysis package in Python. Seis. Res. Lett. 93(3), 1922-1929.

or

Prieto, G., Parker , R., & Vernon III, F. (2009). A Fortran 90 library for multitaper spectrum analysis. Computers & Geosciences, Vol. 35, pp. 1701–1710.

About

Multitaper codes translated into Python.

Resources

Stars

113 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

multitaper

Multitaper codes translated into Python.

multitaper v.1.2.0

Germán A. Prieto

Departamento de Geociencias, Universidad Nacional de Colomnbia

A collection of modules for spectral analysis using the multitaper algorithm. The modules not only includes power spectral density (PSD) estimation with confidence intervals, but also multivariate problems including coherence, dual-frequency, correlations, and deconvolution estimation. Implementations of the sine and quadratic multitaper methods are also available.

multitaper can also do:

DPSS calculation - Calculates the discrete prolate functions (Slepian).

Jacknife Errors - adaptively weighted jackknife 95% confidence intervals

F-test - F-test of line components of the spectra

Line reshape - reshapes the eigenft's around significant line components.

Dual-freq spectrum - Calculates the single trace dual freq spectrum (coherence and phase). Dual frequency between two signals is also possible.

Coherence - Coherence between two signals. Ppssible conversion to time-domain.

Transfer function - Calculates the transfer function between two signals. Possible conversion to time-domain.

Major updates

  • v1.0.3
    • Created data folder to run scripts and notebooks (in examples/) with correct path.
  • v1.0.8
    • All modules, functions and classes are now documented with docstring.
    • Example Notebooks and .py files can now be installed
    • Data for examples is automatically downloaded from Zenodo repository.
  • v1.1.0
    • Complete (almost complete) documentation, via Sphinx.
    • All comments by reviewers addressed
    • To do: improve Python standard for loops (improve speed).
  • v1.1.1
    • Replaced some for-loops with faster numpy code
    • More to be done.
  • v1.1.3
    • Improvements to setup.py, documentation and importing modules/Classes
    • Thanks to Pascal Audet for suggestions.
  • v1.1.5
    • Minor typo in mt_deconv. (thanks to Miguel Neves)
    • Typo in definition of njump, thanks to subhacom.
  • v1.2.0
    • Speed up of Jackknife, using vectorized scipy.stat.t.ppf
    • Changed np.int to int in some places.
    • Added Numba speedup (thanks to k-kemna)

Documentation

Installation

The multitaper package is composed of a number of Python modules. As of January 2022, multitaper can be installed using conda. pip installation is also available. You can also simply download the folder and install and add to your Python path.

Dependencies

You will need Python 3.8+. The following packages are automatically installed:

Optional dependencies for plotting and example Notebooks:

I recommend creating a virtual environment before installing:

>condacreate--namemtspecpython=3.8>condaactivatemtspec

Install with Conda:

>condainstall-cgprietomultitaper

Install with pip:

>pipinstallmultitaper

Local install

Download a copy of the codes from github

git clone https://github.com/gaprieto/multitaper.git

or simply download ZIP file from https://github.com/gaprieto/multitaper and navigate to the directory and type

pip install .

Running the examples

A collection of Jupyter Notebooks and .py scripts are available to reproduce the figures of the F90 paper (Prieto et al., 2009) and the Python version (Prieto 2022 under review). Data used in the examples is automatically downloaded from a Zenodo repository.

To download the example folder, then python code

import multitaper.utils as utils
utils.copy_examples()

will create a folder multitaper-examples/. To run, install matplotlib and jupyter using conda and open the notebooks or run the python scripts (with the multitaper codes previously installed).

Citation:

Please use this reference when citing the codes.

Prieto, G.A. (2022). multitaper: A multitaper spectrum analysis package in Python. Seis. Res. Lett. 93(3), 1922-1929.

or

Prieto, G., Parker , R., & Vernon III, F. (2009). A Fortran 90 library for multitaper spectrum analysis. Computers & Geosciences, Vol. 35, pp. 1701–1710.

About

Multitaper codes translated into Python.

Resources

Stars

113 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

multitaper

Multitaper codes translated into Python.

multitaper v.1.2.0

Germán A. Prieto

Departamento de Geociencias, Universidad Nacional de Colomnbia

A collection of modules for spectral analysis using the multitaper algorithm. The modules not only includes power spectral density (PSD) estimation with confidence intervals, but also multivariate problems including coherence, dual-frequency, correlations, and deconvolution estimation. Implementations of the sine and quadratic multitaper methods are also available.

multitaper can also do:

DPSS calculation - Calculates the discrete prolate functions (Slepian).

Jacknife Errors - adaptively weighted jackknife 95% confidence intervals

F-test - F-test of line components of the spectra

Line reshape - reshapes the eigenft's around significant line components.

Dual-freq spectrum - Calculates the single trace dual freq spectrum (coherence and phase). Dual frequency between two signals is also possible.

Coherence - Coherence between two signals. Ppssible conversion to time-domain.

Transfer function - Calculates the transfer function between two signals. Possible conversion to time-domain.

Major updates

  • v1.0.3
    • Created data folder to run scripts and notebooks (in examples/) with correct path.
  • v1.0.8
    • All modules, functions and classes are now documented with docstring.
    • Example Notebooks and .py files can now be installed
    • Data for examples is automatically downloaded from Zenodo repository.
  • v1.1.0
    • Complete (almost complete) documentation, via Sphinx.
    • All comments by reviewers addressed
    • To do: improve Python standard for loops (improve speed).
  • v1.1.1
    • Replaced some for-loops with faster numpy code
    • More to be done.
  • v1.1.3
    • Improvements to setup.py, documentation and importing modules/Classes
    • Thanks to Pascal Audet for suggestions.
  • v1.1.5
    • Minor typo in mt_deconv. (thanks to Miguel Neves)
    • Typo in definition of njump, thanks to subhacom.
  • v1.2.0
    • Speed up of Jackknife, using vectorized scipy.stat.t.ppf
    • Changed np.int to int in some places.
    • Added Numba speedup (thanks to k-kemna)

Documentation

Installation

The multitaper package is composed of a number of Python modules. As of January 2022, multitaper can be installed using conda. pip installation is also available. You can also simply download the folder and install and add to your Python path.

Dependencies

You will need Python 3.8+. The following packages are automatically installed:

Optional dependencies for plotting and example Notebooks:

I recommend creating a virtual environment before installing:

>condacreate--namemtspecpython=3.8>condaactivatemtspec

Install with Conda:

>condainstall-cgprietomultitaper

Install with pip:

>pipinstallmultitaper

Local install

Download a copy of the codes from github

git clone https://github.com/gaprieto/multitaper.git

or simply download ZIP file from https://github.com/gaprieto/multitaper and navigate to the directory and type

pip install .

Running the examples

A collection of Jupyter Notebooks and .py scripts are available to reproduce the figures of the F90 paper (Prieto et al., 2009) and the Python version (Prieto 2022 under review). Data used in the examples is automatically downloaded from a Zenodo repository.

To download the example folder, then python code

import multitaper.utils as utils
utils.copy_examples()

will create a folder multitaper-examples/. To run, install matplotlib and jupyter using conda and open the notebooks or run the python scripts (with the multitaper codes previously installed).

Citation:

Please use this reference when citing the codes.

Prieto, G.A. (2022). multitaper: A multitaper spectrum analysis package in Python. Seis. Res. Lett. 93(3), 1922-1929.

or

Prieto, G., Parker , R., & Vernon III, F. (2009). A Fortran 90 library for multitaper spectrum analysis. Computers & Geosciences, Vol. 35, pp. 1701–1710.

About

Multitaper codes translated into Python.

Resources

Stars

113 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

multitaper

Multitaper codes translated into Python.

multitaper v.1.2.0

Germán A. Prieto

Departamento de Geociencias, Universidad Nacional de Colomnbia

A collection of modules for spectral analysis using the multitaper algorithm. The modules not only includes power spectral density (PSD) estimation with confidence intervals, but also multivariate problems including coherence, dual-frequency, correlations, and deconvolution estimation. Implementations of the sine and quadratic multitaper methods are also available.

multitaper can also do:

DPSS calculation - Calculates the discrete prolate functions (Slepian).

Jacknife Errors - adaptively weighted jackknife 95% confidence intervals

F-test - F-test of line components of the spectra

Line reshape - reshapes the eigenft's around significant line components.

Dual-freq spectrum - Calculates the single trace dual freq spectrum (coherence and phase). Dual frequency between two signals is also possible.

Coherence - Coherence between two signals. Ppssible conversion to time-domain.

Transfer function - Calculates the transfer function between two signals. Possible conversion to time-domain.

Major updates

  • v1.0.3
    • Created data folder to run scripts and notebooks (in examples/) with correct path.
  • v1.0.8
    • All modules, functions and classes are now documented with docstring.
    • Example Notebooks and .py files can now be installed
    • Data for examples is automatically downloaded from Zenodo repository.
  • v1.1.0
    • Complete (almost complete) documentation, via Sphinx.
    • All comments by reviewers addressed
    • To do: improve Python standard for loops (improve speed).
  • v1.1.1
    • Replaced some for-loops with faster numpy code
    • More to be done.
  • v1.1.3
    • Improvements to setup.py, documentation and importing modules/Classes
    • Thanks to Pascal Audet for suggestions.
  • v1.1.5
    • Minor typo in mt_deconv. (thanks to Miguel Neves)
    • Typo in definition of njump, thanks to subhacom.
  • v1.2.0
    • Speed up of Jackknife, using vectorized scipy.stat.t.ppf
    • Changed np.int to int in some places.
    • Added Numba speedup (thanks to k-kemna)

Documentation

Installation

The multitaper package is composed of a number of Python modules. As of January 2022, multitaper can be installed using conda. pip installation is also available. You can also simply download the folder and install and add to your Python path.

Dependencies

You will need Python 3.8+. The following packages are automatically installed:

Optional dependencies for plotting and example Notebooks:

I recommend creating a virtual environment before installing:

>condacreate--namemtspecpython=3.8>condaactivatemtspec

Install with Conda:

>condainstall-cgprietomultitaper

Install with pip:

>pipinstallmultitaper

Local install

Download a copy of the codes from github

git clone https://github.com/gaprieto/multitaper.git

or simply download ZIP file from https://github.com/gaprieto/multitaper and navigate to the directory and type

pip install .

Running the examples

A collection of Jupyter Notebooks and .py scripts are available to reproduce the figures of the F90 paper (Prieto et al., 2009) and the Python version (Prieto 2022 under review). Data used in the examples is automatically downloaded from a Zenodo repository.

To download the example folder, then python code

import multitaper.utils as utils
utils.copy_examples()

will create a folder multitaper-examples/. To run, install matplotlib and jupyter using conda and open the notebooks or run the python scripts (with the multitaper codes previously installed).

Citation:

Please use this reference when citing the codes.

Prieto, G.A. (2022). multitaper: A multitaper spectrum analysis package in Python. Seis. Res. Lett. 93(3), 1922-1929.

or

Prieto, G., Parker , R., & Vernon III, F. (2009). A Fortran 90 library for multitaper spectrum analysis. Computers & Geosciences, Vol. 35, pp. 1701–1710.

About

Multitaper codes translated into Python.

Resources

Stars

113 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

multitaper

Multitaper codes translated into Python.

multitaper v.1.2.0

Germán A. Prieto

Departamento de Geociencias, Universidad Nacional de Colomnbia

A collection of modules for spectral analysis using the multitaper algorithm. The modules not only includes power spectral density (PSD) estimation with confidence intervals, but also multivariate problems including coherence, dual-frequency, correlations, and deconvolution estimation. Implementations of the sine and quadratic multitaper methods are also available.

multitaper can also do:

DPSS calculation - Calculates the discrete prolate functions (Slepian).

Jacknife Errors - adaptively weighted jackknife 95% confidence intervals

F-test - F-test of line components of the spectra

Line reshape - reshapes the eigenft's around significant line components.

Dual-freq spectrum - Calculates the single trace dual freq spectrum (coherence and phase). Dual frequency between two signals is also possible.

Coherence - Coherence between two signals. Ppssible conversion to time-domain.

Transfer function - Calculates the transfer function between two signals. Possible conversion to time-domain.

Major updates

  • v1.0.3
    • Created data folder to run scripts and notebooks (in examples/) with correct path.
  • v1.0.8
    • All modules, functions and classes are now documented with docstring.
    • Example Notebooks and .py files can now be installed
    • Data for examples is automatically downloaded from Zenodo repository.
  • v1.1.0
    • Complete (almost complete) documentation, via Sphinx.
    • All comments by reviewers addressed
    • To do: improve Python standard for loops (improve speed).
  • v1.1.1
    • Replaced some for-loops with faster numpy code
    • More to be done.
  • v1.1.3
    • Improvements to setup.py, documentation and importing modules/Classes
    • Thanks to Pascal Audet for suggestions.
  • v1.1.5
    • Minor typo in mt_deconv. (thanks to Miguel Neves)
    • Typo in definition of njump, thanks to subhacom.
  • v1.2.0
    • Speed up of Jackknife, using vectorized scipy.stat.t.ppf
    • Changed np.int to int in some places.
    • Added Numba speedup (thanks to k-kemna)

Documentation

Installation

The multitaper package is composed of a number of Python modules. As of January 2022, multitaper can be installed using conda. pip installation is also available. You can also simply download the folder and install and add to your Python path.

Dependencies

You will need Python 3.8+. The following packages are automatically installed:

Optional dependencies for plotting and example Notebooks:

I recommend creating a virtual environment before installing:

>condacreate--namemtspecpython=3.8>condaactivatemtspec

Install with Conda:

>condainstall-cgprietomultitaper

Install with pip:

>pipinstallmultitaper

Local install

Download a copy of the codes from github

git clone https://github.com/gaprieto/multitaper.git

or simply download ZIP file from https://github.com/gaprieto/multitaper and navigate to the directory and type

pip install .

Running the examples

A collection of Jupyter Notebooks and .py scripts are available to reproduce the figures of the F90 paper (Prieto et al., 2009) and the Python version (Prieto 2022 under review). Data used in the examples is automatically downloaded from a Zenodo repository.

To download the example folder, then python code

import multitaper.utils as utils
utils.copy_examples()

will create a folder multitaper-examples/. To run, install matplotlib and jupyter using conda and open the notebooks or run the python scripts (with the multitaper codes previously installed).

Citation:

Please use this reference when citing the codes.

Prieto, G.A. (2022). multitaper: A multitaper spectrum analysis package in Python. Seis. Res. Lett. 93(3), 1922-1929.

or

Prieto, G., Parker , R., & Vernon III, F. (2009). A Fortran 90 library for multitaper spectrum analysis. Computers & Geosciences, Vol. 35, pp. 1701–1710.

About

Multitaper codes translated into Python.

Resources

Stars

113 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

multitaper

Multitaper codes translated into Python.

multitaper v.1.2.0

Germán A. Prieto

Departamento de Geociencias, Universidad Nacional de Colomnbia

A collection of modules for spectral analysis using the multitaper algorithm. The modules not only includes power spectral density (PSD) estimation with confidence intervals, but also multivariate problems including coherence, dual-frequency, correlations, and deconvolution estimation. Implementations of the sine and quadratic multitaper methods are also available.

multitaper can also do:

DPSS calculation - Calculates the discrete prolate functions (Slepian).

Jacknife Errors - adaptively weighted jackknife 95% confidence intervals

F-test - F-test of line components of the spectra

Line reshape - reshapes the eigenft's around significant line components.

Dual-freq spectrum - Calculates the single trace dual freq spectrum (coherence and phase). Dual frequency between two signals is also possible.

Coherence - Coherence between two signals. Ppssible conversion to time-domain.

Transfer function - Calculates the transfer function between two signals. Possible conversion to time-domain.

Major updates

  • v1.0.3
    • Created data folder to run scripts and notebooks (in examples/) with correct path.
  • v1.0.8
    • All modules, functions and classes are now documented with docstring.
    • Example Notebooks and .py files can now be installed
    • Data for examples is automatically downloaded from Zenodo repository.
  • v1.1.0
    • Complete (almost complete) documentation, via Sphinx.
    • All comments by reviewers addressed
    • To do: improve Python standard for loops (improve speed).
  • v1.1.1
    • Replaced some for-loops with faster numpy code
    • More to be done.
  • v1.1.3
    • Improvements to setup.py, documentation and importing modules/Classes
    • Thanks to Pascal Audet for suggestions.
  • v1.1.5
    • Minor typo in mt_deconv. (thanks to Miguel Neves)
    • Typo in definition of njump, thanks to subhacom.
  • v1.2.0
    • Speed up of Jackknife, using vectorized scipy.stat.t.ppf
    • Changed np.int to int in some places.
    • Added Numba speedup (thanks to k-kemna)

Documentation

Installation

The multitaper package is composed of a number of Python modules. As of January 2022, multitaper can be installed using conda. pip installation is also available. You can also simply download the folder and install and add to your Python path.

Dependencies

You will need Python 3.8+. The following packages are automatically installed:

Optional dependencies for plotting and example Notebooks:

I recommend creating a virtual environment before installing:

>condacreate--namemtspecpython=3.8>condaactivatemtspec

Install with Conda:

>condainstall-cgprietomultitaper

Install with pip:

>pipinstallmultitaper

Local install

Download a copy of the codes from github

git clone https://github.com/gaprieto/multitaper.git

or simply download ZIP file from https://github.com/gaprieto/multitaper and navigate to the directory and type

pip install .

Running the examples

A collection of Jupyter Notebooks and .py scripts are available to reproduce the figures of the F90 paper (Prieto et al., 2009) and the Python version (Prieto 2022 under review). Data used in the examples is automatically downloaded from a Zenodo repository.

To download the example folder, then python code

import multitaper.utils as utils
utils.copy_examples()

will create a folder multitaper-examples/. To run, install matplotlib and jupyter using conda and open the notebooks or run the python scripts (with the multitaper codes previously installed).

Citation:

Please use this reference when citing the codes.

Prieto, G.A. (2022). multitaper: A multitaper spectrum analysis package in Python. Seis. Res. Lett. 93(3), 1922-1929.

or

Prieto, G., Parker , R., & Vernon III, F. (2009). A Fortran 90 library for multitaper spectrum analysis. Computers & Geosciences, Vol. 35, pp. 1701–1710.

About

Multitaper codes translated into Python.

Resources

Stars

113 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages