Gap sampling: Difference between revisions

From Powers Wiki
No edit summary
No edit summary
 
Line 2: Line 2:


= Introduction =
= Introduction =
Gap sampling came into vogue in the field of Nuclear Magnetic Resonance (NMR) when Hyberts and Wagner introduced their Poisson-gap (PG) sampler for building Nonuniform Sampling (NUS) schedules. This project is the software realization of a full generalization of their PG method to admit any gap equation.


Initial versions of gaputil contained hard-coded Poisson-gap, sine-gap, and sine-burst (cf. Worley and Powers, above) gap equations. The generality of the proposed framework was a tempting opportunity for me to embed the Julia programming language into one of my software projects. By embedding Julia into my existing gap sampling algorithm, this utility enables the construction of NUS schedules from completely arbitrary gap equations.
== Obtaining ''gaputil'' ==
== Obtaining ''gaputil'' ==
You can download the ''gaputil'' source code on its [http://github.com/geekysuavo/gaputil GitHub page].
You can download the ''gaputil'' source code on its [http://github.com/geekysuavo/gaputil GitHub page].


== Installing ''gaputil'' ==
== Installing ''gaputil'' ==
The ''gaputil'' binary is a command-line open-source C program. The software will run basically anywhere. Once you have the source code, run these commands to install it:
<!--The ''gaputil'' binary is a command-line open-source C program. The software will run basically anywhere. Once you have the source code, run these commands to install it:-->
You will need to have Julia 0.4.0-dev compiled and installed in order to build nusutils. It is recommended that you compile and install from the latest GitHub nightly commit.


git clone git://github.com/geekysuavo/gaputil.git
Once Julia is installed into the path, you can compile and install gaputil, rejutil and jitutil as follows:
cd gaputil
 
make
  git clone git://github.com/geekysuavo/nusutils.git
sudo make install
  cd nusutils
  make
  sudo make install


== Using ''gaputil'' ==
== Using ''gaputil'' ==
Line 21: Line 26:
All the utilities have the same argument syntax: the first argument is the sampling density, and the remaining arguments specify the size of the sampling grid. The final argument is the gap equation string to use when constructing the schedule. The code is currently soft-limited to generating 3D grids, but you can remove this restriction by editing '''term.c''' and recompiling/reinstalling.
All the utilities have the same argument syntax: the first argument is the sampling density, and the remaining arguments specify the size of the sampling grid. The final argument is the gap equation string to use when constructing the schedule. The code is currently soft-limited to generating 3D grids, but you can remove this restriction by editing '''term.c''' and recompiling/reinstalling.


==Package Info==
A set of command-line utilities for deterministically (i.e. without pseudorandom numbers) constructing nonuniform sampling schedules on multidimensional Nyquist grids. The gaputil is a utility to construct schedules using the generalized gap sampling framework published in:
    ''Worley, B., Powers, R., Deterministic Multidimensional Nonuniform Gap Sampling, Journal of Magnetic Resonance, 2015, 261: 19-26.''
The rejutil and jitutil are utilities to construct schedules from density functions using a quasirandom accept-reject sampling method published in:
    ''Worley, B., Subrandom Methods for Multidimensional Nonuniform Sampling, Journal of Magnetic Resonance, 2016, 269: 128-137.''


[[category:Data_Collection]]
[[category:Data_Collection]]

Latest revision as of 04:58, 20 January 2022

The gaputil package provides a few small command-line utilities for generating deterministic Poisson-gap, stochastic Poisson-gap, and deterministic burst-augmented gap sampling schedules over multidimensional grids. This page outlines how to install and use the gap utilities.

Introduction

Gap sampling came into vogue in the field of Nuclear Magnetic Resonance (NMR) when Hyberts and Wagner introduced their Poisson-gap (PG) sampler for building Nonuniform Sampling (NUS) schedules. This project is the software realization of a full generalization of their PG method to admit any gap equation.

Initial versions of gaputil contained hard-coded Poisson-gap, sine-gap, and sine-burst (cf. Worley and Powers, above) gap equations. The generality of the proposed framework was a tempting opportunity for me to embed the Julia programming language into one of my software projects. By embedding Julia into my existing gap sampling algorithm, this utility enables the construction of NUS schedules from completely arbitrary gap equations.

Obtaining gaputil

You can download the gaputil source code on its GitHub page.

Installing gaputil

You will need to have Julia 0.4.0-dev compiled and installed in order to build nusutils. It is recommended that you compile and install from the latest GitHub nightly commit.

Once Julia is installed into the path, you can compile and install gaputil, rejutil and jitutil as follows:

 git clone git://github.com/geekysuavo/nusutils.git
 cd nusutils
 make
 sudo make install

Using gaputil

Once the programs are compiled and installed, you can run them from anywhere, e.g.:

gaputil 0.1 512 512 'L*x'

All the utilities have the same argument syntax: the first argument is the sampling density, and the remaining arguments specify the size of the sampling grid. The final argument is the gap equation string to use when constructing the schedule. The code is currently soft-limited to generating 3D grids, but you can remove this restriction by editing term.c and recompiling/reinstalling.

Package Info

A set of command-line utilities for deterministically (i.e. without pseudorandom numbers) constructing nonuniform sampling schedules on multidimensional Nyquist grids. The gaputil is a utility to construct schedules using the generalized gap sampling framework published in:

   Worley, B., Powers, R., Deterministic Multidimensional Nonuniform Gap Sampling, Journal of Magnetic Resonance, 2015, 261: 19-26.

The rejutil and jitutil are utilities to construct schedules from density functions using a quasirandom accept-reject sampling method published in:

   Worley, B., Subrandom Methods for Multidimensional Nonuniform Sampling, Journal of Magnetic Resonance, 2016, 269: 128-137.