-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Documenter.jl
committed
Jan 5, 2024
0 parents
commit 69f2d8e
Showing
33 changed files
with
3,159 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"documenter":{"julia_version":"1.10.0","generation_timestamp":"2024-01-05T06:22:57","documenter_version":"1.2.1"}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>API · NonuniformFFTs</title><meta name="title" content="API · NonuniformFFTs"/><meta property="og:title" content="API · NonuniformFFTs"/><meta property="twitter:title" content="API · NonuniformFFTs"/><meta name="description" content="Documentation for NonuniformFFTs."/><meta property="og:description" content="Documentation for NonuniformFFTs."/><meta property="twitter:description" content="Documentation for NonuniformFFTs."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../">NonuniformFFTs</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../">NonuniformFFTs.jl</a></li><li class="is-active"><a class="tocitem" href>API</a><ul class="internal"><li><a class="tocitem" href="#Creating-plans"><span>Creating plans</span></a></li><li><a class="tocitem" href="#Setting-non-uniform-points"><span>Setting non-uniform points</span></a></li><li><a class="tocitem" href="#Executing-plans"><span>Executing plans</span></a></li><li><a class="tocitem" href="#Other-functions"><span>Other functions</span></a></li><li><a class="tocitem" href="#Index"><span>Index</span></a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>API</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>API</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/jipolanco/NonuniformFFTs.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/jipolanco/NonuniformFFTs.jl/blob/master/docs/src/API.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="API"><a class="docs-heading-anchor" href="#API">API</a><a id="API-1"></a><a class="docs-heading-anchor-permalink" href="#API" title="Permalink"></a></h1><h2 id="Creating-plans"><a class="docs-heading-anchor" href="#Creating-plans">Creating plans</a><a id="Creating-plans-1"></a><a class="docs-heading-anchor-permalink" href="#Creating-plans" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NonuniformFFTs.PlanNUFFT" href="#NonuniformFFTs.PlanNUFFT"><code>NonuniformFFTs.PlanNUFFT</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">PlanNUFFT([T = ComplexF64], dims::Dims; ntransforms = Val(1), kwargs...)</code></pre><p>Construct a plan for performing non-uniform FFTs (NUFFTs).</p><p>The created plan contains all data needed to perform NUFFTs for non-uniform data of type <code>T</code> (<code>ComplexF64</code> by default) and uniform data with dimensions <code>dims</code>.</p><p><strong>Optional keyword arguments</strong></p><ul><li><code>ntransforms = Val(1)</code>: the number of simultaneous transforms to perform. This is useful if one wants to transform multiple scalar quantities at the same non-uniform points.</li></ul><p><strong>NUFFT parameters</strong></p><ul><li><p><code>m = HalfSupport(8)</code>: the half-support of the convolution kernels. Large values increase accuracy at the cost of performance.</p></li><li><p><code>σ = 2.0</code>: NUFFT oversampling factor. Typical values are 2.0 (more accurate) and 1.25 (faster), but other values such as 1.5 should also work.</p></li><li><p><code>kernel::AbstractKernel = BackwardsKaiserBesselKernel()</code>: convolution kernel used for NUFFTs.</p></li></ul><p><strong>Performance parameters</strong></p><ul><li><code>block_size = 4096</code>: the linear block size (in number of elements) when using block partitioning. This can be tuned for maximal performance. Blocking can be completely disabled by passing <code>block_size = nothing</code> (but this is generally slower).</li></ul><p><strong>Other parameters</strong></p><ul><li><p><code>fftw_flags = FFTW.MEASURE</code>: parameters passed to the FFTW planner.</p></li><li><p><code>timer = TimerOutput()</code>: allows to specify a <code>TimerOutput</code> (from the <a href="https://github.com/KristofferC/TimerOutputs.jl">TimerOutputs.jl</a> package) where timing information will be written to. By default the plan creates its own timer. One can visualise the time spent on different parts of the NUFFT computation using <code>p.timer</code>.</p></li></ul><p><strong>Using real non-uniform data</strong></p><p>In some applications, the non-uniform data to be transformed is purely real. In this case, one may pass <code>Float64</code> or <code>Float32</code> as the first argument. This may be faster than converting data to complex types, in particular because the real-to-complex FFTs from FFTW will be used to compute the transforms. Note that, in this case, the dimensions of the uniform data arrays is not exactly <code>dims</code>, since the size of the first dimension is divided roughly by 2 (taking advantage of Hermitian symmetry). For convenience, one can call <a href="#Base.size-Tuple{PlanNUFFT}"><code>size(::PlanNUFFT)</code></a> on the constructed plan to know in advance the dimensions of the uniform data arrays.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jipolanco/NonuniformFFTs.jl/blob/cff94b5a1c227f7832c0d775bd0a0e1207b27e6c/src/plan.jl#L57-L109">source</a></section></article><h2 id="Setting-non-uniform-points"><a class="docs-heading-anchor" href="#Setting-non-uniform-points">Setting non-uniform points</a><a id="Setting-non-uniform-points-1"></a><a class="docs-heading-anchor-permalink" href="#Setting-non-uniform-points" title="Permalink"></a></h2><h2 id="Executing-plans"><a class="docs-heading-anchor" href="#Executing-plans">Executing plans</a><a id="Executing-plans-1"></a><a class="docs-heading-anchor-permalink" href="#Executing-plans" title="Permalink"></a></h2><h2 id="Other-functions"><a class="docs-heading-anchor" href="#Other-functions">Other functions</a><a id="Other-functions-1"></a><a class="docs-heading-anchor-permalink" href="#Other-functions" title="Permalink"></a></h2><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.size-Tuple{PlanNUFFT}" href="#Base.size-Tuple{PlanNUFFT}"><code>Base.size</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">size(p::PlanNUFFT) -> (N₁, N₂, ...)</code></pre><p>Return the dimensions of arrays containing uniform values.</p><p>This corresponds to the number of Fourier modes in each direction (in the non-oversampled grid).</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/jipolanco/NonuniformFFTs.jl/blob/cff94b5a1c227f7832c0d775bd0a0e1207b27e6c/src/plan.jl#L127-L133">source</a></section></article><h2 id="Index"><a class="docs-heading-anchor" href="#Index">Index</a><a id="Index-1"></a><a class="docs-heading-anchor-permalink" href="#Index" title="Permalink"></a></h2><ul></ul></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« NonuniformFFTs.jl</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.2.1 on <span class="colophon-date" title="Friday 5 January 2024 06:22">Friday 5 January 2024</span>. Using Julia version 1.10.0.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> |
Oops, something went wrong.