Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various bug fixes and some new features #62

Open
wants to merge 272 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
272 commits
Select commit Hold shift + click to select a range
3d2acac
convertROICorticalDepth.m: made it fully scriptable
jb85aub Jul 23, 2019
62b0158
multipleTestsAdjustment.m: added options not to run either FWE or FDR…
jb85aub Sep 4, 2019
2564a0f
transformStatistic.m: added help text
julienbesle Sep 28, 2019
41ec7f1
multipleTestsAdjustment.m: added help for recently added optional arg…
julienbesle Sep 28, 2019
a6433de
combineTransformOverlays.m: added option to mask overlays using a com…
julienbesle Sep 28, 2019
1a29476
Merge branch 'justingardner/master' into 'julienbesle/current'
julienbesle Sep 28, 2019
706d5b5
(julien) replaced calls to isfile.m by calls to mlrIsFile.m in a numb…
julienbesle Sep 28, 2019
6dc4e8b
mlrAnatomyPlugin.m: implemented importing Freesurfer labels as ROIs f…
julienbesle Sep 28, 2019
0c363c2
getBaseSpaceOverlay.m: added comments about problems with the way sur…
julienbesle Sep 29, 2019
8c873b7
combineTransformOverlays.m: corrected bug whne passing overlayList as…
jb85aub Sep 30, 2019
e335914
combineTransformOverlays.m,transformROIs.m: now displays extended err…
julienbesle Oct 1, 2019
1f63cea
added makeROIsExactlyContiguous.m to transformROI functions
julienbesle Oct 1, 2019
1a729a9
makeROIsExactlyContiguous.m: only goes through the whole loop if ROIs…
julienbesle Oct 2, 2019
bc58bfa
convertROICorticalDepth.m: removed mimimum possible value for minDept…
julienbesle Oct 2, 2019
8aaf121
convertROICorticalDepth.m: started implementing option to exclude vox…
julienbesle Oct 2, 2019
497fbd5
projectCorticalDepth.m: finished implementing option to exclude ROI v…
julienbesle Oct 2, 2019
b2269de
makeROIsExactlyContiguous.m: handles ROIs that have non-rounded and n…
julienbesle Oct 2, 2019
2693102
fweAdjust.m: makes sure p values are in a column vector
julienbesle Oct 10, 2019
463f25f
combineROIs.m: round coordinates to deal with ROIs that have non-inte…
julienbesle Oct 14, 2019
469a91a
(julien) added hrf model hrfCustom.m to add arbitrary HRF model using…
julienbesle Nov 7, 2019
8b64fdb
Merge pull request #1 from julienbesle/current
ppxma7 Jan 15, 2020
fb2706e
my stuff
ppxma7 Jan 21, 2020
7ecc769
bug
ppxma7 Jan 24, 2020
8a108c6
combineTransformOverlays.m: handles cases in which scans have differe…
jb85aub Feb 27, 2020
760654f
weightedMeanStd.m: added optional argument for population mean range
jb85aub Feb 27, 2020
ffe4b5d
Merge branch 'justingardner/master' into julienbesle/current
julienbesle Mar 9, 2020
c6b0839
adds an option to check for quiet group deletion when scripting mrTools
ppxma7 Mar 13, 2020
efec381
resetting defaults
ppxma7 Mar 16, 2020
a6a5d67
resetting to defaults
ppxma7 Mar 16, 2020
eeb9393
resetting to default
ppxma7 Mar 18, 2020
b9b3d3e
reset
ppxma7 Mar 18, 2020
048b357
generic bug explanation and removal of file
ppxma7 Mar 19, 2020
499aaeb
resetting
ppxma7 Mar 24, 2020
9fb0f1d
Merge pull request #3 from ppxma7/current
julienbesle Mar 24, 2020
4df6a56
editOverlayGUImrParams.m: added option to use an anonymous function f…
julienbesle May 20, 2020
4ddf994
editOverlayGUImrParams.m: remove cmapHSV from the list of colormap fu…
julienbesle May 20, 2020
2c9faf0
editOverlayGUImrParams.m: automatically adds any colormap function ad…
julienbesle May 20, 2020
e4d1430
added randomHSV colormap
julienbesle May 21, 2020
7fb82f3
mrExport2SR.m, viewGUIPlugin.m: added option to export overlay in sca…
julienbesle May 27, 2020
0b13372
mlrImage: enabled .nii.gz load/save on Windows
julienbesle May 28, 2020
2cb1264
importTSeries.m: can now import .nii.gz files as scans
julienbesle May 28, 2020
9abe97d
importROI.m,viewGUIPlugin.m: added option to import ROI(s) from NIFT…
julienbesle Jul 14, 2020
8d71f7e
took inversBaseCoordMap.m and applyInverseBaseCoordMap.m out of combi…
julienbesle Jul 24, 2020
6bed787
added overlay combine function keepKlargestConnectedClusters.m
julienbesle Jul 24, 2020
e3f9fb7
mlrImageParseArgs.m: handles cell arguments and other unknown argumen…
julienbesle Aug 3, 2020
293fb4d
makeEmptyMLRDir.m: fixed issue with subject folders containing spaces
julienbesle Aug 3, 2020
da2c440
mrExport2SR.m: added option to output data and header instead of writ…
julienbesle Aug 3, 2020
36186c1
applyInverseBaseCoordMap.m: takes NaNs into account, which avoids hol…
julienbesle Aug 3, 2020
23a0115
inverseBaseCoordMap.m: changed the way the sparse mapping matrix is c…
julienbesle Aug 3, 2020
0278aa5
spatialSmooth.m: fixed help
julienbesle Aug 3, 2020
c34c29e
newROI.m: made completely scriptable
julienbesle Aug 3, 2020
4681539
isview.m: added option to check a view without checking against (and …
julienbesle Aug 3, 2020
e05fa32
mlrImageParseArgs.m: calls isview without loading global variable MLR…
julienbesle Aug 3, 2020
2a51841
remapSurfaces.m: made it work for Windows + checks if remapped surfac…
julienbesle Aug 3, 2020
53c9b9c
mlrLoadLastView.m: simplified code for ouputt arguments
julienbesle Aug 3, 2020
476cd78
mrSaveView.m: added option to save last view mat file under a differe…
julienbesle Aug 3, 2020
52d0bc2
mrInit.m: takes name of default group saved in mrSession.mat into acc…
julienbesle Aug 3, 2020
0badd5b
mrInit.m: made completely scriptable by adding option to skip overwri…
julienbesle Aug 3, 2020
bcf1341
Change set allowing mrLoadRet to be run wihtout a GUI, but still usin…
julienbesle Aug 3, 2020
2f5a335
mrDisp.c: adding back compiled mex files for windows and linux platfo…
julienbesle Aug 4, 2020
db5dd0f
remapSurfaces.m: added option dryRun that just checks if the necessar…
julienbesle Aug 8, 2020
840116b
added surfRelaxFlipLR.m
julienbesle Aug 8, 2020
01e262f
added freesurferSphericalNormalizationVolumes.m
julienbesle Aug 8, 2020
7f4da85
added mlrSphericalNormGroup.m
julienbesle Aug 8, 2020
a55b3f3
cbiWriteNifti.m: added option to append extra volumes and fixed the s…
julienbesle Aug 12, 2020
dff4720
cbiCreateNiftiHeader.m: checks consistency between dim and pixdim fie…
julienbesle Aug 12, 2020
015b224
mrExport2SR.m: replaced call to mlrImageSave by call to mlrImageWrite…
julienbesle Aug 12, 2020
35f4ba5
freesurferSphericalNormalizationVolumes.m: make sure converted data a…
julienbesle Aug 12, 2020
c29501e
added mlrGroupAverage.m
julienbesle Aug 12, 2020
3dbe482
mlrSphericalNormGroup.m: subject overlays are now combined across dif…
julienbesle Aug 12, 2020
791fdd6
cbiCreateNiftiHeader.m: corrected bug introduced in dff4720
julienbesle Aug 12, 2020
1f1b4b6
freesurferSphericalNormalizationVolumes.m: added option to crop outpu…
julienbesle Aug 13, 2020
a2d0816
cbiWriteNifti.m: issue error if provided data and subset size differ
julienbesle Aug 13, 2020
0800c41
cbiReadNifti.m: output data size was wrong when readin restricted sub…
julienbesle Aug 13, 2020
4c1e3ce
mlrSphericalNormGroup.m: added option to crop concatenated scans to s…
julienbesle Aug 13, 2020
96564d6
mlrGroupAverage.m: now works for multiple factors and interaction bet…
julienbesle Aug 14, 2020
69eb51a
mlrGroupAverage.m: takes NaNs into account when averaging and optiona…
julienbesle Aug 14, 2020
49437ee
copyNiftiFile.m: if the file path is identical to the file itself, sk…
julienbesle Aug 15, 2020
479eded
importTSeries.m, saveNewTSeries.m, copyNiftiFile.m: added option to o…
julienbesle Aug 15, 2020
523149a
viewGet.m (case groupNum): do not disply message if group does not ex…
julienbesle Aug 15, 2020
3007956
mlrGroupAverage.m: returns if any scan has no linked log file
julienbesle Aug 15, 2020
1c82f47
mlrSphericalNorGroup.m: added option to apply one of several transfor…
julienbesle Aug 18, 2020
4149c17
getNewSpaceOverlay.m: added function name in waitbar text
julienbesle Aug 19, 2020
a81c6af
renamed disppercent.m to mlrDispPercent.m and changed all calls
julienbesle Aug 27, 2020
0a490b8
drawROI.m: use figure handle explicitly so that the function can be u…
julienbesle Dec 22, 2020
f936ea9
mlrXFormFromHeader.m, freeSurfer2off.m: added some comments
julienbesle Dec 23, 2020
9abe6e4
drawROI.m: use getptsNoDoubleClick for lines if roiPolygoneMethod set…
julienbesle Dec 24, 2020
a992b4b
findLinePoints.m: return single point if input points are identical, …
julienbesle Dec 24, 2020
29c4167
spatialSmooth.m: correctly handle FWHM=0 on any dimension
julienbesle Dec 24, 2020
9938347
Merge pull request #2 from julienbesle/current
ppxma7 Jan 12, 2021
c6d91b6
refreshMLRDisplay.m: outputs the view as 6th argument for use in scripts
julienbesle Jan 26, 2021
eb5cc15
mrQuit.m: do not attempt to close figure if view has been opened with…
julienbesle Jan 29, 2021
98d9dcf
combineTransformOverlays.m: if additional argument cannot be evaluate…
julienbesle Jan 29, 2021
aa92202
importTSeries.m: replaced function contains() by isempty(strfind()) f…
julienbesle Feb 18, 2021
0170837
mlrExportROI.m: corrected error in vertex numbers when orientation of…
julienbesle Feb 18, 2021
1e1bb6c
mlrExportROI.m: when exporting to label file, only consider voxels in…
julienbesle Feb 18, 2021
43ea12e
mlrExportROI.m: took out mlrWriteFreeSurferLabel.m
julienbesle Feb 18, 2021
d905b38
mlrImportFreesurferLabel.m: took out mlrReadFreesurferLabel.m
julienbesle Feb 18, 2021
6e4420a
mlrAnatomyPlugin.m/mlrAnatomyImportFreesurferLabel, mlrImportFreesurf…
julienbesle Feb 18, 2021
6dec1d0
viewSet.m (case overlaycmap): added option to set user-defined overla…
SarahKhalife Mar 2, 2021
89fb17a
mrPrint.m: default ROI contour line width is now taken from the mrPre…
julienbesle Mar 2, 2021
940a888
Merge branch 'current' of https://github.com/julienbesle/mrTools into…
SarahKhalife Mar 2, 2021
7434a6f
eventRelatedHighpass.m: handles cases were notchFilterForTSense field…
julienbesle Mar 2, 2021
7ef2e0c
mrPrint.m: do not attempt to draw colorbar if no GUI associated with …
julienbesle Mar 2, 2021
0282d39
mlrSphericalNormGroup.m: removed call to endsWith.m for backward comp…
julienbesle Mar 3, 2021
0296088
mlrSphericalNormGroup.m: corrected bug with empty templateOverlayNewN…
julienbesle Mar 3, 2021
fd3f81e
freesurferSphericalNormalizationVolumes.m: do not issue warning that …
julienbesle Mar 3, 2021
897a6dc
applyInverseBaseCoordMap.m, inverseBaseCoordMap.m: optimized code for…
julienbesle Mar 6, 2021
4c6f48c
mlrDispPercent.m: added pause when refreshing message or counter, oth…
julienbesle Mar 9, 2021
e3d4864
combineTransformOverlays.m, maskOverlay.m: removed hidden assumption …
julienbesle Mar 10, 2021
983f452
combineTransformOverlays.m: can select a subset of scans (if there ar…
julienbesle Mar 12, 2021
162a582
spatialSmooth.m: added option to fill NaNs with smoothed values (when…
julienbesle Mar 12, 2021
d0fcdda
mlrExportROI.m: added option to export to space of any loaded base or…
julienbesle Mar 20, 2021
a41d71b
makeContrastNames.m: now insensitive to capitalization of tTestSide o…
julienbesle Mar 21, 2021
29973b1
transformStatistic.m: do not compute FDR- or FWE-adjusted if respecti…
julienbesle Mar 21, 2021
d8aff14
mlrGroupAverage.m: many improvements, including fixing bug in finding…
julienbesle Mar 22, 2021
75534bf
applyInverseBaseCoordMap.m: can now be applied to 4D data
julienbesle Mar 22, 2021
23875f2
freesurferSphericalNormalizationVolumes.m: added option to binarize n…
julienbesle Mar 22, 2021
646c6a8
mlrSphericalNormGroup.m: added option to normalize ROI masks and comp…
julienbesle Mar 22, 2021
7c9c4d0
added mlrGroupTtest.m
julienbesle Mar 22, 2021
65ad6bf
mrLoadRetGUI.m (editManyROIs): now handles RGB triplet ROI color
julienbesle Mar 23, 2021
2e3d157
mrSurfViewer.m: put selected surface on top of list instead of defaul…
julienbesle Mar 25, 2021
291ea89
mrSurfViewer.m: find curvature file most likely corresponding to sele…
julienbesle Mar 25, 2021
6fd5cb7
combineTransformOverlays.m: fixed issues withs scanList, overlayList …
julienbesle Mar 26, 2021
56d0b0c
combineTransformOverlays.m: fixed output overlay range and color rang…
julienbesle Mar 26, 2021
6e0e44f
combineTransformOverlays.m: handles multiple additional array argumen…
julienbesle Mar 26, 2021
0d6bf22
spatialSmooth.m: handle cases where all kernel FWHM values are 0
julienbesle Mar 30, 2021
3a35fe1
mlrGroupTtest.m: run checks on factors even when only getting default…
julienbesle Mar 30, 2021
a02f17e
remapSurfaces.m: added option to check for specific remapped surfaces…
julienbesle Mar 30, 2021
0744778
mlrSphericalNormGroup.m, freesurferSphericalNormalizationVolumes.m: a…
julienbesle Mar 31, 2021
2186f7f
mrLoadRetGUI.m: when choosing bases/analyses/overlays
julienbesle Apr 1, 2021
64f8fcc
maskOverlay.m: do not mask if clip min=max
julienbesle Apr 1, 2021
626d4c2
mlrGroupAverage.m: added option to compute contrasts
julienbesle Apr 1, 2021
86bde54
mlrGroupTtest.m: set smoothing space to be the current scan if no smo…
julienbesle Apr 1, 2021
e68cc19
mlrGroupTtest.m: fill overlays with empty data if not on scanlist + o…
julienbesle Apr 1, 2021
15e2ddc
mlrGroupTtest.m: only output one sampleSize overlay
julienbesle Apr 2, 2021
08d2cca
mlrGroupTtest.m: corrected error in computing standard error (was tak…
julienbesle Apr 2, 2021
5124b2b
mlrGroupTtest.m: added option to choose the level of p-correction to …
julienbesle Apr 2, 2021
4204aa6
mlrSphericalNormGroup.m: added option to choose between linear interp…
julienbesle Apr 2, 2021
3366262
added fillHolesInROI.m
julienbesle Apr 6, 2021
6091b96
took mlrPaseAdditionalArguments.m out of transformROIs.m and combineT…
julienbesle Apr 8, 2021
d761b64
getBaseSpaceOverlay.m: added option to get information froma a differ…
julienbesle Apr 21, 2021
282427b
mrPrint.m: can now change any parameter from a script + fixed roi num…
julienbesle Apr 21, 2021
4acc49c
mrPrint.m: fixed colorbar ticks
julienbesle Apr 21, 2021
03e7e7b
viewSet.m (case overlayCmap): can now set (same) colormap for multipl…
julienbesle Apr 21, 2021
b1d2ec8
mrPrint.m: added option to crop image (and ROIs) + fixed upsampling
julienbesle Apr 21, 2021
5659edb
mrPrint.m: added options to transform and format colorbar ticks and l…
julienbesle Apr 22, 2021
60912fb
mrPrint.m: fixed code for surfaces after previous changes (including …
julienbesle Apr 22, 2021
6f8f586
mrPrint.m: do not attempt to print colorbar when multiple overlays
julienbesle Apr 22, 2021
519bfde
mrPrint.m: warns and returns if multi-axis display is on
julienbesle Apr 22, 2021
598d504
mrPrint.m: added option to print multiple overlays in the same figure…
julienbesle Apr 23, 2021
edc1deb
mrPrint.m: added option to set the figure position
julienbesle Apr 23, 2021
2d76b0f
mrGetPref.m, editOverlayGUImrParams.m: added mrpref for adding custom…
julienbesle Apr 23, 2021
2c4ac94
mrPrint.m: fixed colorscales when multiple overlays printed as separa…
julienbesle Apr 24, 2021
9677d07
mrPrint.m: when calling from a script and printing overlays as separa…
julienbesle Apr 24, 2021
82afb0e
mrPrint.m: added colorbarLoc options 'outsideEW' and 'outsideSN'
julienbesle Apr 26, 2021
1d20bd6
mrPrint.m: added imageTitleLoc option + renamed parameter 'title' to …
julienbesle Apr 26, 2021
b45d857
mrPrint.m: now draws colorbar in separate axes for better control of …
julienbesle Apr 27, 2021
2633156
mrPrint.m: adjusted alignment of colobar tick labels
julienbesle Apr 28, 2021
05c1321
mrPrint: fixed ROI default colors
julienbesle May 17, 2021
e79c6c6
Merge branch 'julienbesle:current' into current
ppxma7 Jul 12, 2021
00b0a6f
remove mexmaci64 files to allow flat map generation/loading on newer …
ppxma7 Jul 27, 2021
841b172
Merge pull request #5 from ppxma7/current
julienbesle Jul 27, 2021
8053825
mrPrint.m: added option to use tex/latex interpreter for titles
julienbesle May 18, 2021
6c11a35
getSubplotPosition.m: corrected inaccuracies in computing the axes po…
julienbesle May 18, 2021
de65c28
mlrGuiSet.m: for recent versions of Matlab (>~9.7), no need to set th…
julienbesle Jul 30, 2021
26e9989
mlrImportFreeSurfer.m: do not display warning that mriConvert cannot …
jb85aub Sep 10, 2021
a1d42a4
mlrImportFreeSurfer.m: for newer versions of freesurfer (from 7), pia…
jb85aub Sep 10, 2021
5ef324f
transformROIs.m: put parseArguments function back in (reverted 6091b9…
jb85aub Dec 16, 2021
291c9b1
combineTransformOverlays.m: define params.scanList when GUI is used a…
julienbesle Mar 21, 2022
f6241cf
mrPrint.m: corrected bug when colorbarTitle parameter is empty
julienbesle Mar 21, 2022
c62d79d
mrInit.m: replaced 'Raw' by defaultGroupName in error message
julienbesle Apr 14, 2022
4028781
makeEmptyMLRDir.m: added option to skip prompt that the target direct…
julienbesle Apr 21, 2022
22afbf9
getptsNoDoubleClick.m: updated after changes to original getpts.m in …
julienbesle Apr 21, 2022
715ee56
transformROIs.m: added option to skip prompt if overwriting ROIs
julienbesle Apr 21, 2022
609507a
transformROIs.m: added option to use ROI coordinates in current base …
julienbesle Apr 21, 2022
d203948
drawROI.m: made scriptable by specifying current mrLoadRet GUI figure…
julienbesle Apr 21, 2022
0dc4df0
drawROI.m: force update of curslice.basecoords by runing refreshMLRdi…
julienbesle Apr 21, 2022
73ae4f8
mrInit.m: if qform is missing in scan, make one based on voxel dimens…
julienbesle May 26, 2022
fe7d2f4
importSurfaceOFF.m: corrected bugs when importing both hemispheres
julienbesle May 26, 2022
9d977fc
glmAnalysis.m, glmAnalysisGUI.m, getGlmStatistics.m: smoothingGaussia…
julienbesle May 30, 2022
de6786d
importSurfaceOFF.m: when loading both hemispheres, shift inflated sur…
julienbesle May 30, 2022
759fb13
combineTransformOverlays.m: checks for incompatibility between ROI ma…
jb85aub Jun 9, 2022
5943482
Merge branch 'current' of https://github.com/julienbesle/mrTools into…
jb85aub Jun 9, 2022
c624ee4
importGroupScans.m: made scriptable (not tested)
julienbesle Jun 8, 2022
e4fc8ad
viewGet.m (case baseName): check that there is at least one base befo…
julienbesle Jun 8, 2022
1978627
combineTransformOverlays.m: added option to pass overlays from differ…
julienbesle Jun 10, 2022
e52565b
combineTransformOverlays.m: corrected bug when processing subset of s…
julienbesle Jun 14, 2022
5de936c
viewSet.m (overlayColorRange case): do not set the color range of ove…
julienbesle Jun 14, 2022
eee6aca
inverseBaseCoordMap.m: just added some comments
julienbesle Jun 16, 2022
28be39c
combineTransformOverlays.m: fixed bug when processing a subset of sca…
julienbesle Jun 22, 2022
e4fe9d9
viewSet.m (case deleteGroup): get the correct number of scans if call…
julienbesle Jun 24, 2022
a1a2969
combineTransformOverlays.m: fixed bug when multiple scans and exporti…
julienbesle Jul 18, 2022
5fbb56c
saveROI.m: now returns with a warning if the requested ROI is not fou…
julienbesle Jul 21, 2022
62399f4
added some comments
julienbesle Aug 9, 2022
b74837e
mrLoadRetVersion.m: added Matlab versions 9.8
julienbesle Aug 9, 2022
cb513aa
mrSurfViewer.m: corrected bug when surfRelax files contain a 'G' or a…
julienbesle Aug 12, 2022
5af8a9d
makeFlat.m: can now be called from a script with coordinates in the c…
julienbesle Aug 16, 2022
538b73c
makeFlat.m: now returns the modified view
julienbesle Aug 16, 2022
159f54e
makeFlat.m: changed fault radius from 75 to 60 mm
julienbesle Aug 16, 2022
7940578
editOverlayGUImrParams.m: corrected path of default Matlab color map …
julienbesle Aug 16, 2022
3d7ef94
viewSet.m (case alpha): added alternate case name 'overlayalpha' (as …
julienbesle Aug 24, 2022
b99d178
saveAnat.m: export multiple slices for flat patches
julienbesle Aug 24, 2022
c15fe05
Merge branch 'schluppeck:master' into current
julienbesle Feb 16, 2023
02096bf
update pRF somato plugin to include a 2D Gaussian model that also pro…
ppxma7 Feb 28, 2023
191cf88
Merge pull request #6 from ppxma7/current
julienbesle Feb 28, 2023
a96c5a7
viewGet.m (case baseCoordMapPath): if original surfRelax folder path …
julienbesle Feb 20, 2023
f79aefa
viewGet.m (case baseCoordMap): check if path to base files exists and…
julienbesle Feb 20, 2023
466be7e
glmAnalysis_v2: added estimation sampling period parameter to
julienbesle Mar 8, 2023
45dc3c9
viewGet.m (baseCoordMapPath): use one-time warningif surface path is …
julienbesle Apr 12, 2023
2e3a68f
pRF_somatoFit - Fixed a bug where the prefDig for 1x5 stimulation grids
ppxma7 May 3, 2023
0bf23a4
Merge branch 'julienbesle:current' into current
ppxma7 May 3, 2023
b03f186
hrfBocar.m, hrfCustom.m,, hrfFslFlobs.m: fixed bugs introduced in 466…
julienbesle Jun 7, 2023
7339017
combineTransformOverlays.m: combine scans even if they're in differen…
julienbesle Jun 16, 2023
061efe0
viewSet.m (case roicolor): can now set color of multiple ROIs at once
julienbesle Jul 12, 2023
514b556
mrPrint.m: fixed bugs in mosaic mode when number of columns is not sp…
julienbesle Jul 12, 2023
ec6d559
refreshMLRDisplay.m, mrPrint.m: gyrus/sulcus boundary is now drawn as…
julienbesle Jul 13, 2023
3b77aed
mrLoadRetVersion.m: added matlab version 9.13 (2022b)
julienbesle Aug 3, 2023
44066df
add if loop to importOverlay for scripting, minor + small plugin edits
ppxma7 Aug 9, 2023
6c59c6b
Merge remote-tracking branch 'refs/remotes/origin/current' into current
ppxma7 Aug 9, 2023
5128ccf
Merge pull request #7 from ppxma7/current
julienbesle Aug 9, 2023
22eeffc
editOverlayGUImrParams.m: finds default color maps for Matlab v9.14 a…
julienbesle Sep 28, 2023
9682f38
Merge branch 'master' into current
julienbesle Sep 29, 2023
af7dcd2
mrLoadRetVersion.m: added Matlab versions 9.14 and 9.15 (2023a and b)
julienbesle Sep 29, 2023
3ae029b
add pRF fit for 1d Gaussian for 4 digits
ppxma7 Oct 17, 2023
38ec9c0
Merge pull request #8 from ppxma7/current
julienbesle Oct 17, 2023
4ef9956
Changeset allowing non-linear normalization of individual brains to M…
julienbesle Nov 7, 2023
704c796
mlrImportSPMnormalization.m: go back to current directory at the end
julienbesle Nov 8, 2023
42b2793
added makeSphereROIatCoords.m + modified makeEmptyROI to be able to h…
julienbesle Nov 8, 2023
d509979
modifyROI.m: prints how many voxels were added/subtracted from the RO…
julienbesle Nov 12, 2023
d26339d
restrictROI.m: now calls modifyROI to remove voxels from ROI, so that…
julienbesle Nov 15, 2023
1ced2ca
modifyROI.m: slightly modified the printed output to add the number o…
julienbesle Nov 15, 2023
a340fc8
drawROI.m: for single voxels, fixed the option to right-click to end …
julienbesle Nov 15, 2023
55e0a52
added makeROIsFromSurfaces.m and inpolyhedron.m
julienbesle Nov 16, 2023
eeb0b2b
getGlmStatistics.m, getGlmTestParamsGUI.m: ignore case of tTestSide p…
julienbesle Nov 18, 2023
903ff5a
calcSurfaceNormals.m: now accepts standard Matlab mesh structures
julienbesle Nov 19, 2023
194a965
makeSphereROIatCoords.m: find single voxel to avoid empty ROI when ra…
julienbesle Nov 21, 2023
d8978a9
xformROIcoords.m: use unique with option 'rows' (instead of convertin…
julienbesle Dec 6, 2023
0154190
mlrExportROI.m: now returns ROI indices in export volume space
julienbesle Dec 19, 2023
f87593c
importSurfaceOFF.m: ensures inflated inner surfaces don't intersect
julienbesle Apr 5, 2024
b872c74
mlrGuiSet.m: ignore case of showROIs string
julienbesle Apr 5, 2024
d2705cc
importSurfaceOFF.m: can now script importing both hemispheres
julienbesle Apr 5, 2024
23b250d
refreshMLRDisplay.m: ignore colorBlending preference string case
julienbesle Apr 5, 2024
11423b7
refreshMLRDisplay.m, mrPrint.m: now draws ROI perimeters on surfaces
julienbesle Apr 5, 2024
0b6e584
mrPrint.m: now supports colorbars for multiple overlays without mosaic
julienbesle Apr 7, 2024
2d2277d
makeROIsExactlyContiguous.m: now works for more than 2 ROIs even if v…
julienbesle Apr 20, 2024
cef8784
mrInterrogator.m: for restarts, try to keep the currently-set interro…
julienbesle May 10, 2024
d7c8849
mrPrint.m: added option to add light to surfaces
julienbesle May 14, 2024
85c1e4c
viewSet.m: when setting ROi properties, first check that ROI number(s…
julienbesle May 15, 2024
dad9147
mrSub2ind.m: fixed for Matlab2024 and later, in which sub2ind does no…
julienbesle Dec 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions mrAlign/talairach.m
Original file line number Diff line number Diff line change
Expand Up @@ -239,12 +239,12 @@ function talairachControlsHandler(params)
function viewVol = vol2viewVol(vol,view2vol);
% warp the volume
if ~isequal(view2vol,eye(4))
disppercent(-inf,'Warping volume');
mlrDispPercent(-inf,'Warping volume');
swapXY = [0 1 0 0;1 0 0 0;0 0 1 0;0 0 0 1];
% warpAffine3 uses yx, not xy
viewVol = warpAffine3(vol,swapXY*view2vol*swapXY,nan,[],'linear');
%viewVol = warpAffine3(vol,swapXY*view2vol*swapXY,nan,[],'nearest');
disppercent(inf);
mlrDispPercent(inf);
else
viewVol = vol;
end
Expand Down Expand Up @@ -371,14 +371,14 @@ function endHandler(ok)
end
end
% read it
disppercent(-inf,sprintf('Loading %s',talinfo.filename));
mlrDispPercent(-inf,sprintf('Loading %s',talinfo.filename));
if ~isempty(subset)
[vol hdr] = mlrImageReadNifti(talinfo.filename,subset);
else
[vol hdr] = mlrImageReadNifti(talinfo.filename);
end
if doMean,vol = mean(vol,4);end
disppercent(inf);
mlrDispPercent(inf);
else
disp(sprintf('(talairach) Could not open file %s',talinfo.filename));
return
Expand Down
10 changes: 5 additions & 5 deletions mrLoadRet/Analysis/ConcatTSeries/concatTSeries.m
Original file line number Diff line number Diff line change
Expand Up @@ -342,16 +342,16 @@
% for means that are zero, divide by nan
d.mean(d.mean==0) = nan;

disppercent(-inf, '(concatTSeries) Converting to percent signal change');
mlrDispPercent(-inf, '(concatTSeries) Converting to percent signal change');
for i = 1:d.dim(4)
d.data(:,:,:,i) = (d.data(:,:,:,i)./d.mean);
if params.percentSignal == 2 % scale it to mean of 1,000
params.scaleFactor = 10000;
d.data(:,:,:,i) = d.data(:,:,:,i) * params.scaleFactor;
end
disppercent(i/d.dim(4));
mlrDispPercent(i/d.dim(4));
end
disppercent(inf);
mlrDispPercent(inf);
end
warning on

Expand Down Expand Up @@ -516,9 +516,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%
function d = detrendTSeries(d)

disppercent(-inf,sprintf('(concatTSeries:detrendTSeries) Detrending data'));
mlrDispPercent(-inf,sprintf('(concatTSeries:detrendTSeries) Detrending data'));
d.data = reshape(eventRelatedDetrend(reshape(d.data,prod(d.dim(1:3)),d.dim(4))')',d.dim(1),d.dim(2),d.dim(3),d.dim(4));
disppercent(inf);
mlrDispPercent(inf);



Expand Down
14 changes: 7 additions & 7 deletions mrLoadRet/Analysis/EventRelated/eventRelatedHighpass.m
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
end

% notch out highest frequency that we get with sense processing
if d.notchFilterForTSense
if ~fieldIsNotDefined(d,'notchFilterForTSense') && d.notchFilterForTSense
if iseven(n)
if d.notchFilterForTSense == 2
hipassfilter((n/2)+1) = 0;
Expand Down Expand Up @@ -119,13 +119,13 @@
hipassfilter = d.hipassfilter;
if isfield(d,'hipasscutoff')
% go through the data, detrend and apply filter in fourier domain
disppercent(-inf,sprintf('(eventRelatedHighpass) Applying temporal hipass filter (cutoff=%0.03f Hz)',d.hipasscutoff));
mlrDispPercent(-inf,sprintf('(eventRelatedHighpass) Applying temporal hipass filter (cutoff=%0.03f Hz)',d.hipasscutoff));
else
disppercent(-inf,sprintf('(eventRelatedHighpass) Applying temporal hipass filter'))
mlrDispPercent(-inf,sprintf('(eventRelatedHighpass) Applying temporal hipass filter'))
end
if (0)
for i = 1:d.dim(1)
disppercent(i/d.dim(1));
mlrDispPercent(i/d.dim(1));
for j = 1:d.dim(2)
for k = 1:d.dim(3)
timecourse = squeeze(d.data(i,j,k,:));
Expand All @@ -143,7 +143,7 @@
end
% detrend and high pass filter
for k = 1:d.dim(3)
disppercent(k/d.dim(3));
mlrDispPercent(k/d.dim(3));
for j = 1:d.dim(2)
timecourses = squeeze(d.data(:,j,k,:));
timecourses = eventRelatedDetrend(timecourses')';
Expand All @@ -153,14 +153,14 @@
end
elseif (isfield(d,'roidata'))
for i = 1:size(d.roidata,1)
disppercent(i/size(d.roidata,1))
mlrDispPercent(i/size(d.roidata,1))
timecourse = squeeze(d.roidata(i,:));
timecourse = eventRelatedDetrend(timecourse);
timecourse = ifft(fft(timecourse) .* hipassfilter');
d.roidata(i,:) = real(timecourse);
end
end
disppercent(inf);
mlrDispPercent(inf);
end


Expand Down
18 changes: 9 additions & 9 deletions mrLoadRet/Analysis/EventRelated/eventRelatedMultiple.m
Original file line number Diff line number Diff line change
Expand Up @@ -225,13 +225,13 @@
d.unexplainedVariance = zeros(d.dim(1),d.dim(2),d.dim(3));
d.totalVariance = zeros(d.dim(1),d.dim(2),d.dim(3));
% display string
disppercent(-inf,'Calculating goodness of fit');
mlrDispPercent(-inf,'Calculating goodness of fit');
% cycle through images calculating the estimated hdr and r^s of the
% estimate.
%
onesmatrix = ones(length(d.volumes),1);
for j = yvals
disppercent(max((j-min(yvals))/yvaln,0.1));
mlrDispPercent(max((j-min(yvals))/yvaln,0.1));
for k = slices
ehdr = squeeze(d.ehdr(:,j,k,:))';
% get the time series we are working on
Expand All @@ -244,7 +244,7 @@
tv{j,k} = sum(timeseries.^2);
end
end
disppercent(inf);
mlrDispPercent(inf);
% reshape matrix.
for j = yvals
for k = slices
Expand Down Expand Up @@ -289,12 +289,12 @@
d.meanintensity = zeros(d.dim(1),d.dim(2),d.dim(3));

% display string
disppercent(-inf,'Calculating hdr');
mlrDispPercent(-inf,'Calculating hdr');
% cycle through images calculating the estimated hdr and r^s of the
% estimate.
onesmatrix = ones(length(d.volumes),1);
for j = yvals
disppercent(max((j-min(yvals))/yvaln,0.1));
mlrDispPercent(max((j-min(yvals))/yvaln,0.1));
for k = slices
% get the time series we are working on
% this includes all the rows of one column from one slice
Expand All @@ -310,15 +310,15 @@
d.meanintensity(:,j,k)=colmeans(:);
end
end
disppercent(inf);
mlrDispPercent(inf);
% reshape matrix. this also seems the fastest way to do things. we
% could have made a matrix in the above code and then reshaped here
% but the reallocs needed to continually add space to the matrix
% seems to be slower than the loops needed here to reconstruct
% the matrix from the {} arrays.
disppercent(-inf,'Reshaping matrices');
mlrDispPercent(-inf,'Reshaping matrices');
for i = xvals
disppercent((i-min(xvals))/xvaln);
mlrDispPercent((i-min(xvals))/xvaln);
for j = yvals
for k = slices
% now reshape into a matrix
Expand All @@ -328,5 +328,5 @@
end

% display time took
disppercent(inf);
mlrDispPercent(inf);

10 changes: 5 additions & 5 deletions mrLoadRet/Analysis/EventRelated/eventRelatedPlot.m
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ function eventRelatedPlot(view,overlayNum,scan,x,y,s,roi)
% first go for the quick and dirty way, which is
% to load up the computed hemodynamic responses
% and average them.
disppercent(-inf,'(eventRelatedPlot) Computing mean hdr');
mlrDispPercent(-inf,'(eventRelatedPlot) Computing mean hdr');
for voxnum = 1:size(roi{roinum}.scanCoords,2)
x = roi{roinum}.scanCoords(1,voxnum);
y = roi{roinum}.scanCoords(2,voxnum);
Expand All @@ -171,7 +171,7 @@ function eventRelatedPlot(view,overlayNum,scan,x,y,s,roi)
end
end
end
disppercent(voxnum/size(roi{roinum}.scanCoords,2));
mlrDispPercent(voxnum/size(roi{roinum}.scanCoords,2));
end
% plot the average of the ehdrs that beat the r2 cutoff
if roin
Expand All @@ -196,7 +196,7 @@ function eventRelatedPlot(view,overlayNum,scan,x,y,s,roi)
% put up button whose call back will be to compute the error bars
figpos = get(fignum,'position');
gEventRelatedPlot.computeErrorBarsHandle = uicontrol('Parent',fignum,'Style','pushbutton','Callback',@eventRelatedPlotComputeErrorBars,'String','Compute error bars','Position',[figpos(3)/2+figpos(3)/20 figpos(4)/24 figpos(3)/2-figpos(3)/8 figpos(4)/14]);
disppercent(inf);
mlrDispPercent(inf);
end

drawnow;
Expand Down Expand Up @@ -305,7 +305,7 @@ function eventRelatedSaveToWorkspace(varargin)
return
end

disppercent(-inf,'(eventRelatedPlot) Plotting time series');
mlrDispPercent(-inf,'(eventRelatedPlot) Plotting time series');
gEventRelatedPlot.loadingTimecourse = 1;
subplot(2,2,1:2)
tSeries = squeeze(loadTSeries(gEventRelatedPlot.v,gEventRelatedPlot.scan,gEventRelatedPlot.vox(3),[],gEventRelatedPlot.vox(1),gEventRelatedPlot.vox(2)));
Expand Down Expand Up @@ -346,7 +346,7 @@ function eventRelatedSaveToWorkspace(varargin)
gEventRelatedPlot.tSeries = tSeries;

% done
disppercent(inf);
mlrDispPercent(inf);
gEventRelatedPlot.loadingTimecourse = 0;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Expand Down
12 changes: 6 additions & 6 deletions mrLoadRet/Analysis/EventRelated/getGlmContrast.m
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
warning('off','MATLAB:divideByZero');

% display string
disppercent(-inf,'(getGlmContrast) Calculating r2');
mlrDispPercent(-inf,'(getGlmContrast) Calculating r2');
% cycle through images calculating the estimated hdr and r^2s of the
% estimate.
%
Expand All @@ -85,7 +85,7 @@
% was by far the faster by a factor of about 2-3.
onesmatrix = ones(length(d.volumes),1);
for j = yvals
disppercent(max((j-min(yvals))/yvaln,0.1));
mlrDispPercent(max((j-min(yvals))/yvaln,0.1));
for k = slices
% get the time series we are working on
% this includes all the rows of one column from one slice
Expand Down Expand Up @@ -121,16 +121,16 @@
r2{j,k} = (1-sumOfSquaresResidual./sum(timeseries.^2));
end
end
disppercent(inf);
mlrDispPercent(inf);

% reshape matrix. this also seems the fastest way to do things. we
% could have made a matrix in the above code and then reshaped here
% but the reallocs needed to continually add space to the matrix
% seems to be slower than the loops needed here to reconstruct
% the matrix from the {} arrays.
disppercent(-inf,'(getGlmContrast) Reshaping matrices');
mlrDispPercent(-inf,'(getGlmContrast) Reshaping matrices');
for i = xvals
disppercent((i-min(xvals))/xvaln);
mlrDispPercent((i-min(xvals))/xvaln);
for j = yvals
for k = slices
% get the ehdr
Expand All @@ -144,6 +144,6 @@
end

% display time took
disppercent(inf);
mlrDispPercent(inf);

warning('on','MATLAB:divideByZero');
12 changes: 6 additions & 6 deletions mrLoadRet/Analysis/EventRelated/getr2.m
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
warning('off','MATLAB:divideByZero');

% display string
if verbose,disppercent(-inf,'(getr2) Calculating r2');end
if verbose,mlrDispPercent(-inf,'(getr2) Calculating r2');end
% cycle through images calculating the estimated hdr and r^2s of the
% estimate.
%
Expand Down Expand Up @@ -101,16 +101,16 @@
% calculate variance accounted for by the estimated hdr
r2{j,k} = (1-sumOfSquaresResidual./sum(timeseries.^2));
end
if verbose,disppercent(max((j-min(yvals))/yvaln,0.1));end
if verbose,mlrDispPercent(max((j-min(yvals))/yvaln,0.1));end
end
if verbose,disppercent(inf);end
if verbose,mlrDispPercent(inf);end

% reshape matrix. this also seems the fastest way to do things. we
% could have made a matrix in the above code and then reshaped here
% but the reallocs needed to continually add space to the matrix
% seems to be slower than the loops needed here to reconstruct
% the matrix from the {} arrays.
if verbose,disppercent(-inf,'(getr2) Reshaping matrices');end
if verbose,mlrDispPercent(-inf,'(getr2) Reshaping matrices');end
for i = xvals
for j = yvals
for k = slices
Expand All @@ -122,10 +122,10 @@
d.r2(i,j,k) = r2{j,k}(i);
end
end
if verbose,disppercent((i-min(xvals))/xvaln);end
if verbose,mlrDispPercent((i-min(xvals))/xvaln);end
end

% display time took
if verbose,disppercent(inf);end
if verbose,mlrDispPercent(inf);end

warning('on','MATLAB:divideByZero');
6 changes: 3 additions & 3 deletions mrLoadRet/Analysis/makeCorrelationMap.m
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,17 @@
% keep name of roi
roiName = roi{1}.name;
% for this case, we get all the ehdrs for the roi
disppercent(-inf,sprintf('(makeCorrelationMap) Using roi %s as source',roiName));
mlrDispPercent(-inf,sprintf('(makeCorrelationMap) Using roi %s as source',roiName));
roi{1}.scanCoords = getROICoordinates(v,roi{1});
roiN = size(roi{1}.scanCoords,2);
for i = 1:roiN
xi = roi{1}.scanCoords(1,i);
yi = roi{1}.scanCoords(2,i);
si = roi{1}.scanCoords(3,i);
sourceHDR(i,:) = reshape(squeeze(d.ehdr(xi,yi,si,:,:)),1,d.nhdr*d.hdrlen);
disppercent(i/roiN);
mlrDispPercent(i/roiN);
end
disppercent(inf);
mlrDispPercent(inf);
end

% now reshape the ehdr matrix as a matrix where the first dimension
Expand Down
Loading