Differences between revisions 18 and 42 (spanning 24 versions)
Revision 18 as of 2006-05-11 18:05:28
Size: 6950
Comment:
Revision 42 as of 2019-12-16 14:01:02
Size: 0
Editor: AndrewHoopes
Comment: Quite old
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= GSL Replacement =

GPL is bad and we're going to replace GSL.

Stub library located at: /usr/pubsw/packages/gsl/stub/include/

See also NumericalRecipesReplacement

== Files with GSL ==
 * randomfields.h
 * mri_cht2p.c
 * optseq2.c
 * fmriutils.c
 * fsglm.c
 * matrix.c -- lots of matrix functionality that we can replace with vxl
 * randomfields.c
 * sig.c -- uses a gsl function if MGH_GSL is defined and it never is
 * volcluster.c

== GSL Function Stack Trace ==
 * gsl_matrix
  * matrix.c::MatrixToGSL
   * matrix.c::MatrixSVDPseudoInverse
    * gcamorph.c::gcamComputeOptimalTargetLinearTransform
     * gcamorph.c::GCAMreinitWithLTA
      * mri_ca_register.c::main
  * matrix.c::MatrixFromGSL
   * matrix.c::MatrixSVDPseudoInverse
    * ...
 * gsl_matrix_alloc
  * matrix.c::MatrixToGSL
   * ...
  * matrix.c::MatrixSVDPseudoInverse
   * ...
 * gsl_matrix_calloc
  * optseq2.c::AR1WhitenMatrix
   * optseq2.c::main
 * gsl_matrix_free
  * optseq2.c::AR1WhitenMatrix
   * ...
  * matrix.c::MatrixSVDPseudoInverse
   * ...
 * gsl_matrix_get
  * optseq2.c::AR1WhitenMatrix
   * ...
  * matrix.c::MatrixFromGSL
   * ...
 * gsl_matrix_set
  * optseq2.c::AR1WhitenMatrix
   * ...
  * matrix.c::MatrixFromGSL
   * ...
 * gsl_vector
  * matrix.c::VectorFromGSL
   * matrix.c::MatrixSVDPseudoInverse
    * ...
  * matrix.c::MatrixSVDPseudoInverse
   * ...
 * gsl_vector_alloc
  * matrix.c::MatrixSVDPseudoInverse
   * ...
 * gsl_vector_free
  * matrix.c::MatrixSVDPseudoInverse
   * ...
 * gsl_vector_get
  * matrix.c::VectorFromGSL
   * matrix.c::MatrixSVDPseudoInverse
    * ...
 * gsl_vector_set -- never used
 * gsl_cdf_fdist_Q
  * fmriutils.c::fMRIsigF
   * mris_glm.c::main
  * fsglm.c::GLMtest
   * fsglm.c::GLManalyze -- never used
   * fsglm.c::GLMprofile
    * mri_glmfit::parse_commandline
     * mri_glmfit::main
   * fsglm.c::GLMsynth -- never used
  * randomfields.c::RFstat2PVal
   * randomfields.c::RFstat2P
    * randomfields.c::RFstat2Stat -- never used
 * gsl_cdf_flat_Q
  * randomfields.c::RFstat2PVal
   * ... -- never used
 * gsl_cdf_gaussian_Q
  * randomfields.c::RFstat2PVal
   * ... -- never used
 * gsl_cdf_tdist_Q
  * randomfields.c::RFstat2PVal
   * ... -- never used
 * gsl_cdf_chisq_Q
  * randomfields.c::RFstat2PVal
   * ... -- never used
 * gsl_cdf_flat_Qinv
  * randomfields.c::RFp2StatVal
   * randomfields.c::RFp2Stat
    * randomfields.c::RFstat2Stat -- never used
 * gsl_cdf_gaussian_Qinv
  * randomfields.c::RFp2StatVal
   * ...
 * gsl_cdf_tdist_Qinv
  * randomfields.c::RFp2StatVal
   * ... -- never used
 * gsl_cdf_chisq_Qinv
  * randomfields.c::RFp2StatVal
   * ... -- never used
 * gsl_linalg_SV_decomp
  * matrix.c::MatrixSVDPseudoInverse
   * ...
 * gsl_linalg_cholesky_decomp
  * optseq2.c::AR1WhitenMatrix
   * ...
 * gsl_rng_type
  * RANDOM_FIELD_SPEC, RFS
   * used everywhere in randomfied.c
  * randomfields.c::RFspecInit
   * mri_glmfit.c::main
   * mri_mcsim.c::main
   * mri_volsynth.c::main
 * gsl_rng
  * RANDOM_FIELD_SPEC, RFS
 * gsl_rng_alloc
  * randomfields.c::RFspecInit
   * ...
 * gsl_rng_free
  * randomfields.c::RFspecFree
   * RFspecFree -- never used
 * gsl_rng_set
  * randomfields.c::RFspecSetSeed
   * randomfields.c::RFspecInit
    * ...
 * gsl_ran_flat
  * randomfields.c::RFdrawVal
   * randomfields.c::RFsynth
    * mri_glmfit.c::main
    * mri_mcsim.c::main
    * mri_volsynth.c::main
 * gsl_ran_gaussian
  * randomfields.c::RFdrawVal
   * ...
 * gsl_ran_fdist
  * randomfields.c::RFdrawVal
   * ...
 * gsl_ran_tdist
  * randomfields.c::RFdrawVal
   * ...
 * gsl_ran_chisq
  * randomfields.c::RFdrawVal
   * ...
 * gsl_ran_binomial_pdf
  * mri_cht2p.c::main
 * gsl_ran_binomial_pdf
  * volcluster.c::CSDpvalClustSize
   * mri_surfcluster.c::main

