Multimodal age-dependent diffusion-MRI analysis of the neocortex in a rat model of cortical dysplasia.
The 5 matches
- [1] § Methods › Diffusion-MRI analysis ↔ displasia_tckfixelsample_CSD.m, lines 83–190 · score 0.68 · absolute dot product, perpendicular tensor, segment, CSD, slice
- [2] § Methods › Diffusion-MRI analysis ↔ displasia_tckfixelsample.m, lines 94–201 · score 0.66 · absolute dot product, perpendicular tensor, segment, slice
- [3] § Methods › Diffusion-MRI analysis ↔ displasia_anat_preproc_and_register.sh, lines 40–127 · score 0.57 · pre processed, bias field, FSL
- [4] § Methods › Ex vivo assessment › Image processing and structure tensor analysis ↔ assessment/orientationj_python_port/distribution.ipynb, lines 1–53 · score 0.50 · dominant orientation, structure tensor, Gaussian, plugin, background, coherency
- [5] § Methods › Statistical analysis ↔ Data_visualization.R, lines 167–216 · score 0.50 · post hoc, predictor, LMM, fit, age, vertex
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
MATLAB · 324 lines · 12 KB · no license · 1 match
- function VALUES = displasia_tckfixelsample(f_tck, f_PDD, f_nComp, ff_values_in, f_prefix)
- % VALUES = displasia_tckfixelsample(f_tck, f_PDD, f_nComp, ff_values_in, f_prefix)
- %
- % f_tck : Filename for the streamlines tck
- % f_PDD : Filename for the Principal Diffusion Directions file (MRDS, 4D).
- % f_nComp : Filename for the number of components (MRDS, 3D).
- % ff_values_in : Cell array of filenames of MRDS metrics to sample.
- % Each file should be MRDS, 4D.
- % f_prefix : Prefix for the output file names.
- %
- % Consider:
- % addpath('/home/lconcha/software/mrtrix_matlab/matlab');
- % addpath(genpath('/home/lconcha/software/dicm2nii-master'))
- % addpath /home/lconcha/software/Displasias/
- %
- % __________________________________________________________________________________
- % EXAMPLE:
- % f_tck = 'dwi/15/tck/dwi_l_out_resampled_native.tck';
- % f_PDD = 'dwi/dwi_MRDS_Diff_BIC_PDDs_CARTESIAN.nii.gz';
- % f_MRDS_ncomp = 'dwi/dwi_MRDS_Diff_BIC_NUM_COMP.nii.gz';
- % f_MRDS_FA = 'dwi/dwi_MRDS_Diff_BIC_FA.nii.gz';
- % f_MRDS_MD = 'dwi/dwi_MRDS_Diff_BIC_MD.nii.gz';
- % ff_values = {f_MRDS_FA, f_MRDS_MD};
- % f_prefix = '/tmp/prefix';
- %
- % VALUES = displasia_tckfixelsample(f_tck, f_PDD, f_MRDS_ncomp, ff_values, f_prefix);
- % __________________________________________________________________________________
- %
- % LU15 (0N(H4
- % INB-UNAM
- % Feb 2023
- % [email hidden]
- %% Load tck
- % tck_world = read_mrtrix_tracks(f_tck);
- % tmptck = [tempname '.tck'];
- % fprintf(1, '[INFO] Converting tck to voxel coordinates.\n')
- % systemcommand = ['export LD_LIBRARY_PATH="";tckconvert -scanner2voxel ' f_nComp ' ' f_tck ' ' tmptck ' -force -quiet'];
- % fprintf(1,' executing: %s\n',systemcommand);
- % fprintf('Loading %s\n',f_tck);
- % [status,result] = system(systemcommand);
- % tck = read_mrtrix_tracks(tmptck);
- % [status,result] = system(['rm -f ' tmptck]);
- [tck,tck_world] = displasia_load_tck_voxelcoords(f_tck,f_nComp);
- %% Load voxel data for PDD and nComp
- fprintf('Loading %s\n',f_PDD);
- [info,PDD] = displasia_load_nii(f_PDD);
- if ndims(PDD) ~= 4
- fprintf(1,'ERROR. %s does not have 4 dimensions. It should be a 4D volume with nvolumes = 3, 6, 9 or 12. Bye.\n',f_PDD);
- VALUES = [];
- return
- end
- fprintf('Loading %s\n',f_nComp);
- [info,nComp] = displasia_load_nii(f_nComp);
- if ndims(nComp) ~= 3
- fprintf(1,'ERROR. %s should have three dimensions Bye.\n',f_nComp);
- VALUES = [];
- return
- end
- %% Prepare tsfs
- %nFixels = size(PDD,4) ./ 3;
- nFixels = 3; % forcing 3 pixels
- tsf_par = tck_world;
- tsf_perp = tck_world;
- tsf_index_par = tck_world;
- tsf_ncomp = tck_world;
- tsf_dot_parallel2streamline = tck_world;
- tsf_dot_perp2slicenormal = tck_world;
- %% Identify parallel/perpendicular
- fprintf(1,'Identifying par/perp... ')
- for s = 1 : length(tck.data)
- if mod(s,10) == 0
- fprintf (1,'%d ',length(tck.data)-s);
- end
- this_streamline = tck.data{s};
- this_index_par = zeros(size(this_streamline,1),1);
- this_index_perp = zeros(size(this_streamline,1),1);
- this_nComp = zeros(size(this_streamline,1),1);
- this_dot_parallel2streamline = zeros(size(this_streamline,1),1);
- this_dot_perp2slicenormal = zeros(size(this_streamline,1),1);
- Rxyz1 = this_streamline(1,:);
- origin = [0 0 0];
- Rxyz3 = this_streamline(end,:);
- PLANE = createPlane(normalizeVector3d(Rxyz1), origin ,normalizeVector3d(Rxyz3)); % create a plane centered at origin
- NORMAL = planeNormal(PLANE);
- for p = 1 : size(this_streamline,1);
- Axyz = this_streamline(p,:);
- if p == size(this_streamline,1)
- Bxyz = this_streamline(p-1,:);
- else
- Bxyz = this_streamline(p+1,:);
- end
- normSegment = (Axyz-Bxyz) ./ norm(Axyz-Bxyz);
- mindices = Axyz +1; % matlab offset
- PDD1(1) = interp3(PDD(:,:,:,1),mindices(2), mindices(1), mindices(3)); % I cannot get interpn to work, so I do this stupid thing.
- PDD1(2) = interp3(PDD(:,:,:,2),mindices(2), mindices(1), mindices(3));
- PDD1(3) = interp3(PDD(:,:,:,3),mindices(2), mindices(1), mindices(3));
- PDD2(1) = interp3(PDD(:,:,:,4),mindices(2), mindices(1), mindices(3));
- PDD2(2) = interp3(PDD(:,:,:,5),mindices(2), mindices(1), mindices(3));
- PDD2(3) = interp3(PDD(:,:,:,6),mindices(2), mindices(1), mindices(3));
- PDD3(1) = interp3(PDD(:,:,:,7),mindices(2), mindices(1), mindices(3));
- PDD3(2) = interp3(PDD(:,:,:,8),mindices(2), mindices(1), mindices(3));
- PDD3(3) = interp3(PDD(:,:,:,9),mindices(2), mindices(1), mindices(3));
- normPDD1= PDD1./norm(PDD1);
- normPDD2= PDD2./norm(PDD2);
- normPDD3= PDD3./norm(PDD3);
- normPDDs = [normPDD1;normPDD2;normPDD3];
- dots(1) = dot(normSegment,normPDD1);
- dots(2) = dot(normSegment,normPDD2);
- dots(3) = dot(normSegment,normPDD3);
- thisnComp = interp3(nComp,mindices(2), mindices(1), mindices(3), 'nearest');
- if s==50 & p==4
- fprintf('Checking time... ncomp for streamline %d, point %d, is %d\n',s,p,thisnComp);
- end
- if thisnComp < 3
- dots(thisnComp+1:end) = NaN; % Remove PDDs if nCom does not support them.
- end
- if thisnComp > 1
- [themax,indexpar] = max(abs(dots));
- [themin,indexperp] = min(abs(dots));
- else
- [themax,indexpar] = max(abs(dots));
- themin = NaN;
- indexperp = 3;
- end
- this_index_par(p,1) = indexpar;
- this_index_perp(p,1) = indexperp;
- this_nComp(p,1) = thisnComp;
- % calculate the absolute dot products between:
- % Streamline to parallel tensor
- this_dot_parallel2streamline(p,1) = abs(dots(indexpar));
- % Slice normal to perpendicular tensor
- if thisnComp > 1
- this_dot_perp2slicenormal(p,1) = abs(dot(normPDDs(indexperp,:),NORMAL));
- else
- this_dot_perp2slicenormal(p,1) = -999; % cannot calculate this value if we only found one tensor. -999 is a placeholder for trash.
- end
- end
- try
- tsf_index_par.data{s} = this_index_par;
- tsf_index_perp.data{s} = this_index_perp;
- tsf_ncomp.data{s} = this_nComp;
- tsf_dot_parallel2streamline.data{s} = this_dot_parallel2streamline;
- tsf_dot_perp2slicenormal.data{s} = this_dot_perp2slicenormal;
- VALUES.dot_parallel2streamline(s,:) = this_dot_parallel2streamline;
- VALUES.dot_perp2slicenormal(s,:) = this_dot_perp2slicenormal;
- VALUES.ncomp{s} = this_nComp;
- catch
- fprintf(1,'Hey!')
- end
- end
- fprintf (1,'\nFinished identifying par/perp\n',s);
- %% Do the sampling
- for i = 1 : length(ff_values_in)
- f_values_in = ff_values_in{i};
- fprintf('Loading %s ... ',f_values_in);
- %V = niftiread(f_values_in);
- [info,V] = displasia_load_nii(f_values_in);
- fprintf(1,'\n');
- info = niftiinfo(f_values_in);
- [fold,fname,ext] = fileparts(info.Filename);
- varName = strrep(fname,'.nii','');
- if ndims(V) ~= 4
- fprintf(1,'ERROR. %s does not have 4 dimensions. This script can only handle 4D. Bye.\n',f_values_in);
- VALUES = [];
- return
- end
- fprintf(1,'[INFO] Sampling %s \n', f_values_in)
- for s = 1 : length(tck.data)
- if mod(s,10) == 0
- fprintf (1,'%d ',length(tck.data)-s);
- end
- this_streamline = tck.data{s};
- this_data_par = zeros(size(this_streamline,1),1);
- this_data_perp = zeros(size(this_streamline,1),1);
- for p = 1 : size(this_streamline,1);
- xyz = this_streamline(p,:);
- % vox_indices = [xyz 1] * inv(info.Transform.T);
- % vox_indices = vox_indices(1:3);
- % mindices = vox_indices + 1;
- % matlab_indices = uint8(vox_indices + 1);
- mindices = xyz +1;
- %thisnComp = interp3(nComp,mindices(2), mindices(1), mindices(3), 'nearest');
- thisnComp = tsf_ncomp.data{s}(p);
- indexpar = tsf_index_par.data{s}(p);
- indexperp = tsf_index_perp.data{s}(p);
- vals(1) = interp3(V(:,:,:,1),mindices(2), mindices(1), mindices(3));
- vals(2) = interp3(V(:,:,:,2),mindices(2), mindices(1), mindices(3));
- vals(3) = interp3(V(:,:,:,3),mindices(2), mindices(1), mindices(3));
- if thisnComp < 3
- vals(thisnComp+1:end) = -1; % remove values if nComp does not support them.
- end
- if max(vals) < 0 && thisnComp > 0
- fprintf(1,'WTF? All values are invalid!')
- fprintf(1,'Streamline %d, point %d\n',s,p);
- disp(vals)
- end
- val_par = vals(indexpar);
- val_perp = vals(indexperp);
- this_data_par(p,1) = val_par;
- this_data_perp(p,1) = val_perp;
- if s==3 & p==1
- fprintf(1,'checking time\n');
- fprintf(1,' Streamline %d, point %d. Parallel value is %1.3g, Perp value is %1.3g\n',s,p,val_par,val_perp);
- end
- end
- tsf_par.data{s} = this_data_par;
- tsf_perp.data{s} = this_data_perp;
- end
- fprintf (1,'\nFinished sampling %s\n',fname);
- %%%%% write per-value tsf files
- f_tsf_par_out = [f_prefix '_' varName '_par.tsf'];
- f_tsf_perp_out = [f_prefix '_' varName '_perp.tsf'];
- fprintf(1,' [INFO] Writing tsf_par: %s\n',f_tsf_par_out);
- write_mrtrix_tsf(tsf_par,f_tsf_par_out);
- fprintf(1,' [INFO] Writing tsf_perp: %s\n',f_tsf_perp_out);
- write_mrtrix_tsf(tsf_perp,f_tsf_perp_out);
- if regexp(varName,'^[0-9]')
- varName = ['x_' varName];
- end
- VALUES.par.(varName) = tsf_par.data;
- VALUES.perp.(varName) = tsf_perp.data;
- end
- %%%%% writer overall tsf files
- fprintf(1,'[INFO] Writing tsf files\n');
- f_tsf_dot_parallel2streamline = [f_prefix '_dot_parallel2streamline.tsf'];
- f_tsf_dot_perp2slicenormal = [f_prefix '_dot_perp2slicenormal.tsf'];
- f_tsf_ncomp = [f_prefix '_ncomp.tsf'];
- fprintf(1,' [INFO] Writing tsf_dot_parallel2streamline: %s\n',f_tsf_dot_parallel2streamline);
- write_mrtrix_tsf(tsf_dot_parallel2streamline,f_tsf_dot_parallel2streamline);
- fprintf(1,' [INFO] Writing tsf_dot_perp2slicenormal: %s\n',f_tsf_dot_perp2slicenormal);
- write_mrtrix_tsf(tsf_dot_perp2slicenormal,f_tsf_dot_perp2slicenormal);
- fprintf(1,' [INFO] Writing tsf_ncomp: %s\n',f_tsf_ncomp);
- write_mrtrix_tsf(tsf_ncomp,f_tsf_ncomp);
- f_tsf_par_index_out = [f_prefix '_par_index.tsf'];
- fprintf(1,' [INFO] Writing tsf_index_par: %s\n',f_tsf_par_index_out);
- write_mrtrix_tsf(tsf_index_par,f_tsf_par_index_out)
- fprintf(1,'[INFO] Writing text files\n');
- varNames = fieldnames(VALUES.par);
- for n = 1 : length(varNames)
- thisVarName = varNames{n};
- f_txt = [f_prefix '_' thisVarName '_par.txt'];
- thismat = cell2mat(VALUES.par.(thisVarName));
- fprintf(1,' [INFO] Writing %s\n',f_txt);
- save(f_txt,'thismat','-ascii');
- f_txt = [f_prefix '_' thisVarName '_perp.txt'];
- thismat = cell2mat(VALUES.perp.(thisVarName));
- fprintf(1,' [INFO] Writing %s\n',f_txt);
- save(f_txt,'thismat','-ascii');
- end
- f_txt = [f_prefix '_dot_parallel2streamline.txt'];
- thismat = VALUES.dot_parallel2streamline;
- fprintf(1,' [INFO] Writing %s\n',f_txt);
- save(f_txt,'thismat','-ascii');
- f_txt = [f_prefix '_dot_perp2slicenormal.txt'];
- thismat = VALUES.dot_perp2slicenormal;
- fprintf(1,' [INFO] Writing %s\n',f_txt);
- save(f_txt,'thismat','-ascii');
- f_txt = [f_prefix '_nComp.txt'];
- thismat = cell2mat(VALUES.ncomp);
- fprintf(1,' [INFO] Writing %s\n',f_txt);
- save(f_txt,'thismat','-ascii');
displasia_tckfixelsample_CSD.m at commit 243c6a9, no license · at the source
Overview
- Instituto de Neurobiología, Universidad Nacional Autónoma de México Campus Juriquilla, Querétaro, Querétaro Mexico
- Division of Neuroscience, Faculty of Biology, Medicine and Health, University of Manchester, Manchester, UK
- Centro de Investigación en Matemáticas, A.C., Guanajuato, Mexico
- Bernard and Irene Schwartz Center for Biomedical Imaging, New York University School of Medicine, New York, USA
Abstract
The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.
Repositories
Its files are read in the Code ↔ Paper reader above, with 5 matches between paragraphs and lines of code.
Biomedical-Imaging-Group/OrientationJ
91fb42704f9eca1358fd84531970c61add099d68, 27 September 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
95 files
- assessment/
benchmarking/ , Jupyter, 274 linesbenchmark_orientation.ip ynb - assessment/
gradients/ , Jupyter, 252 linesgradients.ipynb - assessment/
gst_operator/ , Jupyter, 269 linesgst_operator.ipynb - assessment/
gst_operator/ , Python, 81 linesgst_operator.py - assessment/
orientationj_python_port , Jupyter, 151 lines/ analysis.ipynb - assessment/
orientationj_python_port , Jupyter, 220 lines, 1 match/ distribution.ipynb - assessment/
orientationj_python_port , Python, 88 lines/ make_gallery.py - assessment/
orientationj_python_port , Python, 342 lines/ orientationj.py - assessment/
orientationj_python_port , Jupyter, 162 lines/ vector_field.ipynb - assessment/
structure_nematic/ , Jupyter, 75 linescreate_abstract_figure.i pynb - assessment/
structure_nematic/ , Python, 269 linesring_experiment_lib.py - assessment/
structure_nematic/ , Jupyter, 351 linesstructure_nematic_experi ment.ipynb - docs/
javascripts/ , JavaScript, 20 linescompare.js - docs/
javascripts/ , JavaScript, 19 linesmathjax.js - docs/
javascripts/ , JavaScript, 94 linesnav.js - src/
main/ , Java, 45 linesjava/ MonogenicJ.java - src/
main/ , Java, 66 linesjava/ OrientationJ_Analysis.ja va - src/
main/ , Java, 64 linesjava/ OrientationJ_Clustering. java - src/
main/ , Java, 68 linesjava/ OrientationJ_Corner_Harr is.java - src/
main/ , Java, 70 linesjava/ OrientationJ_Distributio n.java - src/
main/ , Java, 134 linesjava/ OrientationJ_Dominant_Di rection.java - src/
main/ , Java, 137 linesjava/ OrientationJ_Horizontal_ Alignment.java - src/
main/ , Java, 68 linesjava/ OrientationJ_Measure.jav a - src/
main/ , Java, 52 linesjava/ OrientationJ_Test_Chirp_ Image_Custom.java - src/
main/ , Java, 43 linesjava/ OrientationJ_Test_Chirp_ Image_Large.java - src/
main/ , Java, 43 linesjava/ OrientationJ_Test_Chirp_ Image_Small.java - src/
main/ , Java, 73 linesjava/ OrientationJ_Test_Stack_ Image_Custom.java - src/
main/ , Java, 65 linesjava/ OrientationJ_Test_Stack_ Image_Large.java - src/
main/ , Java, 61 linesjava/ OrientationJ_Test_Stack_ Image_Small.java - src/
main/ , Java, 66 linesjava/ OrientationJ_Vector_Fiel d.java - src/
main/ , Java, 693 linesjava/ gui_orientation/ AnalysisDialog.java - src/
main/ , Java, 79 linesjava/ gui_orientation/ Chrono.java - src/
main/ , Java, 49 linesjava/ gui_orientation/ ComboFeature.java - src/
main/ , Java, 39 linesjava/ gui_orientation/ Constants.java - src/
main/ , Java, 212 linesjava/ gui_orientation/ Credits.java - src/
main/ , Java, 133 linesjava/ gui_orientation/ Help.java - src/
main/ , Java, 128 linesjava/ gui_orientation/ Measure.java - src/
main/ , Java, 147 linesjava/ gui_orientation/ MeasureCanvas.java - src/
main/ , Java, 276 linesjava/ gui_orientation/ MeasureDialog.java - src/
main/ , Java, 228 linesjava/ gui_orientation/ MeasureTable.java - src/
main/ , Java, 221 linesjava/ gui_orientation/ SettingDisplayDialog.jav a - src/
main/ , Java, 55 linesjava/ gui_orientation/ WalkBarOrientationJ.java - src/
main/ , Java, 128 linesjava/ gui_orientation/ components/ GridPanel.java - src/
main/ , Java, 191 linesjava/ gui_orientation/ components/ GridToolbar.java - src/
main/ , Java, 479 linesjava/ gui_orientation/ components/ Settings.java - src/
main/ , Java, 105 linesjava/ gui_orientation/ components/ SpinnerDouble.java - src/
main/ , Java, 106 linesjava/ gui_orientation/ components/ SpinnerFloat.java - src/
main/ , Java, 104 linesjava/ gui_orientation/ components/ SpinnerInteger.java - src/
main/ , Java, 358 linesjava/ gui_orientation/ components/ WalkBar.java - src/
main/ , Java, 240 linesjava/ monogenicj/ DisplayPyramid.java - src/
main/ , Java, 484 linesjava/ monogenicj/ MonogenicDialog.java - src/
main/ , Java, 363 linesjava/ monogenicj/ MonogenicImage.java - src/
main/ , Java, 124 linesjava/ monogenicj/ StructureTensor.java - src/
main/ , Java, 116 linesjava/ orientation/ Cluster.java - src/
main/ , Java, 36 linesjava/ orientation/ Clusters.java - src/
main/ , Java, 163 linesjava/ orientation/ ColorMapping.java - src/
main/ , Java, 55 linesjava/ orientation/ Corner.java - src/
main/ , Java, 1 linejava/ orientation/ CubicSpline.java - src/
main/ , Java, 277 linesjava/ orientation/ Gradient.java - src/
main/ , Java, 323 linesjava/ orientation/ GroupImage.java - src/
main/ , Java, 73 linesjava/ orientation/ LogAbstract.java - src/
main/ , Java, 66 linesjava/ orientation/ LogMute.java - src/
main/ , Java, 72 linesjava/ orientation/ LogSystem.java - src/
main/ , Java, 137 linesjava/ orientation/ OrientationKMeans.java - src/
main/ , Java, 266 linesjava/ orientation/ OrientationParameters.ja va - src/
main/ , Java, 76 linesjava/ orientation/ OrientationProcess.java - src/
main/ , Java, 388 linesjava/ orientation/ OrientationResults.java - src/
main/ , Java, 39 linesjava/ orientation/ OrientationService.java - src/
main/ , Java, 505 linesjava/ orientation/ StructureTensor.java - src/
main/ , Java, 68 linesjava/ orientation/ TestImage.java - src/
main/ , Java, 217 linesjava/ orientation/ fft/ ComplexSignal.java - src/
main/ , Java, 832 linesjava/ orientation/ fft/ FFT1D.java - src/
main/ , Java, 108 linesjava/ orientation/ fft/ FFT2D.java - src/
main/ , Java, 137 linesjava/ orientation/ filters/ Gaussian.java - src/
main/ , Java, 141 linesjava/ orientation/ filters/ Hessian.java - src/
main/ , Java, 170 linesjava/ orientation/ filters/ LaplacianOfGaussian.java - src/
main/ , Java, 256 linesjava/ orientation/ imageware/ Access.java - src/
main/ , Java, 188 linesjava/ orientation/ imageware/ Buffer.java - src/
main/ , Java, 732 linesjava/ orientation/ imageware/ Builder.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ ByteAccess.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ ByteBuffer.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ BytePointwise.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ ByteProcess.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ ByteSet.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ Convolver.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ Display.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ DoubleAccess.java - src/
main/ , Java, 2,769 linesjava/ orientation/ imageware/ DoubleBuffer.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ DoublePointwise.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ DoubleProcess.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ DoubleSet.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ FMath.java - src/
main/ , Java, 1 linejava/ orientation/ imageware/ FloatAccess.java - repository limit reached (2,000 files or 30 MB): the rest is at the source (31 files)
- LICENSE, License, 674 lines
- README.md, Text, 62 lines
paulinajv/Vertex-wise-LMM-analysis
b84c02b30b302fbec7630d402c4d4d7fc303c36a, 24 March 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
7 files
- Cluster_inference.R, R, 218 lines
- Data_preparation_for_plo
tting.R , R, 105 lines - Data_visualization.R, R, 217 lines, 1 match
- LMM_f2_analysis.R, R, 124 lines
- Permutation_LMM.R, R, 107 lines
- grps_mean_and_plot.R, R, 424 lines
- README.md, Text, 22 lines
lconcha/Displasias
243c6a9d4a00b53166ef945ce656eb2000fd5a42, 11 March 2026Availability: 1 check, the latest on 27 September 2026: the link answers
- 27 September 2026: the link answers
126 files
- Streamlines/
analisisCaracteristicas. , R, 685 linesR - Streamlines/
analisisPermutaciones.R , R, 673 lines - Streamlines/
crear_mapas_streamlines_ , Shell, 29 lines20_para_1_caracteristica .sh - Streamlines/
deNiftiObtenerParalelayP , Python, 147 lineserpendicular.py - batch_displasia_txt2tsf.
m , MATLAB, 49 lines - batch_make_tckfigs.sh, Shell, 14 lines
- cbrewer/
cbrewer/ , MATLAB, not shown here._cbrewer.m - cbrewer/
cbrewer/ , MATLAB, not shown here._interpolate_cbrewer.m - cbrewer/
cbrewer/ , MATLAB, not shown here._plot_brewer_cmap.m - cbrewer/
cbrewer/ , MATLAB, 128 linescbrewer.m - cbrewer/
cbrewer/ , MATLAB, 64 lineschange_jet.m - cbrewer/
cbrewer/ , MATLAB, 36 linesinterpolate_cbrewer.m - cbrewer/
cbrewer/ , MATLAB, 50 linesplot_brewer_cmap.m - cluster_perm_2D.m, MATLAB, 111 lines
- crameri.m, MATLAB, 173 lines
- dcohen.m, MATLAB, 8 lines
- dcohen2D.m, MATLAB, 18 lines
- displasia_Oli_compare_ve
ctorDirections.m , MATLAB, 114 lines - displasia_Oli_compare_ve
ctorgrids.m , MATLAB, 134 lines - displasia_Oli_plot_coher
ency_energy_dot.m , MATLAB, 122 lines - displasia_add_RD_to_resu
lts.m , MATLAB, 36 lines - displasia_anat_preproc_a
nd_register.sh , Shell, 127 lines, 1 match - displasia_anat_streamlin
e_lengths.sh , Shell, 20 lines - displasia_aylin_check_st
reamlines.sh , Shell, 59 lines - displasia_batch_DKI.sh, Shell, 32 lines
- displasia_batch_anat_len
gths.sh , Shell, 18 lines - displasia_batch_averagem
aps.m , MATLAB, 167 lines - displasia_batch_cortical
masks.sh , Shell, 23 lines - displasia_batch_fit_nodd
i.sh , Shell, 35 lines - displasia_batch_gardnera
ltman.m , MATLAB, 85 lines - displasia_batch_get_norm
als.m , MATLAB, 77 lines - displasia_batch_movedwif
olders.sh , Shell, 57 lines - displasia_batch_mrds.sh, Shell, 20 lines
- displasia_batch_organize
_all.sh , Shell, 81 lines - displasia_batch_plot_str
eamlines.m , MATLAB, 66 lines - displasia_batch_prevalen
ce_maps.m , MATLAB, 22 lines - displasia_batch_remove_d
wi_outliers.sh , Shell, 29 lines - displasia_batch_streamli
nes.sh , Shell, 61 lines - displasia_boxplot.m, MATLAB, 61 lines
- displasia_calculate_maha
lanobis.m , MATLAB, 77 lines - displasia_cluster_param.
m , MATLAB, 142 lines - displasia_cluster_permut
ations.m , MATLAB, 55 lines - displasia_collect_anat_l
engths.sh , Shell, 39 lines - displasia_do_pointwise_s
tats.m , MATLAB, 80 lines - displasia_fit_noddi.py, Python, 43 lines
- displasia_get_and_show_d
ata.m , MATLAB, 14 lines - displasia_get_data.m, MATLAB, 71 lines
- displasia_gridline_anima
tion.m , MATLAB, 94 lines - displasia_load_nii.m, MATLAB, 22 lines
- displasia_load_tck_voxel
coords.m , MATLAB, 35 lines - displasia_make_exampleSu
bjectMaps.m , MATLAB, 93 lines - displasia_mde_ohbm.m, MATLAB, 55 lines
- displasia_merge_lines.sh
, Shell, 65 lines - displasia_mrds.sh, Shell, 209 lines
- displasia_normalise_DWIs
ignal.sh , Shell, 64 lines - displasia_oli_4plots.m, MATLAB, 47 lines
- displasia_oli_QTI_stats.
m , MATLAB, 74 lines - displasia_oli_batch_crea
teAveragePlots.m , MATLAB, 13 lines - displasia_oli_batch_plot
_vectors_sta.m , MATLAB, 27 lines - displasia_oli_cluster_pe
rm_2D.m , MATLAB, 187 lines - displasia_oli_create_sub
plots.m , MATLAB, 71 lines - displasia_oli_lconcha_an
alyze.m , MATLAB, 116 lines - displasia_oli_load_all_m
etrics.m , MATLAB, 68 lines - displasia_oli_load_txts.
m , MATLAB, 80 lines - displasia_oli_plot_avera
ge_oneMetric.m , MATLAB, 100 lines - displasia_oli_plot_d_p.m
, MATLAB, 70 lines - displasia_oli_plot_just_
boxplot.m , MATLAB, 103 lines - displasia_oli_plot_just_
cohen.m , MATLAB, 98 lines - displasia_oli_plot_strea
mlines.m , MATLAB, 110 lines - displasia_oli_plot_vecto
rs_sta.m , MATLAB, 91 lines - displasia_oli_pruebas.m, MATLAB, 81 lines
- displasia_oli_read_txt.m
, MATLAB, 26 lines - displasia_oli_table2matr
ix.m , MATLAB, 75 lines - displasia_organize_data_
for_sharing.sh , Shell, 49 lines - displasia_permute_axes_t
ck.m , MATLAB, 15 lines - displasia_plot_data.m, MATLAB, 66 lines
- displasia_plot_streamlin
es.m , MATLAB, 89 lines - displasia_plot_tck.m, MATLAB, 19 lines
- displasia_prepare_cortic
almasks.sh , Shell, 89 lines - displasia_prevalence_map
s.m , MATLAB, 66 lines - displasia_run_DKI.sh, Shell, 47 lines
- displasia_run_mrds.sh, Shell, 37 lines
- displasia_save_K_mu_nift
is.sh , Shell, 14 lines - displasia_separate_slice
s_removing_outliers.sh , Shell, 87 lines - displasia_showTensorAngl
es.m , MATLAB, 67 lines - displasia_show_mahal.m, MATLAB, 188 lines
- displasia_show_streamlin
es_with_values.m , MATLAB, 67 lines - displasia_tckfixelsample
.m , MATLAB, 328 lines, 1 match - displasia_tckfixelsample
.sh , Shell, 47 lines - displasia_tckfixelsample
_CSD.m , MATLAB, 324 lines, 1 match - displasia_tckfixelsample
_CSD.sh , Shell, 67 lines - displasia_tcksample.m, MATLAB, 71 lines
- displasia_tempscript.m, MATLAB, 36 lines
- displasia_test_showTenso
rAngles.m , MATLAB, 54 lines - displasia_test_tckfixels
ample_CSD.m , MATLAB, 21 lines - displasia_ttest_2D.m, MATLAB, 170 lines
- displasia_txt2tsf.m, MATLAB, 59 lines
- displasia_viz_streamline
s.sh , Shell, 112 lines - ellipse2D.m, MATLAB, 78 lines
- expand_lines.sh, Shell, 12 lines
- fn_makesnaps.sh, Shell, 47 lines
- get_seeds.py, Python, 141 lines
- make_grid.sh, Shell, 76 lines
- mask_closing.py, Python, 143 lines
- mask_dilation.py, Python, 73 lines
- nii2streams.sh, Shell, 124 lines
- nii2streams_brkraw_analy
sis.sh , Shell, 70 lines - nii2streams_prepareOrien
tation.sh , Shell, 127 lines - nii2streams_toOriginalOr
ientation.sh , Shell, 22 lines - permutation_test_2D.m, MATLAB, 98 lines
- plot_tck.m, MATLAB, 37 lines
- prueba_clus.m, MATLAB, 64 lines
- prueba_clus2.m, MATLAB, 57 lines
- prueba_clus_param.m, MATLAB, 68 lines
- rhomboid2D.m, MATLAB, 28 lines
- run_grid.sh, Shell, 63 lines
- shadedErrorBar.m, MATLAB, 275 lines
- single_figure_cohenDofMa
hal.sh , Shell, 47 lines - slanCM.m, MATLAB, 77 lines
- tck_permute_axes.sh, Shell, 67 lines
- tckskip.sh, Shell, 22 lines
- textprogressbar.m, MATLAB, 60 lines
- tmp_Oli_correlations_she
arbulkmu.m , MATLAB, 39 lines - tttmmmppp.m, MATLAB, 55 lines
- vector2streams.py, Python, 175 lines
- README.md, Text, 37 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 3 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 224 scripts, each with its path and the digest of its content;
- 5 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
Datasets cited
Code and data availability statement
The paper has a code and data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:
- it points to a dataset: OSF 4b5fh
- it points to the authors' code: lconcha/
Displasias , paulinajv/Vertex-wise-LMM-analysis
Read it in the paper: doi.org/10.1038/s41598-026-51531-w.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 5 authors, 4 keywords, 8 MeSH terms, 2 funders, 89 references.
Cite
This paper
Villaseñor, P. J., Luna-Munguía, H., Ramirez-Manzanares, A., Coronado-Leija, R., & Concha, L. (2026). Multimodal age-dependent diffusion-MRI analysis of the neocortex in a rat model of cortical dysplasia. Scientific reports, 16(1), 25650. https://
BibTeX
@article{villasenor2026m
author = {Villaseñor, Paulina J and Luna-Munguía, Hiram and Ramirez-Manzanares, Alonso and Coronado-Leija, Ricardo and Concha, Luis},
title = {{Multimodal age-dependent diffusion-MRI analysis of the neocortex in a rat model of cortical dysplasia}},
journal = {Scientific reports},
year = {2026},
month = jun,
volume = {16},
number = {1},
pages = {25650},
publisher = {Nature Publishing Group},
issn = {2045-2322},
doi = {10.1038/
url = {https://
pmid = {42243246},
pmcid = {PMC13478594}
}
RIS
TY - JOUR
AU - Villaseñor, Paulina J
AU - Luna-Munguía, Hiram
AU - Ramirez-Manzanares, Alonso
AU - Coronado-Leija, Ricardo
AU - Concha, Luis
TI - Multimodal age-dependent diffusion-MRI analysis of the neocortex in a rat model of cortical dysplasia
T2 - Scientific reports
J2 - Sci Rep
PY - 2026
DA - 2026/
VL - 16
IS - 1
SP - 25650
SN - 2045-2322
PB - Nature Publishing Group
DO - 10.1038/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1038/
"type": "article-journal",
"title": "Multimodal age-dependent diffusion-MRI analysis of the neocortex in a rat model of cortical dysplasia",
"container-title": "Scientific reports",
"author": [
{
"family": "Villaseñor",
"given": "Paulina J"
},
{
"family": "Luna-Munguía",
"given": "Hiram"
},
{
"family": "Ramirez-Manzanares",
"given": "Alonso"
},
{
"family": "Coronado-Leija",
"given": "Ricardo"
},
{
"family": "Concha",
"given": "Luis"
}
],
"container-title-short":
"volume": "16",
"issue": "1",
"page": "25650",
"DOI": "10.1038/
"PMID": "42243246",
"PMCID": "PMC13478594",
"ISSN": "2045-2322",
"publisher": "Nature Publishing Group",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
5
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1371/journal.pone.0346132 [code]
- Analysis of cortical dysplasias using b-tensor encoding diffusion MRI in an animal model.Journal: PloS oneIn common: DIPY, MRtrix3, shadedErrorBar, 11 other tools, rat, structural MRI / diffusion, 22 references, 2 authors
- [2] doi:10.1371/journal.pone.0349951
- Disentangling crossing fibers with advanced dMRI methods reveals bundle-specific degeneration across the visual system in asymmetric glaucoma.Journal: PloS oneIn common: structural MRI / diffusion, 10 references, 2 authors
- [3] doi:10.1126/sciadv.aec2348 [code]
- Congenital blindness reduces myelination in human visual cortex.Journal: Science advancesIn common: emmeans, NiBabel, ggplot2, 3 other tools, structural MRI / diffusion, 9 references
- [4] doi:10.1038/s41467-026-73366-9 [code]
- Cortical and white matter myelination proceed in concert during early infancy.Journal: Nature communicationsIn common: DIPY, MRtrix3, scikit-image, 6 other tools, 6 references
- [5] doi:10.1093/nc/niag029 [code]
- A data-driven approach to identifying and evaluating connectivity-based neural correlates of conscious visual perception.Journal: Neuroscience of consciousnessIn common: easystats, emmeans, lmerTest, 12 other tools
- [6] doi:10.1038/s41467-026-73072-6 [code]
- Mapping the spatiotemporal continuum of structural connectivity development across the human connectome in youth.Journal: Nature communicationsIn common: MRtrix3, easystats, lmerTest, 6 other tools, structural MRI / diffusion, 4 references
- [7] doi:10.1038/s41598-026-39162-7 [code]
- White matter microstructure differences in obstructive sleep apnea severity groups assessed by diffusion tensor metrics and biophysical modeling.Journal: Scientific reportsIn common: DIPY, MRtrix3, scikit-image, 4 other tools, structural MRI / diffusion, 5 references
- [8] doi:10.1093/cercor/bhag132 [code]
- Spatiotemporal white-matter development across early childhood.Journal: Cerebral cortex (New York, N.Y. : 1991)In common: DIPY, MRtrix3, lmerTest, 9 other tools, structural MRI / diffusion
- [9] doi:10.1038/s41597-026-07350-9 [code]
- An open multi-center MEG-EEG dataset for studying conscious visual perception.Journal: Scientific dataIn common: easystats, emmeans, lmerTest, 11 other tools, structural MRI / diffusion
- [10] doi:10.1038/s41467-026-71830-0 [code]
- Predicting individual differences of fear and cognitive learning and extinction.Journal: Nature communicationsIn common: MRtrix3, caret, emmeans, 9 other tools, 1 reference
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 3 repositories of the authors' code, each at its verified commit and with its license, 224 scripts, and 5 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:81721475149684f6…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
