You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
240 lines
12 KiB
240 lines
12 KiB
From 2bc4be1f55b27a733e1e624b34bc570187ba95e1 Mon Sep 17 00:00:00 2001 |
|
From: François Bissey <frp.bissey@gmail.com> |
|
Date: Mon, 20 Jan 2020 11:40:53 +1300 |
|
Subject: [PATCH] Making sure fsl code and executable can find other executable |
|
and data in standard location. |
|
|
|
--- |
|
src/fast4/fast_two.cc | 8 ++++---- |
|
src/feat5/feat_model.cc | 8 +++----- |
|
src/feat5/tsplot.cc | 7 +++---- |
|
src/first/first_utils.cc | 4 ++-- |
|
src/fnirt/fnirtfns.cpp | 11 ++++------- |
|
src/fslsurface/fslsurface_first.cc | 6 ++---- |
|
src/fslsurface/fslsurfacemaths.cpp | 12 ------------ |
|
src/libvis/miscpic.h | 7 +------ |
|
src/melodic/meldata.cc | 4 ++-- |
|
src/melodic/meloptions.cc | 8 -------- |
|
src/melodic/meloptions.h | 1 - |
|
src/melodic/melreport.cc | 12 ++++++------ |
|
src/melodic/melreport.h | 20 ++++++++++---------- |
|
src/mm/mixture_model.cc | 4 ++-- |
|
src/siena/siena_diff.cc | 28 +++++++++++++--------------- |
|
src/topup/topupfns.cpp | 3 +-- |
|
16 files changed, 53 insertions(+), 90 deletions(-) |
|
|
|
diff --git a/src/fast4/fast_two.cc b/src/fast4/fast_two.cc |
|
index 592b5df..b525444 100644 |
|
--- a/src/fast4/fast_two.cc |
|
+++ b/src/fast4/fast_two.cc |
|
@@ -166,7 +166,7 @@ int prior_registration(string inname, string main_prior_vol, NEWIMAGE::volume<fl |
|
string csfPriorName, grayPriorName, whitePriorName; |
|
if(alternatePriors.unset()) |
|
{ |
|
- string priorRootName=string(getenv("FSLDIR")) + "/data/standard/tissuepriors/avg152T1_"; |
|
+ string priorRootName="@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/tissuepriors/avg152T1_"; |
|
csfPriorName = priorRootName+"csf"; |
|
grayPriorName = priorRootName+"gray"; |
|
whitePriorName = priorRootName+"white"; |
|
@@ -215,15 +215,15 @@ string csfPriorName, grayPriorName, whitePriorName; |
|
if(bapused>0) |
|
{ |
|
char reg[1024]; |
|
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), csfPriorName.c_str(), (main_prior_vol+"_csf_stdspace").c_str(), bapriori.value().c_str()); |
|
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), csfPriorName.c_str(), (main_prior_vol+"_csf_stdspace").c_str(), bapriori.value().c_str()); |
|
if(verbose.value()) |
|
cout<<reg<<endl; |
|
system(reg); |
|
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), grayPriorName.c_str(), (main_prior_vol+"_gm_stdspace").c_str(), bapriori.value().c_str()); |
|
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), grayPriorName.c_str(), (main_prior_vol+"_gm_stdspace").c_str(), bapriori.value().c_str()); |
|
if(verbose.value()) |
|
cout<<reg<<endl; |
|
system(reg); |
|
- sprintf(reg, "%s/bin/flirt -ref %s -in %s -out %s -applyxfm -init %s", getenv("FSLDIR"), inname.c_str(), whitePriorName.c_str(), (main_prior_vol+"_wm_stdspace").c_str(), bapriori.value().c_str()); |
|
+ sprintf(reg, "flirt -ref %s -in %s -out %s -applyxfm -init %s", inname.c_str(), whitePriorName.c_str(), (main_prior_vol+"_wm_stdspace").c_str(), bapriori.value().c_str()); |
|
if(verbose.value()) |
|
cout << reg << endl; |
|
system(reg); |
|
diff --git a/src/feat5/feat_model.cc b/src/feat5/feat_model.cc |
|
index 399a13e..e15e43c 100644 |
|
--- a/src/feat5/feat_model.cc |
|
+++ b/src/feat5/feat_model.cc |
|
@@ -744,7 +744,7 @@ int main(int argc, char **argv) |
|
vector<int> G; |
|
vector<string> titles; |
|
float tr, mult, trmult, nltffwhm=0, maxconvwin=0; |
|
- char fl[10000], *FSLDIR; |
|
+ char fl[10000]; |
|
string fn, filename; |
|
FONT_DATA *font_data = new FONT_DATA[1]; |
|
|
|
@@ -763,8 +763,6 @@ int main(int argc, char **argv) |
|
if (argc==3) |
|
motionparams=remmean(read_ascii_matrix(argv[2])); |
|
|
|
- FSLDIR=getenv("FSLDIR"); |
|
- |
|
fn = string(argv[1])+".fsf"; |
|
|
|
level = atoi(find_line(fn, "fmri(level)", fl)); |
|
@@ -1510,7 +1508,7 @@ int main(int argc, char **argv) |
|
writeCovarianceImage(string(argv[1])+"_cov.ppm", contrasts, F, nftests, realDesign, level, evs.eigenvals, font_data, contrasts.RE); |
|
writeImagePreview(string(argv[1])+".ppm", contrasts, F, nftests, realDesign, level, evs, font_data, titles, tr, nltffwhm, nTimepoints, G); |
|
|
|
- filename=string(getenv("FSLDIR"))+"/bin/wpng -q -overwrite "+string(argv[1])+".ppm "; |
|
+ filename="wpng -q -overwrite "+string(argv[1])+".ppm "; |
|
system(filename.c_str()); |
|
|
|
return(0); |
|
@@ -2161,6 +2159,6 @@ char the_string[10000]; |
|
|
|
fclose(outputfile); |
|
|
|
- filename=string(getenv("FSLDIR")) + "/bin/wpng -q -overwrite " + filename; |
|
+ filename="wpng -q -overwrite " + filename; |
|
system(filename.c_str()); |
|
} |
|
diff --git a/src/feat5/tsplot.cc b/src/feat5/tsplot.cc |
|
index ae191fd..3a02b55 100644 |
|
--- a/src/feat5/tsplot.cc |
|
+++ b/src/feat5/tsplot.cc |
|
@@ -293,7 +293,7 @@ int main(int argc, char **argv) |
|
ofstream outputFile; |
|
int numEVs, npts, numContrasts=1, nftests=0, GRPHSIZE(600), PSSIZE(600); |
|
vector<double> normalisedContrasts, model, triggers; |
|
- string fmriFileName, fslPath, featdir, vType, indexText; |
|
+ string fmriFileName, featdir, vType, indexText; |
|
ColumnVector NewimageVoxCoord(4),NiftiVoxCoord(4); |
|
bool outputText(true), useCoordinate(false), prewhiten(false), useTriggers(false), customMask(false), modelFree(false), isHigherLevel(false), outputDataOnly(false); |
|
bool zWeightClusters(true); |
|
@@ -307,7 +307,6 @@ volume<float> immask; |
|
if (argc<2) usage(""); |
|
featdir=string(argv[1]); |
|
fmriFileName=featdir+"/filtered_func_data"; |
|
- fslPath=string(getenv("FSLDIR")); |
|
|
|
string outputName(featdir); |
|
|
|
@@ -753,7 +752,7 @@ volume4D<float> acs; |
|
cerr << "Can't open output report file " << outputName << endl; |
|
exit(1); |
|
} |
|
- outputFile << "<HTML>\n<TITLE>"<< statType << num2str(i) <<"</TITLE>\n<BODY BACKGROUND=\"file:"<< fslPath <<"/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report - "<< statType << num2str(i) <<"</H1>\n</CENTER>\n<hr><b>Full plots</b><p>\n"<< graphText; |
|
+ outputFile << "<HTML>\n<TITLE>"<< statType << num2str(i) <<"</TITLE>\n<BODY BACKGROUND=\"file:"<< "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report - "<< statType << num2str(i) <<"</H1>\n</CENTER>\n<hr><b>Full plots</b><p>\n"<< graphText; |
|
if (useTriggers) outputFile << "\n<hr><b>Peristimulus plots</b><p>\n"<< peristimulusText <<"\n<HR></BODY></HTML>\n\n"; |
|
else outputFile << "\n</BODY></HTML>\n\n"; |
|
outputFile.close(); |
|
@@ -768,7 +767,7 @@ volume4D<float> acs; |
|
cerr << "Can't open output report file " << outputName << endl; |
|
exit(1); |
|
} |
|
- outputFile << "<HTML>\n<TITLE>FEAT Time Series Report</TITLE>\n<BODY BACKGROUND=\"file:" << fslPath << "/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report</H1>\n</CENTER>\n<hr>" << indexText << "<HR></BODY></HTML>" << endl << endl; |
|
+ outputFile << "<HTML>\n<TITLE>FEAT Time Series Report</TITLE>\n<BODY BACKGROUND=\"file:" << "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/doc/images/fsl-bg.jpg\">\n<hr><CENTER>\n<H1>FEAT Time Series Report</H1>\n</CENTER>\n<hr>" << indexText << "<HR></BODY></HTML>" << endl << endl; |
|
outputFile.close(); |
|
|
|
/* now output same thing without start and end, for inclusion in feat report */ |
|
diff --git a/src/first/first_utils.cc b/src/first/first_utils.cc |
|
index 68be44b..85960f4 100644 |
|
--- a/src/first/first_utils.cc |
|
+++ b/src/first/first_utils.cc |
|
@@ -1954,8 +1954,8 @@ void do_work_bvars(){ |
|
if (!surfaceVAout.value()) { |
|
// do not output on the surface, instead do the new default of outputting a volume with the scalar normal dot product values (for use with randomise) |
|
volume<float> refim; |
|
- if (useReconMNI.value()) { read_volume(refim,string(getenv("FSLDIR")) + "/data/standard/MNI152_T1_1mm"); } |
|
- else { read_volume(refim,string(getenv("FSLDIR")) + "/data/standard/MNI152_T1_1mm"); } |
|
+ if (useReconMNI.value()) { read_volume(refim,"@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); } |
|
+ else { read_volume(refim,"@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); } |
|
volume<float> maskvol(refim); |
|
maskvol=0.0f; |
|
volume4D<float> volnormals; |
|
diff --git a/src/fnirt/fnirtfns.cpp b/src/fnirt/fnirtfns.cpp |
|
index 24e26fd..77899e7 100644 |
|
--- a/src/fnirt/fnirtfns.cpp |
|
+++ b/src/fnirt/fnirtfns.cpp |
|
@@ -1203,8 +1203,7 @@ string existing_ref_fname(const string& ref_fname) |
|
return(string(ref_fname)); |
|
} |
|
else { |
|
- const char *fsldir_ptr = getenv("FSLDIR"); |
|
- string eref_fname = string(fsldir_ptr) + string("/data/standard/") + ref_fname; |
|
+ string eref_fname = string("@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/") + ref_fname; |
|
if (NEWIMAGE::FslFileExists(eref_fname)) return(eref_fname); |
|
else return(string("")); |
|
} |
|
@@ -1230,9 +1229,8 @@ string existing_ref_fname(const string& ref_fname) |
|
NEWIMAGE::read_volume_hdr_only(vref,ref_fname); // Throws if file dont exist |
|
eref_fname = ref_fname; |
|
} |
|
- catch(...) { // Didn't exist in current directory, try in ${FSLDIR}/data/standard |
|
- const char *fsldir_ptr = getenv("FSLDIR"); |
|
- eref_fname = string(fsldir_ptr) + string("/data/standard/") + ref_fname; |
|
+ catch(...) { // Didn't exist in current directory, try in .../data/standard |
|
+ eref_fname = string("@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/") + ref_fname; |
|
try { |
|
cout << "Could not find " << ref_fname << ", now checking " << eref_fname << endl; |
|
NEWIMAGE::read_volume_hdr_only(vref,eref_fname); // Throws if file dont exist |
|
@@ -1267,8 +1265,7 @@ string existing_conf_file(const string& cfname) |
|
if (check_exist(ecfname)) return(ecfname); |
|
} |
|
if (!FNIRT::path(cfname).length()) { // If no path explicitly given |
|
- const char *fsldir_ptr = getenv("FSLDIR"); |
|
- ecfname = string(fsldir_ptr) + string("/etc/flirtsch/") + cfname; |
|
+ ecfname = string("@GENTOO_PORTAGE_EPREFIX@/etc/flirtsch/") + cfname; |
|
if (check_exist(ecfname)) return(ecfname); |
|
else if (!FNIRT::extension(ecfname).length()) { // If no path _and_ no extension given |
|
ecfname += string(".cnf"); |
|
diff --git a/src/fslsurface/fslsurface_first.cc b/src/fslsurface/fslsurface_first.cc |
|
index faec642..b2ef794 100644 |
|
--- a/src/fslsurface/fslsurface_first.cc |
|
+++ b/src/fslsurface/fslsurface_first.cc |
|
@@ -500,8 +500,7 @@ namespace fslsurface_name { |
|
|
|
volume<float>* immni = new volume<float>(); |
|
|
|
- char* fsldir = getenv("FSLDIR"); |
|
- read_volume_hdr_only(*immni, string(fsldir) + "/data/standard/MNI152_T1_1mm"); |
|
+ read_volume_hdr_only(*immni, "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); |
|
|
|
//read_volume_hdr_only(*immni, template_name); |
|
|
|
@@ -699,8 +698,7 @@ namespace fslsurface_name { |
|
|
|
volume<float>* immni = new volume<float>(); |
|
|
|
- char* fsldir = getenv("FSLDIR"); |
|
- read_volume_hdr_only(*immni, string(fsldir) + "/data/standard/MNI152_T1_1mm"); |
|
+ read_volume_hdr_only(*immni, "@GENTOO_PORTAGE_EPREFIX@/usr/share/fsl/data/standard/MNI152_T1_1mm"); |
|
|
|
//read_volume_hdr_only(*immni, template_name); |
|
|
|
diff --git a/src/fslsurface/fslsurfacemaths.cpp b/src/fslsurface/fslsurfacemaths.cpp |
|
index eaf55eb..3dc184d 100644 |
|
--- a/src/fslsurface/fslsurfacemaths.cpp |
|
+++ b/src/fslsurface/fslsurfacemaths.cpp |
|
@@ -598,12 +598,6 @@ int main (int argc, char * argv[]) |
|
|
|
}else if (command == "-reconFromBvars"){ |
|
cout<<"do recon "<<endl; |
|
- char* fsldir = getenv("FSLDIR"); |
|
- if (fsldir == NULL) |
|
- { |
|
- cerr<<"FSLDIR has not been set. "<<endl; |
|
- exit(EXIT_FAILURE); |
|
- } |
|
//file.bvars,mni_template.nii.gz |
|
// string mni = string(fsldir)+"/data/standard/MNI152_T1_1mm"; |
|
reconSurface_from_bvars( surf, string(argv[i_arg+1])); |
|
@@ -612,12 +606,6 @@ int main (int argc, char * argv[]) |
|
|
|
}else if (command == "-reconAllFromBvarsAndSave"){ |
|
cout<<"do recon+save "<<argc<<" "<<i_arg<<endl; |
|
- char* fsldir = getenv("FSLDIR"); |
|
- if (fsldir == NULL) |
|
- { |
|
- cerr<<"FSLDIR has not been set. "<<endl; |
|
- exit(EXIT_FAILURE); |
|
- } |
|
//file.bvars,mni_template.nii.gz |
|
// string mni = string(fsldir)+"/data/standard/MNI152_T1_1mm"; |
|
cout<<"recon "<< string(argv[i_arg+1])<<endl;
|
|
|