History of creating and maintaining this restfmri.net website

Honestly, I should have started logging the change of restfmri.net from the very first draft.

Er, I would try to log anything important to this site from now on, no laziness, no excuse.

Now is the point:

  • This site (restfmri.net) is a dedicated researching forum site. It should provide as much as possible convenient conditions to help an investigator to discuss any resting-state fMRI papers or other interesting scientific topics.
  • This site could automatically import an article's abstract from PubMed paper's abstract view page, this is something like citeulike and I made some improvements such as I preserve an abstract's style in PubMed to make it looks good.
  • Any registered users could freely tag any interested content.
  • The webmaster of this site (Xiao-Wei Song) liked to spend his time on this site to make any discussion easy and to promote our researching career.

That's it. Any comments are welcome and would be appreciated.

Xiao-Wei Song

12/14/2008

 

Taxonomy upgrade extras: 

Comments

感觉Drupal 6.x系统中文翻译的词汇尚不完全,并且有不少可能会产生歧义,所以我去掉了这个有点儿鸡肋的功能。

如果访问本站看到“Page not found”之类的错误请去掉url中的cn或者en再试一次。

This function spent me about 3 days. Now its intent has been reached. 

  • On each time you opened an topic, any topics related to this topic would be listed at the bottom of the content viewing page. The principle is based on search the title and its taxonomy.
  • On each time you add an article from PubMed to restfmri.net, any topics related to the article's title would be listed at the bottom of the new content adding page. This may give you some hints on the already discussed topics.
  • The drawback currently is that the node itself would always be shown when in content viewing mode. This should be of course. But in the future I may spent some time on this to hide itself to refrain users from confusing.

Xiao-Wei Song

12/15/2008

I added GeSHi code highlight function today. So it would be a nice place to cooperate with codes.

Supported language would be: bash, c/c++, Matlab etc.

Using highlighting function is very easy, just add

<code type="bash">...</code> or <blockcode language="Matlab">...</blockcode>

to surround your code (You may need to switch to plain text editor to add the tags pair "<code>" or "<blockcode>"). 

The below is an example of Dr. Zuo's script (Crafts on the Research Road):


#!/bin/sh
CURDIR=`pwd`

SUBJECT_LIST=subjects_list.txt
#SUBJECT_LIST=test_list.txt