== GSL Types and Functions Used ==
 * gsl_matrix
  * optseq2.c::AR1WhitenMatrix
  * matrix.c::MatrixToGSL
  * matrix.c::MatrixFromGSL
  * matrix.c::MatrixSVDPseudoInverse
 * gsl_matrix_alloc
  * matrix.c::MatrixToGSL
  * matrix.c::MatrixSVDPseudoInverse
 * gsl_matrix_calloc
  * optseq2.c::AR1WhitenMatrix
 * gsl_matrix_free
  * optseq2.c::AR1WhitenMatrix
  * matrix.c::MatrixSVDPseudoInverse
 * gsl_matrix_get
  * optseq2.c::AR1WhitenMatrix
  * matrix.c::MatrixFromGSL
 * gsl_matrix_set
  * optseq2.c::AR1WhitenMatrix
  * matrix.c::MatrixFromGSL
 * gsl_vector
  * matrix.c::MatrixSVDPseudoInverse
  * matrix.c::VectorFromGSL
 * gsl_vector_alloc
  * matrix.c::MatrixSVDPseudoInverse
 * gsl_vector_free
  * matrix.c::MatrixSVDPseudoInverse
 * gsl_vector_get
  * matrix.c::VectorFromGSL
 * gsl_vector_set -- not used
 * gsl_cdf_fdist_Q
  * fmriutils.c::fMRIsigF
  * fsglm.c::GLMtest
  * randomfields.c::RFstat2PVal
 * gsl_cdf_flat_Q
  * randomfields.c::RFstat2PVal
 * gsl_cdf_gaussian_Q
  * randomfields.c::RFstat2PVal
 * gsl_cdf_tdist_Q
  * randomfields.c::RFstat2PVal
  * sig.c::sigt -- only used if MGH_GSL is defined and it never is
 * gsl_cdf_chisq_Q
  * randomfields.c::RFstat2PVal
 * gsl_cdf_flat_Qinv
  * randomfields.c::RFp2StatVal
 * gsl_cdf_gaussian_Qinv
  * randomfields.c::RFp2StatVal
 * gsl_cdf_tdist_Qinv
  * randomfields.c::RFp2StatVal
 * gsl_cdf_chisq_Qinv
  * randomfields.c::RFp2StatVal
 * gsl_linalg_SV_decomp
  * matrix.c::MatrixSVDPseudoInverse
 * gsl_linalg_cholesky_decomp
  * optseq2.c::AR1WhitenMatrix
 * gsl_rng_type
  * randomfields.h::RANDOM_FIELD_SPEC, RFS
  * randomfields.h::RFspecInit
  * randomfields.c::RFspecInit
 * gsl_rng_ranlux389
  * randomfields.c::RFspecInit
 * gsl_rng
  * randomfields.h::RANDOM_FIELD_SPEC, RFS
 * gsl_rng_alloc
  * randomfields.c::RFspecInit
 * gsl_rng_free
  * randomfields.c::RFspecFree
 * gsl_rng_set
  * randomfields.c::RFspecSetSeed
 * gsl_ran_flat
  * randomfields.c::RFdrawVal
 * gsl_ran_gaussian
  * randomfields.c::RFdrawVal
 * gsl_ran_fdist
  * randomfields.c::RFdrawVal
 * gsl_ran_tdist
  * randomfields.c::RFdrawVal
 * gsl_ran_chisq
  * randomfields.c::RFdrawVal
 * gsl_ran_binomial_pdf
  * mri_cht2p.c::main
  * volcluster.c::CSDpvalClustSize

== Possible Replacements ==
 * http://netlib.org/ -- no
  * doesn't have the stat functions we need
 * http://math.nist.gov/MatrixMarket/ -- no
  * doesn't have the stat functions we need
 * http://www.oonumerics.org/oon/ -- no
  * a long list of stuff we can't use
 * http://rac.uits.iu.edu/hpc/numerics.shtml -- no
  * long list of libraries
 * http://osl.iu.edu/research/mtl/ -- no
  * doesn't have the stat functions we need
 * http://math.nist.gov/tnt/ -- no
  * doesn't have the stat functions we need
 * http://www.gnu.org/software/goose/goose.html
  * LGPL
  * has CDF
 * VXL/VNL for SV Decomposition
 * ITK for some of the distribution functions?

== Other Useful Links ==
 * http://www.gnu.org/software/gsl/manual/html_node/Function-Index.html