{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualize subcortical pRF data for manuscript \n", "First set up some paths and variables\n", "- Requires `fsl/fsleyes`\n", "- Rquires `NHP-pycortex` (https://github.com/VisionandCognition/NHP-pycortex)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ref_path=../../../FitResults/Reference\n", "res_path=../../../FitResults/MRI\n", "\n", "declare -a subs=(M01 M02)\n", "\n", "for SUBJ in ${subs[@]}; do\n", " eval ${SUBJ}_t1=${ref_path}/Volumes/anat/${SUBJ}/sub-${SUBJ}_ref_anat_brain_res-0.5x0.5x0.5.nii.gz\n", " eval ${SUBJ}_d99=${ref_path}/Volumes/atlas/${SUBJ}/D99_in_${SUBJ^}_adj.nii.gz\n", " eval ${SUBJ}_roi_path=${ref_path}/Volumes/atlas/${SUBJ}/ROI_manualadjust/1mm\n", "done" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Where to put output" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "subcort_path=${res_path}/subcort\n", "mkdir -p ${subcort_path}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create some subcortical ROI masks" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# cat rois\n", "for SUBJ in ${subs[@]}; do\n", " eval fslmaths '$'${SUBJ}_roi_path/LGNm.nii.gz -add '$'${SUBJ}_roi_path/LGNp.nii.gz -bin ${subcort_path}/${SUBJ}_LGN.nii.gz\n", " eval fslmaths '$'${SUBJ}_roi_path/PL.nii.gz -add '$'${SUBJ}_roi_path/PM.nii.gz -bin ${subcort_path}/${SUBJ}_PULV.nii.gz\n", " eval fslmaths ${subcort_path}/${SUBJ}_PULV.nii.gz -add ${subcort_path}/${SUBJ}_LGN.nii.gz -bin ${subcort_path}/${SUBJ}_LGNPULV.nii.gz\n", " eval cp '$'${SUBJ}_roi_path/Striatum.nii.gz ${subcort_path}/${SUBJ}_Striatum.nii.gz\n", "done" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Which models / HRF / R2-threshold" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "model=csshrf\n", "hrf=mhrf\n", "RTH=3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Show suprathreshold angles / eccentricity / size" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "M=${model}_cv1_${hrf}\n", "#M=${model}_cv1_${hrf}_neggain\n", "\n", "for SUBJ in ${subs[@]}; do\n", " eval ${SUBJ}_R2=${res_path}/${SUBJ}/${M}/inAnat/Sess-${model}_cv1_${hrf}_meanR2.nii.gz\n", " eval ${SUBJ}_ANG=${res_path}/${SUBJ}/${M}/inAnat/TH_$RTH/ANG_th${RTH}.nii.gz\n", " eval ${SUBJ}_ECC=${res_path}/${SUBJ}/${M}/inAnat/TH_$RTH/ECC_th${RTH}.nii.gz\n", " eval ${SUBJ}_X=${res_path}/${SUBJ}/${M}/inAnat/TH_$RTH/X_th${RTH}.nii.gz\n", " eval ${SUBJ}_Y=${res_path}/${SUBJ}/${M}/inAnat/TH_$RTH/Y_th${RTH}.nii.gz\n", " eval ${SUBJ}_RFS=${res_path}/${SUBJ}/${M}/inAnat/TH_$RTH/RFS_th${RTH}.nii.gz\n", "done" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "P=${subcort_path}/${model}_${hrf}_${RTH}\n", "#P=${subcort_path}/${model}_neggain_${hrf}_${RTH}\n", "mkdir -p ${P}\n", "for SUBJ in ${subs[@]}; do\n", " eval fslmaths '$'${SUBJ}_ANG -mas ${subcort_path}/${SUBJ}_LGN.nii.gz ${P}/${SUBJ}_ANG_LGN.nii.gz\n", " eval fslmaths '$'${SUBJ}_ANG -mas ${subcort_path}/${SUBJ}_PULV.nii.gz ${P}/${SUBJ}_ANG_PULV.nii.gz\n", " eval fslmaths '$'${SUBJ}_ANG -mas ${subcort_path}/${SUBJ}_Striatum.nii.gz ${P}/${SUBJ}_ANG_Striatum.nii.gz\n", "\n", " eval fslmaths '$'${SUBJ}_ECC -mas ${subcort_path}/${SUBJ}_LGN.nii.gz ${P}/${SUBJ}_ECC_LGN.nii.gz\n", " eval fslmaths '$'${SUBJ}_ECC -mas ${subcort_path}/${SUBJ}_PULV.nii.gz ${P}/${SUBJ}_ECC_PULV.nii.gz\n", " eval fslmaths '$'${SUBJ}_ECC -mas ${subcort_path}/${SUBJ}_Striatum.nii.gz ${P}/${SUBJ}_ECC_Striatum.nii.gz\n", " \n", " eval fslmaths '$'${SUBJ}_X -mas ${subcort_path}/${SUBJ}_LGN.nii.gz ${P}/${SUBJ}_X_LGN.nii.gz\n", " eval fslmaths '$'${SUBJ}_X -mas ${subcort_path}/${SUBJ}_PULV.nii.gz ${P}/${SUBJ}_X_PULV.nii.gz\n", " eval fslmaths '$'${SUBJ}_X -mas ${subcort_path}/${SUBJ}_Striatum.nii.gz ${P}/${SUBJ}_X_Striatum.nii.gz\n", "\n", " eval fslmaths '$'${SUBJ}_Y -mas ${subcort_path}/${SUBJ}_LGN.nii.gz ${P}/${SUBJ}_Y_LGN.nii.gz\n", " eval fslmaths '$'${SUBJ}_Y -mas ${subcort_path}/${SUBJ}_PULV.nii.gz ${P}/${SUBJ}_Y_PULV.nii.gz\n", " eval fslmaths '$'${SUBJ}_Y -mas ${subcort_path}/${SUBJ}_Striatum.nii.gz ${P}/${SUBJ}_Y_Striatum.nii.gz\n", "\n", " eval fslmaths '$'${SUBJ}_RFS -mas ${subcort_path}/${SUBJ}_LGN.nii.gz ${P}/${SUBJ}_RFS_LGN.nii.gz\n", " eval fslmaths '$'${SUBJ}_RFS -mas ${subcort_path}/${SUBJ}_PULV.nii.gz ${P}/${SUBJ}_RFS_PULV.nii.gz\n", " eval fslmaths '$'${SUBJ}_RFS -mas ${subcort_path}/${SUBJ}_Striatum.nii.gz ${P}/${SUBJ}_RFS_Striatum.nii.gz\n", "done" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# relies on fsleyes being installed\n", "for SUBJ in ${subs[@]}; do\n", " M=${subcort_path}/${model}_${hrf}_${RTH}\n", " P=${subcort_path}/${model}_${hrf}_${RTH}/${SUBJ}\n", " eval 'fsleyes -no $'${SUBJ}_t1 \\\n", " '$'${SUBJ}_R2 -dr 0 5 -cm brain_colours_5redyell_iso \\\n", " ${P}_ANG_LGN.nii.gz -dr 0 360 -cm hsv \\\n", " ${P}_ANG_PULV.nii.gz -dr 0 360 -cm hsv \\\n", " ${P}_ANG_Striatum.nii.gz -dr 0 360 -cm hsv \\\n", " ${P}_ECC_LGN.nii.gz -dr 0 10 -cm brain_colours_5redyell_iso \\\n", " ${P}_ECC_PULV.nii.gz -dr 0 10 -cm brain_colours_5redyell_iso \\\n", " ${P}_ECC_Striatum.nii.gz -dr 0 10 -cm brain_colours_5redyell_iso \\\n", " ${P}_RFS_LGN.nii.gz -dr 0 4 -cm brain_colours_5redyell_iso \\\n", " ${P}_RFS_PULV.nii.gz -dr 0 4 -cm brain_colours_5redyell_iso \\\n", " ${P}_RFS_Striatum.nii.gz -dr 0 4 -cm brain_colours_5redyell_iso & \n", "done\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Bash", "language": "bash", "name": "bash" }, "language_info": { "codemirror_mode": "shell", "file_extension": ".sh", "mimetype": "text/x-sh", "name": "bash" } }, "nbformat": 4, "nbformat_minor": 4 }