# Do Loop
for SUBJECT in `cat ${SUBJECT_LIST}`
do
echo "Estimating subject ${SUBJECT}'s spatial normalization ..."
cd ${CURDIR}/${SUBJECT} ; mkdir -p reg ; cd reg
ln -s ${CURDIR}/${SUBJECT}/mprage_brain.nii.gz highres.nii.gz
ln -s ${FSLDIR}/data/standard/MNI152_T1_2mm_brain.nii.gz standard.nii.gz
ln -s ${FSLDIR}/data/standard/MNI152_T1_2mm.nii.gz standard_head.nii.gz
ln -s ${CURDIR}/${SUBJECT}/mprage.nii.gz highres_head.nii.gz
ln -s ${FSLDIR}/data/standard/MNI152_T1_2mm_brain_mask_dil.nii.gz standard_mask.nii.gz
echo "func --> highres ..."
flirt -ref highres.nii.gz -in ${CURDIR}/${SUBJECT}/example_func_brain.nii.gz -out example_func2highres -omat example_func2highres.mat -cost corratio -dof 6 -searchrx -90 90 -searchry -90 90 -searchrz -90 90 -interp trilinear
convert_xfm -inverse -omat highres2example_func.mat example_func2highres.mat
slicer example_func2highres.nii.gz highres.nii.gz -s 2 -x 0.35 sla.png -x 0.45 slb.png -x 0.55 slc.png -x 0.65 sld.png -y 0.35 sle.png -y 0.45 slf.png -y 0.55 slg.png -y 0.65 slh.png -z 0.35 sli.png -z 0.45 slj.png -z 0.55 slk.png -z 0.65 sll.png ;
pngappend sla.png + slb.png + slc.png + sld.png + sle.png + slf.png + slg.png + slh.png + sli.png + slj.png + slk.png + sll.png example_func2highres1.png ;
slicer highres.nii.gz example_func2highres.nii.gz -s 2 -x 0.35 sla.png -x 0.45 slb.png -x 0.55 slc.png -x 0.65 sld.png -y 0.35 sle.png -y 0.45 slf.png -y 0.55 slg.png -y 0.65 slh.png -z 0.35 sli.png -z 0.45 slj.png -z 0.55 slk.png -z 0.65 sll.png ;
pngappend sla.png + slb.png + slc.png + sld.png + sle.png + slf.png + slg.png + slh.png + sli.png + slj.png + slk.png + sll.png example_func2highres2.png ;
pngappend example_func2highres1.png - example_func2highres2.png example_func2highres.png;
/bin/rm -f sl?.png
echo "highres --> standard (affine tranformation) ..."
flirt -ref standard -in highres.nii.gz -out highres2standard -omat highres2standard.mat -cost corratio -dof 12 -searchrx -90 90 -searchry -90 90 -searchrz -90 90 -interp trilinear
echo "highres --> standard (nonlinear tranformation) ..."
fnirt --in=highres_head.nii.gz --aff=highres2standard.mat --cout=highres2standard_warp.nii.gz --iout=highres2standard.nii.gz --jout=highres2standard_jac.nii.gz --config=T1_2_MNI152_2mm --ref=standard_head.nii.gz --refmask=standard_mask.nii.gz --warpres=10,10,10
convert_xfm -inverse -omat standard2highres.mat highres2standard.mat
slicer highres2standard.nii.gz standard.nii.gz -s 2 -x 0.35 sla.png -x 0.45 slb.png -x 0.55 slc.png -x 0.65 sld.png -y 0.35 sle.png -y 0.45 slf.png -y 0.55 slg.png -y 0.65 slh.png -z 0.35 sli.png -z 0.45 slj.png -z 0.55 slk.png -z 0.65 sll.png ;
pngappend sla.png + slb.png + slc.png + sld.png + sle.png + slf.png + slg.png + slh.png + sli.png + slj.png + slk.png + sll.png highres2standard1.png ;
slicer standard.nii.gz highres2standard.nii.gz -s 2 -x 0.35 sla.png -x 0.45 slb.png -x 0.55 slc.png -x 0.65 sld.png -y 0.35 sle.png -y 0.45 slf.png -y 0.55 slg.png -y 0.65 slh.png -z 0.35 sli.png -z 0.45 slj.png -z 0.55 slk.png -z 0.65 sll.png ;
pngappend sla.png + slb.png + slc.png + sld.png + sle.png + slf.png + slg.png + slh.png + sli.png + slj.png + slk.png + sll.png highres2standard2.png ;
pngappend highres2standard1.png - highres2standard2.png highres2standard.png;
/bin/rm -f sl?.png
echo "func --> standard ..."
convert_xfm -omat example_func2standard.mat -concat highres2standard.mat example_func2highres.mat
applywarp --ref=standard.nii.gz --in=${CURDIR}/${SUBJECT}/example_func_brain.nii.gz --out=example_func2standard.nii.gz --warp=highres2standard_warp.nii.gz --premat=example_func2highres.mat
convert_xfm -inverse -omat standard2example_func.mat example_func2standard.mat
slicer example_func2standard.nii.gz standard.nii.gz -s 2 -x 0.35 sla.png -x 0.45 slb.png -x 0.55 slc.png -x 0.65 sld.png -y 0.35 sle.png -y 0.45 slf.png -y 0.55 slg.png -y 0.65 slh.png -z 0.35 sli.png -z 0.45 slj.png -z 0.55 slk.png -z 0.65 sll.png ;
pngappend sla.png + slb.png + slc.png + sld.png + sle.png + slf.png + slg.png + slh.png + sli.png + slj.png + slk.png + sll.png example_func2standard1.png ;
slicer standard.nii.gz example_func2standard.nii.gz -s 2 -x 0.35 sla.png -x 0.45 slb.png -x 0.55 slc.png -x 0.65 sld.png -y 0.35 sle.png -y 0.45 slf.png -y 0.55 slg.png -y 0.65 slh.png -z 0.35 sli.png -z 0.45 slj.png -z 0.55 slk.png -z 0.65 sll.png ;
pngappend sla.png + slb.png + slc.png + sld.png + sle.png + slf.png + slg.png + slh.png + sli.png + slj.png + slk.png + sll.png example_func2standard2.png ;
pngappend example_func2standard1.png - example_func2standard2.png example_func2standard.png;
/bin/rm -f sl?.png
done

echo "All done! Let's leave for the next step...!"

 

 <code type="bash">...</code> or <blockcode language="Matlab">...</blockcode>
could also be replaced with [code] and [blockcode] tags.

This would enable GeShi filter to work on the codes.

  warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PDT/-7.0/DST' instead in /home/restf1/public_html/forum/modules/comment/comment.module on line 1514.