Problem
My engineering thesis (April 2025) is titled "Algoritmo de Parcelación Cerebral Intersujeto basado en Datos del Proyecto del Conectoma Humano", in English an inter-subject brain parcellation algorithm based on Human Connectome Project data.
The work was funded by the ANID-FONDECYT Regular project 1221665, a method for multiscale parcellation of the cortex based on structural connectivity, and I worked on it as a collaborating researcher from March 2024 to March 2025.
A parcellation splits the cortex into regions. Instead of using anatomical landmarks, this one uses connectivity: the white-matter fibers measured by diffusion MRI tractography. The question is whether regions defined by how the brain is wired can be built consistently across many people.
Method
The data come from the Human Connectome Project (young adult release): 100 subjects, with about 3 million fibers each and cortical meshes of 81,920 triangles per hemisphere. Fibers shorter than 40 mm were dropped because compute was limited, and a moving-average filter smoothed the rest.
- Within-subject clustering of each subject's fibers with FFClust, choosing the number of clusters with the elbow method.
- Between-subject clustering of the resulting cluster centroids with QuickBundles. Only clusters with centroids from at least 88 of the 100 subjects are kept.
- Mesh-fiber intersection: each fiber is projected onto the cortical mesh to find its first and last triangle. Labeling those triangles gives preliminary subparcels that overlap heavily.
- Density centers: in each subparcel, the triangles that fibers cross most often.
- Overlap graph: subparcels whose density centers overlap are merged, then the largest connected component of each is kept.
- Iterative morphological dilation so the final regions cover the cortical surface.
The code is Python and C++, with 3D visualization in VTK and OpenGL. It ran on a Core i7-3820 with a Quadro 6000 under Ubuntu 22.04, a workstation more than ten years old, so the data and memory use had to be cut to fit.
Results
A fiber atlas for the population
Within each subject, FFClust gave about 13.7 thousand clusters after discarding clusters of fewer than 10 fibers. Their centroids, 1,071,868 in total, were moved to a common space and grouped by QuickBundles into 1,059 clusters present in at least 88 of the 100 subjects. Each subject keeps about 398 thousand fibers grouped in about 1,025 of those clusters (664 to 1,053). One of the shared clusters resembles the superior longitudinal fasciculus.
From fibers to regions
Average number of subparcels per subject after each step:
| Step | Left hemisphere | Right hemisphere |
|---|---|---|
| Preliminary subparcels | 1,194 | 1,123 |
| After filtering small ones | 519 | 456 |
| After merging overlaps | 292 | 230 |
| Final parcels | 189 | 139 |
Comparison with published parcellations
I compared the result with four published parcellations, using the Dice coefficient between every pair of regions. Two regions count as similar when Dice is above 0.5. The comparison was computed on the parcellation of one subject.
| Atlas | Atlas regions (left / right) | Similar pairs (left / right) |
|---|---|---|
| Brainnetome | 126 / 125 | 17 / 12 |
| Lefranc | 125 / 112 | 53 / 43 |
| Narciso | 116 / 91 | 39 / 46 |
| Richards | 174 / 128 | 157 / 107 |
Agreement is low with the first three and highest with Richards, whose method is similar to mine and whose data come from a different database. I read this as consistent with that work, not as a validation: there is no ground truth for a parcellation, so the comparison shows similarity, not correctness.
My contribution
The thesis builds on earlier work from the same group, which it credits: an overlap and dilation algorithm from a previous thesis, a C++ mesh-fiber intersection code, scripts from two earlier theses, and the tractograms and cortical meshes prepared by other students.
My part was to improve that overlap and dilation approach and to run the complete pipeline on all 100 subjects. Overlapping subparcels are now grouped using each one's full overlap profile instead of only pairs, and the dilation assigns each new triangle using the raw fiber data, which avoids assignment errors. I also quantified every stage with histograms, so outputs from different parameters can be compared.
Limits
Fibers shorter than 40 mm were dropped because the workstation could not handle all 3 million per subject. Two thresholds, the density-center threshold and the overlap threshold, are set by hand, and without a ground truth there is no principled way to choose them. Probabilistic tractography can also produce false-positive fibers. The thesis proposes a hierarchical multiscale parcellation as the next step.