Anatomy-corrected metabolic asymmetry predicts seizure freedom after surgery in focal cortical dysplasia.
The 4 matches
- [1] § Materials and methods › Image processing and quality control ↔ cat12_ACAI/LCN12_calc_ACAI_GACAI_preprocessed.m, lines 1–62 · score 0.66 · v12.9, grey matter probability, CAT12, pre, PET images, asymmetries
- [2] § Materials and methods › Image processing and quality control ↔ ACAI_with_prior_seg/LCN12_calc_ACAI_GACAI_preprocessed.m, lines 1–64 · score 0.65 · v12.9, grey matter probability, pre, PET images, CAT12, asymmetries
- [3] § Materials and methods › ACAI calculation ↔ ACAI_with_prior_seg/LCN12_calc_ACAI_GACAI_preprocessed.m, lines 1–64 · score 0.55 · grey matter probability, native space, Neurological, warped, MNI, maps
- [4] § Materials and methods › ACAI calculation ↔ cat12_ACAI/LCN12_calc_ACAI_GACAI_preprocessed.m, lines 1–62 · score 0.55 · grey matter probability, native space, Neurological, warped, MNI, maps
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 · 384 lines · 16 KB · MIT · 2 matches
- function LCN12_calc_ACAI_GACAI_preprocessed(pet_image_native, gm_image_native, deformationfield_forward, deformationfield_inverse, kernel_type, kernel_size, varargin)
- % LCN12_calc_ACAI_GACAI_preprocessed(pet_image_native, gm_image_native, deformationfield_forward, deformationfield_inverse, kernel_type, kernel_size, target_GMactivityimage_native)
- %
- % Calculates Asymmetry Index (ACAI) based on CAT12 deformation fields
- % The images are expected in native space and will be warped to MNI for calculations.
- %
- % Input:
- % pet_image_native:
- % Full path to the PET image in native subject space.
- % gm_image_native:
- % Full path to the grey matter probability map in native subject space
- % (e.g., p1T1.nii from CAT12 before warping). This image will be warped to MNI.
- % deformationfield_forward:
- % Full path to the forward deformation field (native to MNI, e.g., y_T1.nii).
- % deformationfield_inverse:
- % Full path to the inverse deformation field (MNI to native, e.g., iy_T1.nii).
- % kernel_type:
- % Kernel type: 'Gaussian', 'Cubic' or 'Sphere'. Default: 'Gaussian'.
- % kernel_size:
- % Size of the kernel (in voxels).
- % 'Gaussian': FWHM; 'Cubic': cube side; 'Sphere': sphere diameter.
- % Optional: target_GMactivityimage_native:
- % Full path to a PET image of only GM contribution (e.g., from AMAP),
- % in native subject space. If provided, GACAI will also be calculated.
- %
- % The results will be written to file in the same directory as pet_image_native.
- % A subfolder 'MNI_space' will be created for intermediate MNI-space files.
- %
- % Final outputs:
- % ACAI_native_[pet_basename]_[gm_suffix]_[kernelinfo].nii
- % GACAI_native_[pet_basename]_[gm_suffix]_[kernelinfo].nii (if applicable)
- %
- % Important:
- % - Requires SPM12 installation and LCN12 helper functions (LCN12_read_image, LCN12_write_image).
- % - Assumes all input images are correctly oriented.
- %
- % Based on LCN12_calc_ACAI_GACAI.m by Lin Zhou, Kathleen Vunckx, Patrick Dupont.
- % Modified for pre-processed inputs.
- %__________________________________________________________________________
- % =========================================================================
- % CREDIT & DISCLAIMER
- % =========================================================================
- % Original ACAI implementation by Patrick Dupont and the LCN team.
- % Comments or questions can be sent to: [email hidden]
- %
- % Important:
- % - requires the installation of CAT12 v12.9 and SPM12 - http://www.fil.ion.ucl.ac.uk/spm/
- % - the path of SPM and this routine should be included in the Matlab path
- %
- % The package contains software (SPM12) developed under the auspices of The
- % Wellcome Department of Imaging Neuroscience, a department of the
- % Institute of Neurology at University College London. The copyright of
- % this software remains with that of SPM12, see
- % http://www.fil.ion.ucl.ac.uk/spm/.
- %
- % This routine is supplied as is.
- %
- % IMPORTANT REMARKS:
- % - this is research software.
- % - always check the orientation (especially left/right) of all images
- % - we assume that all images are in the same space and are coregistered!
- % =========================================================================
- %--- SETTINGS -------------------------------------------------------------
- threshold_GM = 0.25;
- datatype = 64; % float64, see spm_type.m
- %---------------------------------------------------------------------------
- calculate_GACAI = false;
- target_GMactivityimage_native = '';
- if ~isempty(varargin)
- if numel(varargin) >= 1
- target_GMactivityimage_native = varargin{1};
- if ~isempty(target_GMactivityimage_native) && exist(target_GMactivityimage_native, 'file')
- calculate_GACAI = true;
- fprintf('Calculating ACAI and GACAI \n');
- else
- fprintf('Calculating ACAI (target_GMactivityimage_native was empty or does not exist)\n');
- if ~isempty(target_GMactivityimage_native) && ~exist(target_GMactivityimage_native, 'file')
- fprintf('Warning: Specified target_GMactivityimage_native not found: %s\n', target_GMactivityimage_native);
- end
- target_GMactivityimage_native = ''; % Ensure it's cleared if not valid
- end
- end
- else
- fprintf('Calculating ACAI \n');
- end
- % Define kernel
- %---------------
- if strcmpi(kernel_type,'Cubic')
- namekernel = ['_Cubic' num2str(kernel_size)];
- Kernel = ones(kernel_size,kernel_size,kernel_size);
- elseif strcmpi(kernel_type,'Gaussian')
- sd = kernel_size/2.355;
- namekernel = ['_Gauss' num2str(kernel_size)];
- r = (round(2*kernel_size)-1)/2;
- [x,y,z]=meshgrid(-r:r,-r:r,-r:r);
- h = exp(-(x.*x+y.*y +z.*z)/(2*sd*sd));
- sumh = sum(h(:));
- if sumh ~= 0
- Kernel = h/sumh;
- else
- error('Sum of Gaussian kernel is zero. Check kernel_size.');
- end
- elseif strcmpi(kernel_type,'Sphere')
- namekernel = ['_Sphere' num2str(kernel_size)];
- r = (kernel_size-1)/2;
- [x_k,y_k,z_k] = meshgrid(-r:r,-r:r,-r:r);
- Kernel = double((x_k.^2 + y_k.^2 + z_k.^2) <= r^2);
- if sum(Kernel(:)) == 0 && kernel_size > 0
- warning('Spherical kernel is all zeros. Check kernel_size. Defaulting to single voxel.');
- Kernel = zeros(kernel_size,kernel_size,kernel_size);
- center = ceil(kernel_size/2);
- if center > 0 && center <= kernel_size
- Kernel(center,center,center) = 1;
- elseif kernel_size == 1
- Kernel(1,1,1) = 1;
- end
- elseif kernel_size <= 0
- error('Kernel size for Sphere must be positive.');
- end
- else
- error(['No valid kernel_type. Select: ' '''Cubic''' ', ' '''Gaussian''' ' or ' '''Sphere''']);
- end
- spm_jobman('initcfg');
- spm('defaults', 'PET');
- % Get path and base names for output file naming
- [pth_pet_native, pet_base_name_native, pet_ext_native] = fileparts(pet_image_native);
- [orig_pth_gm, gm_base_name_native, gm_ext_native] = fileparts(gm_image_native); % Use native GM for suffix and warping
- % Create a suffix from the GM image name
- gm_suffix = regexprep(gm_base_name_native, '^p1', ''); % e.g., p1SUBJECT_T1 -> SUBJECT_T1
- if isempty(gm_suffix) % if regexprep removed everything (e.g. name was just 'p1')
- gm_suffix = gm_base_name_native; % use full name as fallback
- end
- kernelinfo = [kernel_type(1) num2str(kernel_size)];
- % STEP A: Warp native images to MNI space
- %+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- clear matlabbatch;
- filelist_to_warp = {pet_image_native; gm_image_native}; % Add gm_image_native to be warped
- if calculate_GACAI
- filelist_to_warp{end+1,1} = target_GMactivityimage_native;
- end
- matlabbatch{1}.spm.spatial.normalise.write.subj.def = cellstr(deformationfield_forward);
- matlabbatch{1}.spm.spatial.normalise.write.subj.resample = filelist_to_warp;
- matlabbatch{1}.spm.spatial.normalise.write.woptions.bb = [-90 -126 -72; 90 90 108];
- matlabbatch{1}.spm.spatial.normalise.write.woptions.vox = [1 1 1];
- matlabbatch{1}.spm.spatial.normalise.write.woptions.interp = 4;
- matlabbatch{1}.spm.spatial.normalise.write.woptions.prefix = 'w_mni_';
- fprintf('Warping images to MNI space...\n');
- spm_jobman('serial', matlabbatch);
- % Define paths to MNI-space warped images
- pet_image_mni = fullfile(pth_pet_native, ['w_mni_' pet_base_name_native pet_ext_native]);
- gm_image_mni = fullfile(orig_pth_gm, ['w_mni_' gm_base_name_native gm_ext_native]); % Path to warped GM
- if calculate_GACAI
- [~, gm_act_base_native, gm_act_ext_native] = fileparts(target_GMactivityimage_native);
- target_GMactivityimage_mni = fullfile(pth_pet_native, ['w_mni_' gm_act_base_native gm_act_ext_native]);
- end
- % STEP B: Calculate ACAI (and GACAI) images in MNI space
- %++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- fprintf('Reading MNI-space PET image: %s\n', pet_image_mni);
- [PET_mni, Vref_mni] = LCN12_read_image(pet_image_mni);
- fprintf('Reading MNI-space GM image: %s\n', gm_image_mni);
- [GM_mni, ~] = LCN12_read_image(gm_image_mni, Vref_mni);
- Mask_GM_mni = (GM_mni > threshold_GM);
- % Replace NaN by 0
- PET_mni(isnan(PET_mni)) = 0;
- GM_mni(isnan(GM_mni)) = 0;
- % Initializations
- VI_mni = zeros(Vref_mni.dim(1:3));
- VI_LRflipped_mni = zeros(Vref_mni.dim(1:3));
- AsymIndex_mni = zeros(Vref_mni.dim(1:3));
- % Calculation of ACAI map
- %-------------------------
- PETGM_mni = PET_mni .* GM_mni;
- fprintf('Starting convolution for ACAI: PET_mni*GM_mni\n');
- cPETGM_mni = convn(PETGM_mni, Kernel, 'same');
- fprintf('Starting convolution for ACAI: GM_mni\n');
- cGM_mni = convn(GM_mni, Kernel, 'same');
- Mask_Temp1_mni = (cGM_mni > 0);
- VI_mni(Mask_Temp1_mni) = cPETGM_mni(Mask_Temp1_mni) ./ cGM_mni(Mask_Temp1_mni);
- VI_mni(isinf(VI_mni) | isnan(VI_mni)) = 0;
- % Flip left/right in MNI space
- [ixg,iyg,izg] = ind2sub(size(cGM_mni), find(Mask_Temp1_mni));
- XYZ_vox = [ixg';iyg';izg'];
- XYZ_mm = Vref_mni.mat(1:3,1:3) * XYZ_vox + repmat(Vref_mni.mat(1:3,4),1,size(XYZ_vox,2));
- XYZ_mm_LRflipped = XYZ_mm;
- XYZ_mm_LRflipped(1,:) = -XYZ_mm(1,:);
- XYZ_vox_LRflipped_float = inv(Vref_mni.mat(1:3,1:3)) * (XYZ_mm_LRflipped - repmat(Vref_mni.mat(1:3,4),1,size(XYZ_vox,2)));
- XYZ_vox_LRflipped = round(XYZ_vox_LRflipped_float);
- nr_voxels_to_flip = size(XYZ_vox_LRflipped,2);
- for i = 1:nr_voxels_to_flip
- orig_vx = XYZ_vox(1,i);
- orig_vy = XYZ_vox(2,i);
- orig_vz = XYZ_vox(3,i);
- flipped_vx = XYZ_vox_LRflipped(1,i);
- flipped_vy = XYZ_vox_LRflipped(2,i);
- flipped_vz = XYZ_vox_LRflipped(3,i);
- if flipped_vx >= 1 && flipped_vx <= Vref_mni.dim(1) && ...
- flipped_vy >= 1 && flipped_vy <= Vref_mni.dim(2) && ...
- flipped_vz >= 1 && flipped_vz <= Vref_mni.dim(3)
- VI_LRflipped_mni(flipped_vx, flipped_vy, flipped_vz) = VI_mni(orig_vx, orig_vy, orig_vz);
- end
- end
- Mask_calc_mni = (VI_mni ~= 0) & (VI_LRflipped_mni ~= 0) & Mask_GM_mni;
- AsymIndex_mni(Mask_calc_mni) = 200 * (VI_mni(Mask_calc_mni) - VI_LRflipped_mni(Mask_calc_mni)) ./ (VI_mni(Mask_calc_mni) + VI_LRflipped_mni(Mask_calc_mni));
- AsymIndex_mni(isinf(AsymIndex_mni) | isnan(AsymIndex_mni)) = 0;
- % Define MNI-space output filename for ACAI
- outputfilename_acai_mni = fullfile(pth_pet_native, ['ACAI_mni_' pet_base_name_native '_' gm_suffix '_' kernelinfo '.nii']);
- fprintf('Writing MNI-space ACAI image: %s\n', outputfilename_acai_mni);
- Vout_acai_mni = LCN12_write_image(AsymIndex_mni, outputfilename_acai_mni, 'MNI Asymmetry Index Image', datatype, Vref_mni);
- if calculate_GACAI
- % Reset initializations for GACAI
- VI_mni_gacai = zeros(Vref_mni.dim(1:3));
- VI_LRflipped_mni_gacai = zeros(Vref_mni.dim(1:3));
- AsymIndex_mni_gacai = zeros(Vref_mni.dim(1:3));
- fprintf('Reading MNI-space PET GM activity image: %s\n', target_GMactivityimage_mni);
- [PETGMact_mni, ~] = LCN12_read_image(target_GMactivityimage_mni, Vref_mni);
- PETGMact_mni(isnan(PETGMact_mni)) = 0;
- % Calculation of GACAI map
- PETGM_for_GACAI = PETGMact_mni .* GM_mni;
- fprintf('Starting convolution for GACAI: PETGMact_mni*GM_mni\n');
- cPETGM_gacai = convn(PETGM_for_GACAI, Kernel, 'same');
- VI_mni_gacai(Mask_Temp1_mni) = cPETGM_gacai(Mask_Temp1_mni) ./ cGM_mni(Mask_Temp1_mni);
- VI_mni_gacai(isinf(VI_mni_gacai) | isnan(VI_mni_gacai)) = 0;
- % Flip left/right
- for i = 1:nr_voxels_to_flip
- orig_vx = XYZ_vox(1,i);
- orig_vy = XYZ_vox(2,i);
- orig_vz = XYZ_vox(3,i);
- flipped_vx = XYZ_vox_LRflipped(1,i);
- flipped_vy = XYZ_vox_LRflipped(2,i);
- flipped_vz = XYZ_vox_LRflipped(3,i);
- if flipped_vx >= 1 && flipped_vx <= Vref_mni.dim(1) && ...
- flipped_vy >= 1 && flipped_vy <= Vref_mni.dim(2) && ...
- flipped_vz >= 1 && flipped_vz <= Vref_mni.dim(3)
- VI_LRflipped_mni_gacai(flipped_vx, flipped_vy, flipped_vz) = VI_mni_gacai(orig_vx, orig_vy, orig_vz);
- end
- end
- Mask_calc_mni_gacai = (VI_mni_gacai ~= 0) & (VI_LRflipped_mni_gacai ~= 0) & Mask_GM_mni;
- AsymIndex_mni_gacai(Mask_calc_mni_gacai) = 200 * (VI_mni_gacai(Mask_calc_mni_gacai) - VI_LRflipped_mni_gacai(Mask_calc_mni_gacai)) ./ (VI_mni_gacai(Mask_calc_mni_gacai) + VI_LRflipped_mni_gacai(Mask_calc_mni_gacai));
- AsymIndex_mni_gacai(isinf(AsymIndex_mni_gacai) | isnan(AsymIndex_mni_gacai)) = 0;
- outputfilename_gacai_mni = fullfile(pth_pet_native, ['GACAI_mni_' pet_base_name_native '_' gm_suffix '_' kernelinfo '.nii']);
- fprintf('Writing MNI-space GACAI image: %s\n', outputfilename_gacai_mni);
- Vout_gacai_mni = LCN12_write_image(AsymIndex_mni_gacai, outputfilename_gacai_mni, 'MNI GM-Only Asymmetry Index Image', datatype, Vref_mni);
- end
- % STEP C: Inverse warp ACAI/GACAI to native space
- %++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- clear matlabbatch;
- filelist_to_inverse_warp = {outputfilename_acai_mni};
- if calculate_GACAI
- filelist_to_inverse_warp{end+1,1} = outputfilename_gacai_mni;
- end
- matlabbatch{1}.spm.spatial.normalise.write.subj.def = cellstr(deformationfield_inverse);
- matlabbatch{1}.spm.spatial.normalise.write.subj.resample = filelist_to_inverse_warp;
- Vpet_native_header = spm_vol(pet_image_native);
- bb_native = spm_get_bbox(Vpet_native_header);
- vox_native = abs(diag(Vpet_native_header.mat(1:3,1:3)))';
- matlabbatch{1}.spm.spatial.normalise.write.woptions.bb = [-Inf -Inf -Inf
- Inf Inf Inf];
- matlabbatch{1}.spm.spatial.normalise.write.woptions.vox = [NaN NaN NaN];
- matlabbatch{1}.spm.spatial.normalise.write.woptions.interp = 1;
- matlabbatch{1}.spm.spatial.normalise.write.woptions.prefix = 'w_native_';
- fprintf('Inverse warping ACAI/GACAI images to native space...\n');
- spm_jobman('serial', matlabbatch);
- % Define paths to temporary native-space (inverse-warped) images
- [~, acai_mni_base, acai_mni_ext] = fileparts(outputfilename_acai_mni);
- temp_native_acai_path = fullfile(pth_pet_native, ['w_native_' acai_mni_base acai_mni_ext]);
- if calculate_GACAI
- [~, gacai_mni_base, gacai_mni_ext] = fileparts(outputfilename_gacai_mni);
- temp_native_gacai_path = fullfile(pth_pet_native, ['w_native_' gacai_mni_base gacai_mni_ext]);
- end
- % STEP D: Clean up directory and rename final files
- %+++++++++++++++++++++++++++++++++++++++++++++++++++
- mni_space_folder = fullfile(pth_pet_native, 'MNI_space');
- if ~exist(mni_space_folder, 'dir')
- mkdir(mni_space_folder);
- end
- % Move MNI-space files created by this script
- fprintf('Moving MNI-space files to: %s\n', mni_space_folder);
- movefile(pet_image_mni, fullfile(mni_space_folder, [pet_base_name_native pet_ext_native]));
- movefile(gm_image_mni, fullfile(mni_space_folder, [gm_base_name_native gm_ext_native])); % Move the warped GM to MNI_space
- movefile(outputfilename_acai_mni, fullfile(mni_space_folder, ['ACAI_mni_' pet_base_name_native '_' gm_suffix '_' kernelinfo '.nii']));
- if calculate_GACAI
- [~, gm_act_base_native_cleanup, gm_act_ext_native_cleanup] = fileparts(target_GMactivityimage_native);
- movefile(target_GMactivityimage_mni, fullfile(mni_space_folder, [gm_act_base_native_cleanup gm_act_ext_native_cleanup]));
- movefile(outputfilename_gacai_mni, fullfile(mni_space_folder, ['GACAI_mni_' pet_base_name_native '_' gm_suffix '_' kernelinfo '.nii']));
- end
- % Rename final native space ACAI/GACAI images
- final_native_acai_name = fullfile(pth_pet_native, ['ACAI_native_' pet_base_name_native '_' gm_suffix '_' kernelinfo '.nii']);
- movefile(temp_native_acai_path, final_native_acai_name);
- fprintf('Final native ACAI image: %s\n', final_native_acai_name);
- if calculate_GACAI
- final_native_gacai_name = fullfile(pth_pet_native, ['GACAI_native_' pet_base_name_native '_' gm_suffix '_' kernelinfo '.nii']);
- movefile(temp_native_gacai_path, final_native_gacai_name);
- fprintf('Final native GACAI image: %s\n', final_native_gacai_name);
- end
- fprintf('Processing complete.\n');
- end
LCN12_calc_ACAI_GACAI_preprocessed.m at commit c4bc4d1, under MIT · at the source
Overview
- Department of Neurosciences, Experimental Neurology, Laboratory for Epilepsy Research, KU Leuven, Leuven Brain Institute, Herestraat 49, 3000 Leuven, Belgium
- Department of Neurology, University Hospitals Leuven, Leuven, Belgium
- Department of Development and Regeneration, Locomotor and Neurological Disorders, KU Louvain, Leuven Brain Institute, Leuven, Belgium
- Department of Neurosciences, Experimental Neurology, Laboratory for Parkinson Research, KU Leuven, Leuven Brain Institute, Leuven, Belgium
- Department of Imaging and Pathology, Nuclear Medicine and Molecular Imaging, KU Louvain, Leuven Brain Institute, Leuven, Belgium
- Department of Nuclear Medicine, University Hospitals Leuven, Leuven, Belgium
- Department of Neurosciences, Research Group Experimental Neurosurgery and Neuroanatomy, KU Leuven, Leuven Brain Institute, Leuven, Belgium
- Department of Neurosurgery, University Hospitals Leuven, Leuven, Belgium
- Department of Imaging and Pathology, Radiology, KU Louvain, Leuven Brain Institute, Leuven, Belgium
- Department of Radiology, University Hospitals Leuven, Leuven, Belgium
- Department of Neurosciences, Experimental Neurology, Laboratory for Cognitive Neurology, KU Leuven, Leuven Brain Institute, Leuven, Belgium
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.
Repository
Its files are read in the Code ↔ Paper reader above, with 4 matches between paragraphs and lines of code.
jeroengijs/ACAI
c4bc4d1fd229d3737b7224a57d9397079c057c9a, 19 December 2025Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
16 files
- ACAI_with_prior_seg/
LCN12_calc_ACAI_GACAI_pr , MATLAB, 386 lines, 2 matcheseprocessed.m - ACAI_with_prior_seg/
LCN12_read_image.m , MATLAB, 57 lines - ACAI_with_prior_seg/
LCN12_write_image.m , MATLAB, 68 lines - ACAI_with_prior_seg/
process_single_patient_w , MATLAB, 111 linesith_prior_seg.m - Python/
Threshold_calc.ipynb , Jupyter, 234 lines - cat12_ACAI/
LCN12_calc_ACAI_GACAI_pr , MATLAB, 384 lines, 2 matcheseprocessed.m - cat12_ACAI/
LCN12_read_image.m , MATLAB, 57 lines - cat12_ACAI/
LCN12_write_image.m , MATLAB, 68 lines - cat12_ACAI/
cat12_ACAI_batch.m , MATLAB, 188 lines - cat12_ACAI/
process_single_patient_c , MATLAB, 138 linesat12.m - spm12_ACAI/
LCN12_calc_ACAI_GACAI.m , MATLAB, 395 lines - spm12_ACAI/
LCN12_read_image.m , MATLAB, 57 lines - spm12_ACAI/
LCN12_write_image.m , MATLAB, 68 lines - spm12_ACAI/
process_single_patient_s , MATLAB, 38 linespm12.m - LICENSE, License, 21 lines
- README.md, Text, 198 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:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 14 scripts, each with its path and the digest of its content;
- 4 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
No dataset and no data link were found in the paper.
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 the authors' code: jeroengijs/
ACAI - it says that the data are available on request
Read it in the paper: doi.org/10.1007/s00259-026-07864-9.
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, 29 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 17 authors, 5 keywords, 14 MeSH terms, 1 funder, 28 references.
Cite
This paper
Gijs, J., Cleeren, E., Macea, J., Vandenberghe, W., Delva, A., Vanderlinden, G., Van Laere, K., Deckers, W., Smeijers, S., Theys, T., Van Loon, J., Scheldeman, L., Jansen, K., Demaerel, P., Dupont, P., Van Paesschen, W., & Goffin, K. (2026). Anatomy-corrected metabolic asymmetry predicts seizure freedom after surgery in focal cortical dysplasia. European journal of nuclear medicine and molecular imaging, 53(8), 5088-5100. https://
BibTeX
@article{gijs2026anatomy
author = {Gijs, Jeroen and Cleeren, Evy and Macea, Jaiver and Vandenberghe, Wim and Delva, Aline and Vanderlinden, Greet and Van Laere, Koen and Deckers, Wies and Smeijers, Steven and Theys, Tom and Van Loon, Johannes and Scheldeman, Lauranne and Jansen, Katrien and Demaerel, Philippe and Dupont, Patrick and Van Paesschen, Wim and Goffin, Karolien},
title = {{Anatomy-corrected metabolic asymmetry predicts seizure freedom after surgery in focal cortical dysplasia}},
journal = {European journal of nuclear medicine and molecular imaging},
year = {2026},
month = apr,
volume = {53},
number = {8},
pages = {5088--5100},
publisher = {Springer Science+Business Media},
issn = {1619-7070},
doi = {10.1007/
url = {https://
pmid = {41961276},
pmcid = {PMC13249913}
}
RIS
TY - JOUR
AU - Gijs, Jeroen
AU - Cleeren, Evy
AU - Macea, Jaiver
AU - Vandenberghe, Wim
AU - Delva, Aline
AU - Vanderlinden, Greet
AU - Van Laere, Koen
AU - Deckers, Wies
AU - Smeijers, Steven
AU - Theys, Tom
AU - Van Loon, Johannes
AU - Scheldeman, Lauranne
AU - Jansen, Katrien
AU - Demaerel, Philippe
AU - Dupont, Patrick
AU - Van Paesschen, Wim
AU - Goffin, Karolien
TI - Anatomy-corrected metabolic asymmetry predicts seizure freedom after surgery in focal cortical dysplasia
T2 - European journal of nuclear medicine and molecular imaging
J2 - Eur J Nucl Med Mol Imaging
PY - 2026
DA - 2026/
VL - 53
IS - 8
SP - 5088
EP - 5100
SN - 1619-7070
PB - Springer Science+Business Media
DO - 10.1007/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1007/
"type": "article-journal",
"title": "Anatomy-corrected metabolic asymmetry predicts seizure freedom after surgery in focal cortical dysplasia",
"container-title": "European journal of nuclear medicine and molecular imaging",
"author": [
{
"family": "Gijs",
"given": "Jeroen"
},
{
"family": "Cleeren",
"given": "Evy"
},
{
"family": "Macea",
"given": "Jaiver"
},
{
"family": "Vandenberghe",
"given": "Wim"
},
{
"family": "Delva",
"given": "Aline"
},
{
"family": "Vanderlinden",
"given": "Greet"
},
{
"family": "Van Laere",
"given": "Koen"
},
{
"family": "Deckers",
"given": "Wies"
},
{
"family": "Smeijers",
"given": "Steven"
},
{
"family": "Theys",
"given": "Tom"
},
{
"family": "Van Loon",
"given": "Johannes"
},
{
"family": "Scheldeman",
"given": "Lauranne"
},
{
"family": "Jansen",
"given": "Katrien"
},
{
"family": "Demaerel",
"given": "Philippe"
},
{
"family": "Dupont",
"given": "Patrick"
},
{
"family": "Van Paesschen",
"given": "Wim"
},
{
"family": "Goffin",
"given": "Karolien"
}
],
"container-title-short":
"volume": "53",
"issue": "8",
"page": "5088-5100",
"DOI": "10.1007/
"PMID": "41961276",
"PMCID": "PMC13249913",
"ISSN": "1619-7070",
"publisher": "Springer Science+Business Media",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
10
]
]
}
}
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.1016/j.isci.2026.117446 [code]
- Volume-inflation registration (INFREG) for morphometric analysis of human focal cortical dysplasia type II.Journal: iScienceIn common: CAT12, NiBabel, pandas, 2 other tools, epilepsy, 2 references
- [2] doi:10.1162/nol.a.271 [code]
- Compositional Complexity in Text and Images.Journal: Neurobiology of language (Cambridge, Mass.)In common: Nilearn, NiBabel, pandas, 2 other tools, author Patrick Dupont
- [3] doi:10.1038/s41586-026-10631-3 [code]
- A prognostic human brain network for diffuse midline glioma.Journal: NatureIn common: CAT12, Nilearn, SPM, 4 other tools, clinical / translational
- [4] doi:10.1002/epi4.70336 [code]
- Quantifying extra-lesional interhemispheric cortical asymmetry in focal cortical dysplasia type II.Journal: Epilepsia openIn common: Nilearn, NiBabel, pandas, 2 other tools, epilepsy, clinical / translational, 2 references
- [5] doi:10.1007/s00234-026-04103-8 [code]
- Enhanced detection of subtle cortical abnormalities in focal epilepsy using 7 T MRI surface-based models and graph neural networks.Journal: NeuroradiologyIn common: Nilearn, NiBabel, pandas, 2 other tools, epilepsy, 2 references
- [6] doi:10.1016/j.bbih.2026.101299 [code]
- Multimodal approach to identify neuropsychophysiological
subgroups in myalgic encephalomyelitis/ chronic fatigue syndrome and their relevance for rehabilitation: protocol for a mechanistic cross-sectional and longitudinal study. Journal: Brain, behavior, & immunity - healthIn common: SPM, pandas, NumPy, clinical / translational, author Patrick Dupont - [7] doi:10.1002/epi.70323 [code]
- Individual-specific resting-state networks predict language dominance in drug-resistant epilepsy.Journal: EpilepsiaIn common: Nilearn, SPM, NiBabel, 2 other tools, epilepsy, 1 reference
- [8] doi:10.1002/hbm.70602 [code]
- Neuroimaging Correlates of Post-Stroke Pain After Ischemic Stroke: Secondary Analysis of the INSPiRE-TMS Trial.Journal: Human brain mappingIn common: CAT12, SPM, NiBabel, 3 other tools, clinical / translational
- [9] doi:10.1111/ene.70678 [code]
- Who Falls After a Stroke? Evidence From a Prospective Stroke Cohort.Journal: European journal of neurologyIn common: CAT12, SPM, NiBabel, 3 other tools, clinical / translational
- [10] doi:10.1002/ana.78206 [code]
- Multimodal Image Guidance in Subthalamic Deep Brain Stimulation for Parkinson's Disease.Journal: Annals of neurologyIn common: CAT12, SPM, NiBabel, 3 other tools, clinical / translational
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: 1 repository of the authors' code, each at its verified commit and with its license, 14 scripts, and 4 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:3bd15d51f8094d5d…
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.
