Deletions are marked like this. | Additions are marked like this. |
Line 259: | Line 259: |
* Cumulative Density Functions: http://www.scs.fsu.edu/~burkardt/cpp_src/dcdflib/dcdflib.html |
* has CDF functions, but not for evaluating Q alone, which is what we want... * not much in terms of random number generators either * Cumulative Density Functions: http://www.scs.fsu.edu/~burkardt/cpp_src/dcdflib/dcdflib.html -- no |
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
- 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
- gcamorph.c::GCAMreinitWithLTA
- gcamorph.c::gcamComputeOptimalTargetLinearTransform
- matrix.c::MatrixSVDPseudoInverse
- matrix.c::MatrixFromGSL
- matrix.c::MatrixSVDPseudoInverse
- ...
- matrix.c::MatrixSVDPseudoInverse
- matrix.c::MatrixToGSL
- gsl_matrix_alloc
- matrix.c::MatrixToGSL
- ...
- matrix.c::MatrixSVDPseudoInverse
- ...
- matrix.c::MatrixToGSL
- gsl_matrix_calloc
- optseq2.c::AR1WhitenMatrix
- optseq2.c::main
- optseq2.c::AR1WhitenMatrix
- gsl_matrix_free
- optseq2.c::AR1WhitenMatrix
- ...
- matrix.c::MatrixSVDPseudoInverse
- ...
- optseq2.c::AR1WhitenMatrix
- gsl_matrix_get
- optseq2.c::AR1WhitenMatrix
- ...
- matrix.c::MatrixFromGSL
- ...
- optseq2.c::AR1WhitenMatrix
- gsl_matrix_set
- optseq2.c::AR1WhitenMatrix
- ...
- matrix.c::MatrixFromGSL
- ...
- optseq2.c::AR1WhitenMatrix
- gsl_vector
- matrix.c::VectorFromGSL
- matrix.c::MatrixSVDPseudoInverse
- ...
- matrix.c::MatrixSVDPseudoInverse
- matrix.c::MatrixSVDPseudoInverse
- ...
- matrix.c::VectorFromGSL
- gsl_vector_alloc
- matrix.c::MatrixSVDPseudoInverse
- ...
- matrix.c::MatrixSVDPseudoInverse
- gsl_vector_free
- matrix.c::MatrixSVDPseudoInverse
- ...
- matrix.c::MatrixSVDPseudoInverse
- gsl_vector_get
- matrix.c::VectorFromGSL
- matrix.c::MatrixSVDPseudoInverse
- ...
- matrix.c::MatrixSVDPseudoInverse
- matrix.c::VectorFromGSL
- 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
- mri_glmfit::parse_commandline
- fsglm.c::GLMsynth -- never used
- randomfields.c::RFstat2PVal
- randomfields.c::RFstat2P
- randomfields.c::RFstat2Stat -- never used
- randomfields.c::RFstat2P
- fmriutils.c::fMRIsigF
- gsl_cdf_flat_Q
- randomfields.c::RFstat2PVal
- ... -- never used
- randomfields.c::RFstat2PVal
- gsl_cdf_gaussian_Q
- randomfields.c::RFstat2PVal
- ... -- never used
- randomfields.c::RFstat2PVal
- gsl_cdf_tdist_Q
- randomfields.c::RFstat2PVal
- ... -- never used
- randomfields.c::RFstat2PVal
- gsl_cdf_chisq_Q
- randomfields.c::RFstat2PVal
- ... -- never used
- randomfields.c::RFstat2PVal
- gsl_cdf_flat_Qinv
- randomfields.c::RFp2StatVal
- randomfields.c::RFp2Stat
- randomfields.c::RFstat2Stat -- never used
- randomfields.c::RFp2Stat
- randomfields.c::RFp2StatVal
- gsl_cdf_gaussian_Qinv
- randomfields.c::RFp2StatVal
- ...
- randomfields.c::RFp2StatVal
- gsl_cdf_tdist_Qinv
- randomfields.c::RFp2StatVal
- ... -- never used
- randomfields.c::RFp2StatVal
- gsl_cdf_chisq_Qinv
- randomfields.c::RFp2StatVal
- ... -- never used
- randomfields.c::RFp2StatVal
- gsl_linalg_SV_decomp
- matrix.c::MatrixSVDPseudoInverse
- ...
- matrix.c::MatrixSVDPseudoInverse
- gsl_linalg_cholesky_decomp
- optseq2.c::AR1WhitenMatrix
- ...
- 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
- RANDOM_FIELD_SPEC, RFS
- gsl_rng
- RANDOM_FIELD_SPEC, RFS
- gsl_rng_alloc
- randomfields.c::RFspecInit
- ...
- randomfields.c::RFspecInit
- gsl_rng_free
- randomfields.c::RFspecFree
- RFspecFree -- never used
- randomfields.c::RFspecFree
- gsl_rng_set
- randomfields.c::RFspecSetSeed
- randomfields.c::RFspecInit
- ...
- randomfields.c::RFspecInit
- randomfields.c::RFspecSetSeed
- gsl_ran_flat
- randomfields.c::RFdrawVal
- randomfields.c::RFsynth
- mri_glmfit.c::main
- mri_mcsim.c::main
- mri_volsynth.c::main
- randomfields.c::RFsynth
- randomfields.c::RFdrawVal
- gsl_ran_gaussian
- randomfields.c::RFdrawVal
- ...
- randomfields.c::RFdrawVal
- gsl_ran_fdist
- randomfields.c::RFdrawVal
- ...
- randomfields.c::RFdrawVal
- gsl_ran_tdist
- randomfields.c::RFdrawVal
- ...
- randomfields.c::RFdrawVal
- gsl_ran_chisq
- randomfields.c::RFdrawVal
- ...
- randomfields.c::RFdrawVal
- gsl_ran_binomial_pdf
- mri_cht2p.c::main
- gsl_ran_binomial_pdf
- volcluster.c::CSDpvalClustSize
- mri_surfcluster.c::main
- volcluster.c::CSDpvalClustSize
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/ -- BLAS, CBLAS, CLAPACK, ATLAS. maybe?
- Advantages: gold standard for matrix software (used by matlab), real and complex, BSD, possible to optimize for individual platforms, parallel version available.
- Disads: poorly documented (and I mean *poorly*), routines are low-level and would require work up-front to get going, no statistics.
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?
http://cran.us.r-project.org R statistics package. Probably has all the stats we need. Don't know about the matrix stuff. Oops, I think it's GPL though. Yes, it is under GPL.
Probability Density Functions: http://www.scs.fsu.edu/~burkardt/cpp_src/prob/prob.html
- has CDF functions, but not for evaluating Q alone, which is what we want...
- not much in terms of random number generators either
Cumulative Density Functions: http://www.scs.fsu.edu/~burkardt/cpp_src/dcdflib/dcdflib.html -- no