What’s new#
0.9.2.dev#
NEW#
save_glm_to_bids
has been added, which writes model outputs to disk according to BIDS convention (#2715 by Taylor Salo).permuted_ols
andnon_parametric_inference
now support TFCE statistic (#3196 by Taylor Salo).permuted_ols
andnon_parametric_inference
now support cluster-level Family-wise error correction (#3181 by Taylor Salo).
Fixes#
Fix
_NEUROVAULT_BASE_URL
and_NEUROSYNTH_FETCH_WORDS_URL
innilearn/datasets/neurovault.py
by using https instead of http (#3281 by Manon Pietrantoni).Convert references in
nilearn/mass_univariate/permuted_least_squares.py
to use bibtex format (#3222 by Yasmin Mzayek).Update Craddock 2012 parcellation url in
nilearn/datasets/atlas.py
(#3233 by Vasco Diogo)plot_roi
failed before when used with the “contours” view type and passing a list of cut coordinates in display mode “x”, “y” or “z”; this has been corrected (#3241 by Jerome Dockes).plot_markers
can now plot a single scatter point (#3255 by Caglar Cakan).Fix title display for
plot_surf_stat_map
. Thetitle
argument does not set the figure title anymore but the axis title. (#3220 by Raphael Meudec).load_surf_mesh
loaded FreeSurfer specific surface files (e.g. .pial) with a shift in the coordinates. This is fixed by adding the c_ras coordinates to the mesh coordinates (#3235 by Yasmin Mzayek).Function
nilearn.glm.second_level.second_level._check_second_level_input
now raises an error whenflm_object
argument isFalse
andsecond_level_input
is a list ofFirstLevelModel
(#3283 by Matthieu Joulot).Function
resample_img
now warns the user if the provided image has ansform
code equal to 0 or None (#3284 by Matthieu Joulot).Fix usage of
scipy.stats.gamma.pdf
in_gamma_difference_hrf
function undernilearn/glm/first_level/hemodynamic_models.py
, which resulted in slight distortion of HRF (#3297 by Kun CHEN).Fix bug introduced due to a fix in the pre-release version of scipy (
1.9.0rc1
) which now enforces that elements of a band-pass filter must meet conditionWn[0] < Wn[1]
. Now if band-pass elements are equalbutterworth
returns an unfiltered signal with a warning (#3293 by Yasmin Mzayek).The parameter
alpha
is now correctly passed toplot_glass_brain
inplot_connectome
(#3306 by Koen Helwegen).
Enhancements#
Add sample_masks to
fit
for censoring time points (#3193 by Hao-Ting Wang).Function
run_glm
and classFirstLevelModel
now accept arandom_state
parameter, which allows users to seed theKMeans
cluster model used to estimate AR coefficients. (#3185 by Sami Jawhar).Conform seeding and docstrings in module
_utils.data_gen
(#3262 by Yasmin Mzayek).Docstrings of module
second_level
were improved (#3030 by Nicolas Gensollen).In
get_clusters_table
, when the center of mass of a binary cluster falls outside the cluster, report the nearest within-cluster voxel instead (#3292 by Connor Lane).
Changes#
Function
plot_carpet
argumentcmap
now respects behaviour specified by docs and changes the color of the carpet_plot. Changing the label colors is now delegated to a new variablecmap_labels
(#3209 by Daniel Gomez).Function
fetch_surf_fsaverage
no longer supports the previously deprecated optionfsaverage5_sphere
(#3229 by Taylor Salo).Classes
RegressionResults
,SimpleRegressionResults
,OLSModel
, andLikelihoodModelResults
no longer support deprecated shortened attribute names, includingdf_resid
,wdesign
,wresid
,norm_resid
,resid
, andwY
(#3229 by Taylor Salo).Function
fetch_openneuro_dataset_index
is now deprecated in favor of the newfetch_ds000030_urls
function (#3216 by Taylor Salo).64-bit integers in Nifti files: some tools such as FSL, SPM and AFNI cannot handle Nifti images containing 64-bit integers. To avoid compatibility issues, it is best to avoid writing such images and in the future trying to create them with nibabel without explicitly specifying a data type will result in an error. See details in this issue: https://github.com/nipy/nibabel/issues/1046 and this PR: https://github.com/nipy/nibabel/pull/1082. To avoid this,
new_img_like
now warns when given int64 arrays and converts them to int32 when possible (ie when it would not result in an overflow). Moreover, any atlas fetcher that returned int64 images now produces images containing smaller ints. (#3227 by Jerome Dockes)Refactors fmriprep confound loading such that that the parsing of the relevant image file and the loading of the confounds are done in separate steps (#3274 by David G Ellis).
Private submodules, functions, and classes from the
decomposition
module now start with a “_” character to make it clear that they are not part of the public API (#3141 by Nicolas Gensollen).Convert references in
nilearn/glm/regression.py
andnilearn/glm/thresholding.py
to use footcite/footbibliography (#3302 by Ahmad Chamma).Boolean input data in
new_img_like
now defaults to np.uint8 instead of np.int8 (#3286 by Yasmin Mzayek).
0.9.1#
Released April 2022
This is a bugfix release.
Fixes#
Fix function
permuted_ols
, which was only returning the null distribution (h0_fmax
) for the first regressor (#3184 by Taylor Salo).Fix function
fetch_abide_pcp
which was returning empty phenotypes andfunc_preproc
after release0.9.0
due to supporting pandas dataframes in fetchers (#3174 by Nicolas Gensollen).Fix function
fetch_atlas_harvard_oxford
andfetch_atlas_juelich
which were returning the image in the filename attribute instead of the path to the image (#3179 by Raphael Meudec).Fix function
nilearn.image._apply_cluster_size_threshold
, which resulted in wrong clusters extraction whencluster_size
was non-zero (#3201 by Bertrand Thirion).Fix colorbars in
plot_stat_map
,plot_glass_brain
andplot_surf_stat_map
which could extend beyond the figure for users with newest matplotlib version (>=3.5.1
) (#3188 by Raphael Meudec).Function
fetch_atlas_aal
now works with all supported versions ofSPM
(5, 8, and 12). (#3098 by Nicolas Gensollen).
Enhancements#
New example in Beta-Series Modeling for Task-Based Functional Connectivity and Decoding to demonstrate how to implement common beta series models with nilearn (#3127 by Taylor Salo).
Function
plot_carpet
now accepts at_r
parameter, which allows users to provide the TR of the image when the image’s header may not be accurate. (#3165 by Taylor Salo).Terms Probabilistic atlas and Deterministic atlas were added to the glossary and references were added to atlas fetchers (#3152 by Nicolas Gensollen).
Functions in
nilearn.datasets
have been organized by the type of data in the references page andfetch_mixed_gambles
has been added to the documentation (#3207 by Taylor Salo).
Changes#
The documentation for
get_clusters_table
has been improved, with more information about what inputs are valid and what the resulting table should look like (#3178 by Taylor Salo).Requirements files have been consolidated into a
setup.cfg
file and installation instructions have been simplified (#2953 by Taylor Salo).
0.9.0#
Released January 2022
HIGHLIGHTS#
Warning
Surface plotting functions can now produce interactive plots with
Plotly
. This can be selected with theengine
parameter (set it tomatplotlib
orplotly
) (#2902 by Nicolas Gensollen).New module
nilearn.interfaces
to implement loading and saving utilities with various interfaces (fMRIPrep, BIDS…) (#3061 by Nicolas Gensollen).New functions
load_confounds
andload_confounds_strategy
to load confound variables easily from fMRIPrep outputs (#2946 and #3016 by Hao-Ting Wang).New class
HierarchicalKMeans
which yields more balanced clusters thanKMeans
. It is also callable throughParcellations
usingmethod=hierarchical_kmeans
(#2282 by Thomas Bazeille).Masker objects like
NiftiMasker
now belong to the new modulenilearn.maskers
. The old import style, through the moduleinput_data
, still works but has been deprecated (#3065 by Nicolas Gensollen).Class
NiftiMapsMasker
can now generate HTML reports in the same way asNiftiMasker
andNiftiLabelsMasker
(#2880 by Nicolas Gensollen).The contributing documentation and maintenance pages were improved (#3010 by Nicolas Gensollen).
NEW#
Support for Python 3.6 is deprecated and will be removed in release 0.10. Users with a Python 3.6 environment will be warned at their first Nilearn import and encouraged to update to more recent versions of Python (#3026 by Nicolas Gensollen).
Masker objects like
NiftiMasker
now belong to the new modulenilearn.maskers
. The old import style, through the moduleinput_data
, still works but has been deprecated (#3065 by Nicolas Gensollen).New module
nilearn.interfaces
to implement loading and saving utilities with various interfaces (fMRIPrep, BIDS…) (#3061 by Nicolas Gensollen).New submodule
nilearn.interfaces.fmriprep
to implement loading utilities for fMRIPrep (#3061 by Nicolas Gensollen).New function
load_confounds
to load confound variables easily from fMRIPrep outputs (#2946 by Hao-Ting Wang).New function
load_confounds_strategy
to load confound variables from fMRIPrep outputs using four preset strategies:simple
,scrubbing
,compcor
, andica_aroma
(#3016 by Hao-Ting Wang).New submodule
nilearn.interfaces.bids
to implement loading utilities for BIDS datasets (#3126 by Taylor Salo).New function
get_bids_files
to select files easily from BIDS datasets (#3126 by Taylor Salo).New function
parse_bids_filename
to identify subparts of BIDS filenames (#3126 by Taylor Salo).New submodule
nilearn.interfaces.fsl
to implement loading utilities for FSL outputs. (#3126 by Taylor Salo).New function
get_design_from_fslmat
to load design matrices from FSL files (#3126 by Taylor Salo).Surface plotting functions like
plot_surf_stat_map
now have anengine
parameter, defaulting tomatplotlib
, but which can be set toplotly
. Ifplotly
andkaleido
are installed, this will generate an interactive plot of the surface map usingplotly
instead ofmatplotlib
. Note that this functionality is still experimental, and that some capabilities supported by ourmatplotlib
engine are not yet supported by theplotly
engine (#2902 by Nicolas Gensollen).When using the
plotly
engine, surface plotting functions derived fromplot_surf
return a new display object, aPlotlySurfaceFigure
, which provides a similar interface to theFigure
returned with thematplotlib
engine (#3036 by Nicolas Gensollen).Class
NiftiMapsMasker
can now generate HTML reports in the same way asNiftiMasker
andNiftiLabelsMasker
. The report enables the users to browse through the spatial maps with a previous and next button. The users can filter the maps they wish to display by passing an integer, or a list of integers togenerate_report
(#2880 by Nicolas Gensollen).New class
HierarchicalKMeans
which yields more balanced clusters thanKMeans
. It is also callable throughParcellations
usingmethod=hierarchical_kmeans
(#2282 by Thomas Bazeille).
Fixes#
When a label image with non integer values was provided to the
NiftiLabelsMasker
, itsgenerate_report
method was raising anIndexError
(#3009 by Nicolas Gensollen).Function
plot_markers
did not work when thedisplay_mode
parameter includedl
andr
and the parameternode_size
was provided as an array (#3013 by Leonard Sasse).Method
generate_report
threw aTypeError
whenFirstLevelModel
was instantiated withmask_img
being aNiftiMasker
. Functionmake_glm_report
was fixed accordingly (#3035 by Alexis Thual).Function
find_parcellation_cut_coords
now returns coordinates and labels having the same order as the one of the input labels index (#3078 by Myeong Seop Song).Convert references in
nilearn/regions/region_extractor.py
to use footcite / footbibliography (#3111 by Neelay Shah).Fixed Hommel value computation in
nilearn/glm/thresholding.py
used in thecluster_level_inference
function (#3109 by Bertrand Thirion).Fixed computation of Benjamini-Hocheberg threshold in
nilearn/glm/thresholding.py
function (#3137 by Bertrand Thirion).Attribute
scaling_axis
ofFirstLevelModel
has been deprecated and will be removed in0.11.0
. When scaling is performed, the attributesignal_scaling
is used to define the axis instead (#3135 by Nicolas Gensollen).
Enhancements#
Function
threshold_img
accepts new parameterscluster_threshold
andtwo_sided
.cluster_threshold
applies a cluster-size threshold (in voxels).two_sided
, which isTrue
by default, separately thresholds both positive and negative values in the map, as was done previously. Whentwo_sided
isFalse
, only values greater than or equal to the threshold are retained (#2965 by Taylor Salo).Function
clean
raises a warning when the user sets parametersdetrend
andstandardize_confound
toFalse
. The user is suggested to set one of those options toTrue
, or standardize/demean the confounds before using the function (#3003 by Hao-Ting Wang).The contributing documentation and maintenance pages were improved, especially towards ways of contributing to the project which do not require to write code. The roles of the Triage team were defined more clearly with sections on issue Labels and issue Closing policy (#3010 by Nicolas Gensollen).
It is now possible to provide custom HRF models to
FirstLevelModel
. The custom model should be defined as a function, or a list of functions, implementing the same API as Nilearn’s usual models (seespm_hrf
for example). The example Example of MRI response functions was also modified to demo how to define custom HRF models (#2942 by Nicolas Gensollen).Class
NiftiLabelsMasker
now gives a warning when some labels are removed from the label image at transform time due to resampling of the label image to the data image (#3008 by Nicolas Gensollen).Function
non_parametric_inference
now acceptsDataFrame
as possible values for itssecond_level_input
parameter. Note that a new parameterfirst_level_contrast
has been added to this function to enable this feature (#3042 by Nicolas Gensollen).Tests from
nilearn/plotting/tests/test_img_plotting.py
have been refactored and reorganized in separate files in new foldernilearn/plotting/tests/test_img_plotting/
(#3015 by Nicolas Gensollen).Once a
SecondLevelModel
has been fitted and contrasts have been computed, it is now possible to access theresiduals
,predicted
, andr_square
model attributes like it was already possible forFirstLevelModel
(#3033 by Nicolas Gensollen).Importing
nilearn.plotting
will now raise a warning if thematplotlib
backend has been changed from its original value, instead of silently modifying it (#3077 by Raphael Meudec).Function
plot_img
and deriving functions likeplot_anat
,plot_stat_map
, orplot_epi
now accept an optional argumentcbar_tick_format
to specify how numbers should be displayed on the colorbar. This is consistent with the API of surface plotting functions (see release0.7.1
). The default format is scientific notation (#2859 by Nicolas Gensollen).
Changes#
Nibabel 2.x is no longer supported. Please consider upgrading to Nibabel >= 3.0 (#3106 by Nicolas Gensollen).
Deprecated function
nilearn.datasets.fetch_cobre
has been removed (#3081 by Nicolas Gensollen).Deprecated function
nilearn.plotting.plot_connectome_strength
has been removed (#3082 by Nicolas Gensollen).Deprecated function
nilearn.masking.compute_gray_matter_mask
has been removed (#3090 by Nicolas Gensollen).Deprecated parameter
sessions
of functionclean
has been removed. Useruns
instead (#3093 by Nicolas Gensollen).Deprecated parameters
sessions
andsample_mask
ofNiftiMasker
have been removed. Please useruns
instead ofsessions
, and provide asample_mask
throughtransform
(#3133 by Nicolas Gensollen).Function
glm.first_level.compute_regressor
will now raise an exception if parametercond_id
is not a string which could be used to name a python variable. For instance, number strings (ex: “1”) will no longer be accepted as valid condition names. In particular, this will also impactglm.first_level.make_first_level_design_matrix
andglm.first_level.FirstLevelModel
, for which proper condition names will also be needed (#3025 by Alexis Thual).Replace parameter
sessions
withruns
in functionclean_img
as this replacement was already made for functionclean
in #2821 in order to match BIDS semantics. The use ofsessions
in functionclean_img
is deprecated and will be removed in0.10.0
(#3039 by Nicolas Gensollen).Display objects have been reorganized. For example,
Slicers
(like theOrthoSlicer
) are all in filenilearn/plotting/displays/_slicers.py
, andProjectors
(like theOrthoProjector
) are all in filenilearn/plotting/displays/_projectors.py
. All display objects have been added to the public API, and examples have been improved to show how to use these objects to customize figures obtained with plotting functions (#3073 by Nicolas Gensollen).Descriptions of datasets retrieved with fetchers from
nilearn.datasets
are now python strings rather thanbytes
. Therefore, decoding the descriptions is no longer necessary (#2655 by Nicolas Gensollen).Dataset fetchers returning a
recarray
can now return aDataFrame
instead. These fetchers now have alegacy_format
optional argument defaulting toTrue
for backward compatibility. Users will be warned that this parameter will default toFalse
in release0.11.0
, makingDataFrame
the default return type instead orrecarray
(#2829 by Ahmad Chamma).
0.8.1#
Released September 2021
HIGHLIGHTS#
New atlas fetcher
fetch_atlas_juelich
to download Juelich atlas from FSL (#2723 by Ahmad Chamma).New grey and white-matter template and mask loading functions:
load_mni152_gm_template
,load_mni152_wm_template
,load_mni152_gm_mask
, andload_mni152_wm_mask
(#2738 by Ana Luisa Pinho).The Contributing has been reworked. It now provides insights on nilearn organization as a project as well as more explicit Contribution Guidelines (#2755 by Thomas Bazeille).
Function
binarize_img
binarizes images into 0 and 1 (#2900 by Daniel Gomez).
NEW#
New atlas fetcher
fetch_atlas_juelich
to download Juelich atlas from FSL (#2723 by Ahmad Chamma).The Contributing has been reworked. It now provides insights on nilearn organization as a project as well as more explicit Contribution Guidelines (#2755 by Thomas Bazeille).
Function
load_mni152_gm_template
takes the skullstripped 1mm-resolution version of the grey-matter MNI152 template and re-samples it using a different resolution, if specified (#2738 by Ana Luisa Pinho).Function
load_mni152_wm_template
takes the skullstripped 1mm-resolution version of the white-matter MNI152 template and re-samples it using a different resolution, if specified (#2738 by Ana Luisa Pinho).Function
load_mni152_gm_mask
loads mask from the grey-matter MNI152 template (#2738 by Ana Luisa Pinho).Function
load_mni152_wm_mask
loads mask from the white-matter MNI152 template (#2738 by Ana Luisa Pinho).Function
binarize_img
binarizes images into 0 and 1 (#2900 by Daniel Gomez).Classes
NiftiMasker
,MultiNiftiMasker
, and objects relying on such maskers (Decoder
orCanICA
for example) can now use new options for the argumentmask_strategy
:whole-brain-template
for whole-brain template (same as previous optiontemplate
),gm-template
for grey-matter template, andwm-template
for white-matter template (#2904 by Nicolas Gensollen).
Fixes#
Function
compute_multi_brain_mask
has replacednilearn.masking.compute_multi_grey_matter_mask
. Amask
parameter has been added; it accepts three types of masks—i.e.whole-brain
,grey-matter
, andwhite-matter
—following the enhancements made in the functionnilearn.masking.compute_brain_mask
in this release (#2738 by Ana Luisa Pinho).Fix colorbar of function
view_img
which was not visible for some combinations of black_bg and bg_img parameters (#2876 by Nicolas Gensollen).Fix missing title with function
plot_surf
and deriving functions (#2941 by Nicolas Gensollen).
Enhancements#
Function
load_mni152_template
resamples now the template to a preset resolution different from the resolution of the original template, i.e. 1mm. The default resolution is 2mm, which means that the new template is resampled to the resolution of the old template. Nevertheless, the shape of the template changed from(91, 109, 91)
to(99, 117, 95)
; the affine also changed from array([[-2., 0., 0., 90.], [0., 2., 0., -126.], [0., 0., 2., -72.], [0., 0., 0., 1.]]) to array([[1., 0., 0., -98.], [0., 1., 0., -134.], [0., 0., 1., -72.], [0., 0., 0., 1.]]). Additionally, the new template has also been rescaled; whereas the old one varied between 0 and 8339, the new one varies between 0 and 255 (#2738 by Ana Luisa Pinho).Function
load_mni152_brain_mask
accepts now the parameterresolution
, which will set the resolution of the template used for the masking (#2738 by Ana Luisa Pinho).Function
compute_brain_mask
accepts now as input the whole-brain, 1mm-resolution, MNI152 T1 template instead of the averaged, whole-brain, 2mm-resolution MNI152 T1 template; it also accepts as input the grey-matter and white-matter ICBM152 1mm-resolution templates dated from 2009 (#2738 by Ana Luisa Pinho).Common parts of docstrings across Nilearn can now be filled automatically using the decorator nilearn._utils.fill_doc. This can be applied to common function parameters or common lists of options for example. The standard parts are defined in a single location (nilearn._utils.docs.py) which makes them easier to maintain and update (#2875 by Nicolas Gensollen).
The
data_dir
argument can now be either apathlib.Path
or astr
. This extension affects datasets and atlas fetchers (#2928 by Raphael Meudec).
Changes#
The version of the script jquery.min.js was bumped from
3.3.1
to3.6.0
due to potential vulnerability issues with versions< 3.5.0
(#2944 by Nicolas Gensollen).
0.8.0#
Released June 2021
HIGHLIGHTS#
Warning
Class
NiftiLabelsMasker
can now generate HTML reports in the same way as theNiftiMasker
(#2707 by Nicolas Gensollen).Function
clean
now accepts a new parametersample_mask
of shape(number of scans - number of volumes removed, )
(#2858 by Hao-Ting Wang).All inherent classes of
nilearn.maskers.BaseMasker
can use the parametersample_mask
for sub-sample masking (#2858 by Hao-Ting Wang).Function
fetch_surf_fsaverage
now acceptsfsaverage3
,fsaverage4
andfsaverage6
as values for parametermesh
, so that all resolutions of fsaverage from 3 to 7 are now available (#2815 by Alexis Thual).Function
fetch_surf_fsaverage
now provides attributes{area, curv, sphere, thick}_{left, right}
for all fsaverage resolutions (#2815 by Alexis Thual).Function
run_glm
now allows auto regressive noise models of order greater than one (#2532 by Robert Luke).
NEW#
Function
clean
now accepts a new parametersample_mask
of shape(number of scans - number of volumes removed, )
. Masks the niimgs along time/fourth dimension to perform scrubbing (remove volumes with high motion) and/or non-steady-state volumes. Masking is applied before signal cleaning (#2858 by Hao-Ting Wang).All inherent classes of
nilearn.maskers.BaseMasker
can use the parametersample_mask
for sub-sample masking (#2858 by Hao-Ting Wang).Class
NiftiLabelsMasker
can now generate HTML reports in the same way asNiftiMasker
. The report shows the regions defined by the provided label image and provide summary statistics on each region (name, volume…). If a functional image was provided to fit, the middle image is plotted with the regions overlaid as contours. Finally, if a mask is provided, its contours are shown in green (#2707 by Nicolas Gensollen).
Fixes#
Convert references in
signal.py
,atlas.py
,func.py
,neurovault.py
, andstruct.py
to use footcite / footbibliography (#2806 by Jeremy Lefort-Besnard).Fix detrending and temporal filtering order for confounders in function
clean
, so that these operations are applied in the same order as for the signals, i.e., first detrending and then temporal filtering (see #2730) (#2732 by Javier Rasero).Fix number of attributes returned by the nilearn.glm.first_level.FirstLevelModel._get_voxelwise_model_attribute method in the
FirstLevelModel
. It used to return only the first attribute, and now returns as many attributes as design matrices (#2792 by Raphael Meudec).Plotting functions that show a stack of slices from a 3D image (e.g.
plot_stat_map
) will now plot the slices in the user specified order, rather than automatically sorting into ascending order (see #1155) (#2831 by Evan Edmond).Fix the axes zoom in function
plot_img_on_surf
so brain would not be cutoff, and edited function so less white space surrounds brain views and smaller colorbar using gridspec (#2798 by Tom Vanasse).Fix inconsistency in prediction values of
sklearn.dummy.DummyClassifier
forDecoder
(see #2767) (#2826 by Binh Nguyen).
Enhancements#
Function
view_markers
now accepts an optional argumentmarker_labels
to provide labels to each marker (#2745 by Greydon Gilmore).Function
plot_surf
now accepts new values foravg_method
argument, such asmin
,max
, or even a custom python function to compute the value displayed for each face of the plotted mesh (#2790 by Alexis Thual).Function
view_img_on_surf
can now optionally pass through parameters to functionvol_to_surf
using thevol_to_surf_kwargs
argument. One application is better HTML visualization of atlases (https://nilearn.github.io/auto_examples/01_plotting/plot_3d_map_to_surface_projection.html) (#2805 by Evan Edmond).Function
view_connectome
now accepts an optional argumentnode_color
to provide a single color for all nodes, or one color per node. It defaults toauto
which colors markers according to the viridis colormap (#2810 by Raphael Meudec).Function
clean
has been refactored to clarify the data flow (#2821 by Hao-Ting Wang).Parameter
sessions
has been replaced withruns
inclean
to match BIDS semantics.sessions
has been deprecated and will be removed in0.9.0
(#2821 by Hao-Ting Wang).Add argument
filter
inclean
and allow a selection of signal filtering strategies:butterwoth
for butterworth filter,cosine
for discrete cosine transformation, andFalse
for no filtering (#2821 by Hao-Ting Wang).Change the default strategy for
sklearn.dummy.DummyClassifier
fromprior
tostratified
(#2826 by Binh Nguyen).Function
run_glm
now allows auto regressive noise models of order greater than one (#2532 by Robert Luke).Moves parameter
sample_mask
fromNiftiMasker
to methodtransform
in base classnilearn.maskers.BaseMasker
(#2858 by Hao-Ting Wang).Function
fetch_surf_fsaverage
now acceptsfsaverage3
,fsaverage4
andfsaverage6
as values for parametermesh
, so that all resolutions of fsaverage from 3 to 7 are now available (#2815 by Alexis Thual).Function
fetch_surf_fsaverage
now provides attributes{area, curv, sphere, thick}_{left, right}
for all fsaverage resolutions (#2815 by Alexis Thual).
Changes#
Python
3.5
is no longer supported. We recommend upgrading to Python3.7
(#2869 by Nicolas Gensollen).Support for Nibabel
2.x
is now deprecated and will be removed in the0.9
release. Users with a version of Nibabel< 3.0
will be warned at their first Nilearn import (#2869 by Nicolas Gensollen).Minimum supported versions of packages have been bumped up:
Numpy – v1.16
SciPy – v1.2
Scikit-learn – v0.21
Nibabel – v2.5
Pandas – v0.24
(#2869 by Nicolas Gensollen).
Function
sym_to_vec
fromnilearn.connectome
was deprecated since release0.4
and has been removed (#2867 by Nicolas Gensollen).Function
nilearn.datasets.fetch_nyu_rest
was deprecated since release0.6.2
and has been removed (#2868 by Nicolas Gensollen).Class
NiftiMasker
replaces attributesessions
withruns
and deprecates attributesessions
in0.9.0
. Match the relevant change in functionclean
(#2858 by Hao-Ting Wang).
0.7.1#
Released March 2021
HIGHLIGHTS#
New atlas fetcher
fetch_atlas_difumo
to download Dictionaries of Functional Modes, or “DiFuMo”, that can serve as atlases to extract functional signals with different dimensionalities (64, 128, 256, 512, and 1024). These modes are optimized to represent well raw BOLD timeseries, over a with range of experimental conditions (#2619 by Nicolas Gensollen).Decoder
andDecoderRegressor
are now implemented with random predictions to estimate a chance level (#2622 by Kamalakar Reddy Daddy).Functions
plot_epi
,plot_roi
,plot_stat_map
,plot_prob_atlas
are now implemented with new display modeMosaic
. That implies plotting 3D maps in multiple columns and rows in a single axes (#2684 by Kamalakar Reddy Daddy).Function
plot_carpet
now supports discrete atlases. When an atlas is used, a colorbar is added to the figure, optionally with labels corresponding to the different values in the atlas (#2702 by Taylor Salo).
NEW#
New atlas fetcher
fetch_atlas_difumo
to download Dictionaries of Functional Modes, or “DiFuMo”, that can serve as atlases to extract functional signals with different dimensionalities (64, 128, 256, 512, and 1024). These modes are optimized to represent well raw BOLD timeseries, over a with range of experimental conditions (#2619 by Nicolas Gensollen).Function
glm.Contrast.one_minus_pvalue
was added to ensure numerical stability of p-value estimation. It computes 1 - p-value using the Cumulative Distribution Function in the same way as functionnilearn.glm.Contrast.p_value
computes the p-value using the Survival Function. (#2567 by Ana Luisa Pinho).
Fixes#
Fix altered, non-zero baseline in design matrices where multiple events in the same condition end at the same time (see #2674) (#2553 by Martin Wegrzyn).
Fix testing issues on ARM machine (#2606 by Kamalakar Reddy Daddy).
Enhancements#
Decoder
andDecoderRegressor
are now implemented with random predictions to estimate a chance level (#2622 by Kamalakar Reddy Daddy).Decoder
,DecoderRegressor
,FREMRegressor
, andFREMClassifier
now override thescore
method to use whatever scoring strategy was defined through thescoring
attribute instead of the sklearn default. If thescoring
attribute of the decoder is set toNone
, the scoring strategy will default to accuracy for classifiers and to r2 score for regressors (#2669 by Nicolas Gensollen).Function
plot_surf
and deriving functions likeplot_surf_roi
now accept an optional argumentcbar_tick_format
to specify how numbers should be displayed on the colorbar of surface plots. The default format is scientific notation except for functionplot_surf_roi
for which it is set as integers (#2643 by Nicolas Gensollen).Function
plot_carpet
now supports discrete atlases. When an atlas is used, a colorbar is added to the figure, optionally with labels corresponding to the different values in the atlas (#2702 by Taylor Salo).NiftiMasker
,NiftiLabelsMasker
,MultiNiftiMasker
,NiftiMapsMasker
, andNiftiSpheresMasker
can now compute high variance confounds on the images provided totransform
and regress them out automatically. This behaviour is controlled through thehigh_variance_confounds
boolean parameter of these maskers which default toFalse
(#2697 by Nicolas Gensollen).NiftiLabelsMasker
now automatically replacesNaNs
in input data with zeros, to match the behavior of other maskers (#2712 by Taylor Salo).Function
fetch_neurovault
now implements aresample
boolean argument to either perform a fixed resampling during download or keep original images. This can be handy to reduce disk usage. By default, the downloaded images are not resampled (#2696 by Raphael Meudec).Functions
plot_epi
,plot_roi
,plot_stat_map
,plot_prob_atlas
are now implemented with new display modeMosaic
. That implies plotting 3D maps in multiple columns and rows in a single axes (#2684 by Kamalakar Reddy Daddy).Function
clean
now has apsc
standardization option which allows time series with negative mean values (#2714 by Hao-Ting Wang).Functions
make_glm_report
andget_clusters_table
have a new argument,two_sided
, which allows for two-sided thresholding, which is disabled by default (#2719 by Taylor Salo).
0.7.0#
Released November 2020
HIGHLIGHTS#
Nilearn now includes the functionality of Nistats as
nilearn.glm
. This module is experimental, hence subject to change in any future release. Here’s a guide to replacing Nistats imports to work in Nilearn. (#2299, #2304, and #2307 by Kshitij Chawla, and #2509 by Binh Nguyen).New classes
nilearn.decoding.Decoder
(for classification) andnilearn.decoding.DecoderRegressor
(for regression) implement a model selection scheme that averages the best models within a cross validation loop (#2000 by Binh Nguyen).New classes
nilearn.decoding.FREMClassifier
(for classification) andnilearn.decoding.FREMRegressor
(for regression) extend theDecoder
object with one fast clustering step at the beginning and aggregates a high number of estimators trained on various splits of the training set (#2327 by Thomas Bazeille).New plotting functions:
plot_event
to visualize events file.plot_roi
can now plot ROIs in contours withview_type
argument.plot_carpet
generates a “carpet plot” (also known as a “Power plot” or a “grayplot”)plot_img_on_surf
generates multiple views ofplot_surf_stat_map
in a single figure.plot_markers
shows network nodes (markers) on a glass brain templateplot_surf_contours
plots the contours of regions of interest on the surface
Warning
Minimum required version of Joblib
is now 0.12
.
NEW#
Nilearn now includes the functionality of Nistats. Here’s a guide to replacing Nistats imports to work in Nilearn.
New decoder object
nilearn.decoding.Decoder
(for classification) andnilearn.decoding.DecoderRegressor
(for regression) implement a model selection scheme that averages the best models within a cross validation loop. The resulting average model is the one used as a classifier or a regressor. These two objects also leverage the NiftiMaskers to provide a direct interface with the Nifti files on disk.New FREM object
nilearn.decoding.FREMClassifier
(for classification) andnilearn.decoding.FREMRegressor
(for regression) extend the decoder object pipeline with one fast clustering step at the beginning (yielding an implicit spatial regularization) and aggregates a high number of estimators trained on various splits of the training set. This returns a state-of-the-art decoding pipeline at a low computational cost. These two objects also leverage the NiftiMaskers to provide a direct interface with the Nifti files on disk.Plot events file Use
nilearn.plotting.plot_event
to visualize events file. The function accepts the BIDS events file read using pandas utilities.Plotting function
nilearn.plotting.plot_roi
can now plot ROIs in contours with view_type argument.New plotting function
nilearn.plotting.plot_carpet
generates a “carpet plot” (also known as a “Power plot” or a “grayplot”), for visualizing global patterns in 4D functional data over time.New plotting function
nilearn.plotting.plot_img_on_surf
generates multiple views ofnilearn.plotting.plot_surf_stat_map
in a single figure.nilearn.plotting.plot_markers
shows network nodes (markers) on a glass brain template and color code them according to provided nodal measure (i.e. connection strength). This function will replacenilearn.plotting.plot_connectome_strength
.New plotting function
nilearn.plotting.plot_surf_contours
plots the contours of regions of interest on the surface, optionally overlaid on top of a statistical map.The position annotation on the plot methods now implements the decimals option to enable annotation of a slice coordinate position with the float.
New example in Cortical surface-based searchlight decoding to demo how to do cortical surface-based searchlight decoding with Nilearn.
confounds or additional regressors for design matrix can be specified as numpy arrays or pandas DataFrames interchangeably
The decomposition estimators will now accept argument per_component with score method to explain the variance for each component.
Fixes#
nilearn.maskers.NiftiLabelsMasker
no longer ignores its mask_imgnilearn.masking.compute_brain_mask
has replaced nilearn.masking.compute_gray_matter_mask. Features remained the same but some corrections regarding its description were made in the docstring.the default background (MNI template) in plotting functions now has the correct orientation; before left and right were inverted.
first level modelling can deal with regressors having multiple events which share onsets or offsets. Previously, such cases could lead to an erroneous baseline shift.
nilearn.mass_univariate.permuted_ols
no longer returns transposed t-statistic arrays when no permutations are performed.Fix decomposition estimators returning explained variance score as 0. based on all components i.e., when per_component=False.
Fix readme file of the Destrieux 2009 atlas.
Changes#
Function
nilearn.datasets.fetch_cobre
has been deprecated and will be removed in release 0.9 .Function
nilearn.plotting.plot_connectome_strength
has been deprecated and will be removed in release 0.9 .nilearn.connectome.ConnectivityMeasure
can now remove confounds in its transform step.nilearn.surface.vol_to_surf
can now sample between two nested surfaces (eg white matter and pial surfaces) at specific cortical depthsnilearn.datasets.fetch_surf_fsaverage
now also downloads white matter surfaces.
0.6.2#
Released February 2020
ENHANCEMENTS#
Generated documentation now includes Binder links to launch examples interactively in the browser (#2300 by Elizabeth DuPre).
NiftiSpheresMasker
now has an inverse transform, projecting spheres to the correspondingmask_img
(#2429 by Simon Steinkamp).
Fixes#
More robust matplotlib backend selection (#2302 by Gael Varoquaux).
Typo in example fixed (#2312 by Jon Haitz Legarreta Gorrono).
Changes#
Function
nilearn.datasets.fetch_nyu_rest
has been deprecated and will be removed in Nilearn0.8.0
(#2308 by Joshua Teves).
Contributors#
The following people contributed to this release:
0.6.1#
Released January 2020
ENHANCEMENTS#
HTML pages use the user-provided plot title, if any, as their title (#2272 by Jerome Dockes).
Fixes#
Fetchers for developmental_fmri and localizer datasets resolve URLs correctly (#2290 by Elizabeth DuPre).
Contributors#
The following people contributed to this release:
0.6.0#
Released December 2019
HIGHLIGHTS#
Warning
3.5
environment will be warned at their first Nilearn import.Matplotlib -- v2.0
.Scikit-learn -- v0.19
.Scipy -- v0.19
.NEW#
New method for
NiftiMasker
instances for generating reports viewable in a web browser, Jupyter Notebook, or VSCode (#2019 by Elizabeth DuPre).New function
get_data
to replace the deprecated nibabel methodNifti1Image.get_data
. Now usenilearn.image.get_data(img)
rather thanimg.get_data()
. This is because Nibabel is removing theget_data
method. You may also consider using the Nibabel methodnibabel.nifti1.Nifti1Image.get_fdata
, which returns the data cast to floating-point. See BIAP8. As a benefit, theget_data
function works on niimg-like objects such as filenames (see input_output) (#2172 by Jerome Dockes).New class
ReNA
implementing parcellation method ReNA: Fast agglomerative clustering based on recursive nearest neighbor grouping. Yields very fast & accurate models, without creation of giant clusters (#1336 by Andrés Hoyos Idrobo).New function
nilearn.plotting.plot_connectome_strength
to plot the strength of a connectome on a glass brain. Strength is absolute sum of the edges at a node (#2028 by Guillaume Lemaitre).Function
resample_img
has been optimized to pad rather than resample images in the special case when there is only a translation between two spaces. This is a common case in classNiftiMasker
when using themask_strategy="template"
option for brains in MNI space (#2025 by Greg Kiar).New brain development fMRI dataset fetcher
datasets.fetch_development_fmri
can be used to download movie-watching data in children and adults. A light-weight dataset implemented for teaching and usage in the examples. All the connectivity examples are changed from ADHD to brain development fMRI dataset (#1953 by Kamalakar Reddy Daddy).
ENHANCEMENTS#
Functions
view_img_on_surf
,view_surf
andview_connectome
can display a title, and allow disabling the colorbar, and setting its height and the fontsize of its ticklabels (#1951 by Jerome Dockes).Rework of the standardize-options of function
clean
and the various Maskers innilearn.maskers
. You can now setstandardize
tozscore
orpsc
.psc
stands forPercent Signal Change
, which can be a meaningful metric for BOLD (#1952 by Gilles de Hollander).Class
NiftiLabelsMasker
now accepts an optionalstrategy
parameter which allows it to change the function used to reduce values within each labelled ROI. Available functions includemean
,median
,minimum
,maximum
,standard_deviation
andvariance
. This change is also introduced in functionimg_to_signals_labels
(#2221 by Daniel Gomez).Function
view_surf
now accepts surface data provided as a file path (#2057 by Jerome Dockes).
CHANGES#
Function
plot_img
now has explicit keyword argumentsbg_img
,vmin
andvmax
to control the background image and the bounds of the colormap. These arguments were already accepted inkwargs
but not documented before (#2157 by Jerome Dockes).
FIXES#
Class
NiftiLabelsMasker
no longer truncates region means to their integral part when input images are of integer type (#2195 by Kshitij Chawla).The argument
version='det'
in functionfetch_atlas_pauli_2017
now works as expected (#2235 by Ryan Hammonds).pip install nilearn
now installs the necessary dependencies (#2214 by Kshitij Chawla).
Lots of other fixes in documentation and examples. More detailed change list follows:
0.6.0rc#
NEW#
Warning
Function
view_connectome
no longer accepts old parameter names. Instead ofcoords
,threshold
,cmap
, andmarker_size
, usenode_coords
,edge_threshold
,edge_cmap
, andnode_size
respectively (#2255 by Kshitij Chawla).Function
view_markers
no longer accepts old parameter names. Instead ofcoord
andcolor
, usemarker_coords
andmarker_color
respectively (#2255 by Kshitij Chawla).Support for Python3.5 will be removed in the 0.7.x release. Users with a Python3.5 environment will be warned at their first Nilearn import (#2214 by Kshitij Chawla).
Changes#
Add a warning to
Parcellations
if the generated number of parcels does not match the requested number of parcels (#2240 by Elizabeth DuPre).Class
NiftiLabelsMasker
now accepts an optionalstrategy
parameter which allows it to change the function used to reduce values within each labelled ROI. Available functions includemean
,median
,minimum
,maximum
,standard_deviation
andvariance
. This change is also introduced in functionimg_to_signals_labels
(#2221 by Daniel Gomez).
Fixes#
Class
NiftiLabelsMasker
no longer truncates region means to their integral part when input images are of integer type (#2195 by Kshitij Chawla).Function
smooth_img
no longer fails iffwhm
is anumpy.ndarray
(#2107 by Paula Sanz-Leon).pip install nilearn
now installs the necessary dependencies (#2214 by Kshitij Chawla).Function
new_img_like
no longer attempts to copy non-iterable headers (#2212 by Kshitij Chawla).Nilearn no longer raises
ImportError
for nose when Matplotlib is not installed (#2231 by Kshitij Chawla).The argument
version='det'
in functionfetch_atlas_pauli_2017
now works as expected (#2235 by Ryan Hammonds).Method
inverse_transform
now works without the need to calltransform
first (#2248 by Gael Varoquaux).
Contributors#
The following people contributed to this release (in alphabetical order):
0.6.0b0#
Released November 2019
Warning
NEW#
New function
get_data
to replace the deprecated nibabel methodNifti1Image.get_data
. Now usenilearn.image.get_data(img)
rather thanimg.get_data()
. This is because Nibabel is removing theget_data
method. You may also consider using the Nibabel methodnibabel.nifti1.Nifti1Image.get_fdata
, which returns the data cast to floating-point. See BIAP8. As a benefit, theget_data
function works on niimg-like objects such as filenames (see input_output) (#2172 by Jerome Dockes).
Changes#
All functions and examples now use function
get_data
rather than the deprecated methodnibabel.Nifti1Image.get_data
(#2172 by Jerome Dockes).Function
fetch_neurovault
now does not filter out images that have their metadata fieldis_valid
cleared by default (#2169 by Jerome Dockes).Users can now specify fetching data for adults, children, or both from
fetch_development_fmri
.
Fixes#
Function
plot_connectome
now correctly displays marker size on ‘l’ and ‘r’ orientations, if an array or a list is passed to the function.
Contributors#
The following people contributed to this release (in alphabetical order):
0.6.0a0#
Released October 2019
NEW#
Warning
Matplotlib -- v2.0
.Scikit-learn -- v0.19
.Scipy -- v0.19
.A new method for
NiftiMasker
instances for generating reports viewable in a web browser, Jupyter Notebook, or VSCode (#2019 by Elizabeth DuPre).joblib
is now a dependency (#2090 by Jerome Dockes).New class
ReNA
implementing parcellation method ReNA: Fast agglomerative clustering based on recursive nearest neighbor grouping. Yields very fast & accurate models, without creation of giant clusters (#1336 by Andrés Hoyos Idrobo).New function
nilearn.plotting.plot_connectome_strength
to plot the strength of a connectome on a glass brain. Strength is absolute sum of the edges at a node (#2028 by Guillaume Lemaitre).Function
resample_img
has been optimized to pad rather than resample images in the special case when there is only a translation between two spaces. This is a common case in classNiftiMasker
when using themask_strategy="template"
option for brains in MNI space (#2025 by Greg Kiar).New brain development fMRI dataset fetcher
fetch_development_fmri
can be used to download movie-watching data in children and adults; a light-weight dataset implemented for teaching and usage in the examples.New example in
examples/05_advanced/plot_age_group_prediction_cross_val.py
to compare methods for classifying subjects into age groups based on functional connectivity. Similar example inexamples/03_connectivity/plot_group_level_connectivity.py
simplified (#2063 by Jerome Dockes).Merged
examples/03_connectivity/plot_adhd_spheres.py
andexamples/03_connectivity/plot_sphere_based_connectome.py
to remove duplication across examples. The improvedexamples/03_connectivity/plot_sphere_based_connectome.py
contains concepts previously reviewed in both examples (#2013 by Jake Vogel).Merged
examples/03_connectivity/plot_compare_decomposition.py
andexamples/03_connectivity/plot_canica_analysis.py
into an improvedexamples/03_connectivity/plot_compare_decomposition.py
(#2013 by Jake Vogel).The Localizer dataset now follows the BIDS organization.
Changes#
All the connectivity examples are changed from ADHD to brain development fMRI dataset.
Examples
plot_decoding_tutorial
,plot_haxby_decoder
,plot_haxby_different_estimators
,plot_haxby_full_analysis
,plot_oasis_vbm
now useDecoder
andDecoderRegressor
instead of sklearn SVC and SVR (#2000 by Binh Nguyen).Functions
view_img_on_surf
,view_surf
andview_connectome
can display a title, and allow disabling the colorbar, and setting its height and the fontsize of its ticklabels (#1951 by Jerome Dockes).Rework of the standardize-options of function
clean
and the various Maskers innilearn.maskers
. You can now setstandardize
tozscore
orpsc
.psc
stands forPercent Signal Change
, which can be a meaningful metric for BOLD (#1952 by Gilles de Hollander).Function
plot_img
now has explicit keyword argumentsbg_img
,vmin
andvmax
to control the background image and the bounds of the colormap. These arguments were already accepted inkwargs
but not documented before (#2157 by Jerome Dockes).Function
view_connectome
now convertsNaNs
in the adjacency matrix to 0 (#2166 by Jerome Dockes).Removed the plotting connectomes example which used the Seitzman atlas from
examples/03_connectivity/plot_sphere_based_connectome.py
. The atlas data is unsuitable for the method & the example is redundant (#2177 by Kshitij Chawla).
Fixes#
Function
plot_glass_brain
withcolorbar=True
does not crash when images haveNaNs
(#1953 by Kamalakar Reddy Daddy).Function
add_contours
now acceptsthreshold
argument forfilled=False
. Nowthreshold
is equally applied when asked for fillings in the contours.Functions
plot_surf
andplot_surf_stat_map
no longer threshold zero values when no threshold is given (#1997 by Julia Huntenburg).Function
plot_surf_stat_map
used with a thresholded map but without a background map results in the surface mesh being displayed in half-transparent grey to maintain a 3D perception (#1997 by Julia Huntenburg).Function
view_surf
now accepts surface data provided as a file path.Function
plot_glass_brain
now correctly displays the left ‘l’ orientation even when the given images are completely masked (empty images) (#1888 by Kamalakar Reddy Daddy).Function
plot_matrix
with providinglabels=None
,False
, or an empty list now correctly disables labels (#2083 by Moritz Boos).Function
plot_surf_roi
now takesvmin
, andvmax
parameters (#2052 by Ian Abenes).Function
fetch_surf_nki_enhanced
is now downloading the correct left and right functional surface data for each subject (#2118 by Julia Huntenburg).Function
fetch_atlas_schaefer_2018
now downloads from release version0.14.3
(instead of0.8.1
) by default, which includes corrected region label names along with 700 and 900 region parcelations (#2138 by Dan Gale).Colormap creation functions have been updated to avoid matplotlib deprecation warnings about colormap reversal (#2131 by Eric Larson).
Neurovault fetcher no longer fails if unable to update dataset metadata file due to faulty permissions.
Contributors#
The following people contributed to this release (in alphabetical order):
0.5.2#
Released April 2019
NEW#
Warning
This is the last release supporting Python2 and 3.4
.
The lowest Python version supported is now Python 3.5
.
We recommend switching to Python 3.6
.
Fixes#
Plotting
.mgz
files in MNE broke in0.5.1
and has been fixed.
Contributors#
The following people contributed to this release:
Kshitij Chawla (11)
Gael Varoquaux (3)
0.5.1#
Released April 2019
NEW#
Support for Python2 & Python3.4 will be removed in the next release. We recommend Python 3.6 and up. Users with a Python2 or Python3.4 environment will be warned at their first Nilearn import.
Calculate image data
dtype
from header information.New display mode
tiled
which allows 2x2 plot arrangement when plotting three cuts (see Plotting brain images).Class
NiftiLabelsMasker
now consumes less memory when extracting the signal from a 3D/4D image. This is especially noteworthy when extracting signals from large 4D images.New function
fetch_atlas_schaefer_2018
.New function
fetch_coords_seitzman_2018
.
Changes#
Lighting used for interactive surface plots changed; plots may look a bit different.
Function
view_connectome
default colormap isbwr
, consistent with functionplot_connectome
.Function
view_connectome
parameter names are consistent with functionplot_connectome
:coords
is nownode_coord
.marker_size
is nownode_size
.cmap
is nowedge_cmap
.threshold
is nowedge_threshold
.
Functions
view_markers
andview_connectome
can accept different marker sizes for each node / marker.Function
plotting.view_markers
default marker color is nowred
, consistent withadd_markers()
.Function
plotting.view_markers
parameter names are consistent withadd_markers()
:coords
is nowmarker_coords
.colors
is nowmarker_color
.
Function
view_img_on_surf
now accepts asymmetric_cmap
argument to control whether the colormap is centered around 0 and avmin
argument.Users can now control the size and fontsize of colorbars in interactive surface and connectome plots, or disable the colorbar.
Fixes#
Example
plot_seed_to_voxel_correlation
now really saves z-transformed maps.Function
connected_regions
and classRegionExtractor
now correctly use the providedmask_img
.Function
load_niimg
no longer drops header ifdtype
is changed.Class
NiftiSpheresMasker
no longer silently ignores voxels if nomask_img
is specified.Interactive brainsprites generated from
view_img
are correctly rendered in Jupyter Book.
Known Issues#
On Python2, functions
view_connectome
and functionview_markers
do not show parameters names in function signature when usinghelp()
and similar features. Please refer to their docstrings for this information.Plotting
.mgz
files in MNE is broken.
Contributors#
The following people contributed to this release:
Bertrand Thirion (2)
Kshitij Chawla (90)
Franz Liem (22)
Jerome Dockes (16)
Gael Varoquaux (11)
Salma Bougacha (8)
himanshupathak21061998 (7)
Elizabeth DuPre (2)
Eric Larson (1)
Pierre Bellec (1)
0.5.0#
Released November 2018
NEW#
interactive plotting functions, eg for use in a notebook.
New functions
view_surf
andview_img_on_surf
for interactive visualization of maps on the cortical surface in a web browser.New functions
view_connectome
andview_markers
for interactive visualization of connectomes and seed locations in 3D.New function
view_img
for interactive visualization of volumes with 3 orthogonal cuts.
Note
Function view_img
was nilearn.plotting.view_stat_map
in alpha and beta releases.
Function
find_parcellation_cut_coords
for extraction of coordinates on brain parcellations denoted as labels.Function
find_probabilistic_atlas_cut_coords
for extraction of coordinates on brain probabilistic maps.
- Minimum supported versions of packages have been bumped up.
scikit-learn -- v0.18
.scipy -- v0.17
.pandas -- v0.18
.numpy -- v1.11
matplotlib -- v1.5.1
- Nilearn Python2 support is being removed in the near future.
Users with a Python2 environment will be warned at their first Nilearn import.
Additional dataset downloaders for examples and tutorials.
ENHANCEMENTS#
Function
clean_img
now accepts a mask to restrict the cleaning of the image, reducing memory load and computation time.NiftiMaskers
now have adtype
parameter, by default keeping the same data type as the input data.Displays by plotting functions can now add a scale bar (see Plotting brain images).
Lots of other fixes in documentation and examples.
A cleaner layout and improved navigation for the website, with a better introduction.
Dataset fetchers are now more reliable, less verbose.
The
fit
method now accepts 4D niimgs.Anaconda link in the installation documentation updated.
Scipy
is listed as a dependency for Nilearn installation.
Changes#
Default value of
t_r
in functionsclean
andclean_img
isNone
and cannot beNone
iflow_pass
orhigh_pass
is specified.
Lots of changes and improvements. Detailed change list for each release follows.
0.5.0 rc#
Highlights#
Function
view_img
(formerlynilearn.plotting.view_stat_map
in Nilearn0.5.0
pre-release versions) generates significantly smaller notebooks and HTML pages while getting a more consistent look and feel with Nilearn’s plotting functions. Huge shout out to Pierre Bellec (pbellec) for making a great feature awesome and for sportingly accommodating all our feedback.Function
clean_img
now accepts a mask to restrict the cleaning of the image. This approach can help to reduce the memory load and computation time. Big thanks to Michael Notter (miykael).
Enhancements#
Function
view_img
is now using thebrainsprite.js
library, which results in much smaller notebooks or html pages. The interactive viewer also looks more similar to the plots generated by functionplot_stat_map
, and most parameters found inplot_stat_map
are now supported inview_img
.Function
clean_img
now accepts a mask to restrict the cleaning of the image. This approach can help to reduce the memory load and computation time.Method
fit
raises a meaningful error in regression tasks if the target Y contains all 1s.
Changes#
Default value of
t_r
in functionsclean
andclean_img
is changed from 2.5 toNone
. Iflow_pass
orhigh_pass
is specified, thent_r
needs to be specified as well otherwise it will raise an error.Order of filters in functions
clean
andclean_img
has changed to detrend, low- and high-pass filter, remove confounds and standardize. To ensure orthogonality between temporal filter and confound removal, an additional temporal filter will be applied on the confounds before removing them. This is according to Lindquist et al. (2018).Function
clean_img
now accepts a mask to restrict the cleaning of the image. This approach can help to reduce the memory load and computation time.Function
view_img
is now using thebrainsprite.js
library, which results in much smaller notebooks or html pages. The interactive viewer also looks more similar to the plots generated byplot_stat_map
, and most parameters found inplot_stat_map
are now supported inview_img
.
Contributors#
The following people contributed to this release:
Gael Varoquaux (15)
Pierre Bellec (114)
Michael Notter (30)
Kshitij Chawla (28)
himanshupathak21061998 (4)
Christian Horea (1)
Jerome Dockes (7)
0.5.0 beta#
Released October 2018
Highlights#
Nilearn Python2 support is being removed in the near future. Users with a Python2 environment will be warned at their first Nilearn import.
Enhancements#
Displays created by plotting functions can now add a scale bar to indicate the size in mm or cm (see Plotting brain images) (by Oscar Esteban).
Colorbars in plotting functions now have a middle gray background suitable for use with custom colormaps with a non-unity alpha channel (by Eric Larson).
Loads of fixes and quality of life improvements
A cleaner layout and improved navigation for the website, with a better introduction.
Less warnings and verbosity while using certain functions and during dataset downloads.
Improved backend for the dataset fetchers means more reliable dataset downloads.
Some datasets, such as the ICBM, are now compressed to take up less disk space.
Fixes#
Method
decoding.SearchLight.fit
now accepts 4D niimgs (by Dan Gale).plotting.view_markers.open_in_browser()
injs_plotting_utils
fixed.Brainomics dataset has been replaced in several examples.
Lots of other fixes in documentation and examples.
Changes#
In function
img_to_signals_labels
, theSee Also
section in documentation now also points toNiftiLabelsMasker
andNiftiMapsMasker
.Scipy
is listed as a dependency for Nilearn installation.Anaconda link in the installation documentation updated.
Contributors#
The following people contributed to this release:
Gael Varoquaux (58)
Kshitij Chawla (115)
Jerome Dockes (15)
Oscar Esteban (14)
Eric Larson (10)
Bertrand Thirion (3)
Alexandre Abadie (5)
Sourav Singh (4)
Alex Rothberg (3)
AnaLu (3)
Christian Horea (3)
Jason Gors (3)
Jean Remi King (3)
MADHYASTHA Meghana (3)
Simon Steinkamp (3)
Salma Bougacha (3)
sfvnMAC (3)
Akshay (2)
Daniel Gomez (2)
Pierre Bellec (2)
Ariel Rokem (2)
erramuzpe (2)
foucault (2)
jehane (2)
Sylvain LANNUZEL (1)
Aki Nikolaidis (1)
Christophe Bedetti (1)
Dan Gale (1)
Dillon Plunkett (1)
Greg Operto (1)
Ivan Gonzalez (1)
Yaroslav Halchenko (1)
dtyulman (1)
0.5.0 alpha#
Released August 2018
This is an alpha release: to download it, you need to explicitly ask for the version number:
pip install nilearn==0.5.0a0
Highlights#
- Minimum supported versions of packages have been bumped up.
scikit-learn -- v0.18
scipy -- v0.17
pandas -- v0.18
numpy -- v1.11
matplotlib -- v1.5.1
New interactive plotting functions, eg for use in a notebook.
Enhancements#
All
NiftiMaskers
now have adtype
argument. For now the default behaviour is to keep the same data type as the input data.Displays created by plotting functions can now add a scale bar to indicate the size in mm or cm (see Plotting brain images) (by Oscar Esteban).
New functions
view_surf
andview_surf
andview_img_on_surf
for interactive visualization of maps on the cortical surface in a web browser.New functions
view_connectome
andview_markers
to visualize connectomes and seed locations in 3DNew function
nilearn.plotting.view_stat_map
(renamed toview_img
in stable release) for interactive visualization of volumes with 3 orthogonal cuts.New function
fetch_surf_fsaverage
to download eitherfsaverage
orfsaverage5
(Freesurfer cortical meshes).New function
fetch_atlas_pauli_2017
to download a recent subcortical neuroimaging atlas.New function
find_parcellation_cut_coords
for extraction of coordinates on brain parcellations denoted as labels.New function
find_probabilistic_atlas_cut_coords
for extraction of coordinates on brain probabilistic maps.New functions
fetch_neurovault_auditory_computation_task
andfetch_neurovault_motor_task
for simple example data.
Changes#
Function
nilearn.datasets.fetch_surf_fsaverage5
is deprecated and will be removed in a future release. Use functionfetch_surf_fsaverage
, with the parametermesh="fsaverage5"
(the default) instead.fsaverage5
surface data files are now shipped directly with Nilearn (see #1705 for discussion).sklearn.cross_validation
andsklearn.grid_search
have been replaced bysklearn.model_selection
in all the examples.Colorbars in plotting functions now have a middle gray background suitable for use with custom colormaps with a non-unity alpha channel.
Contributors#
The following people contributed to this release:
Gael Varoquaux (49)
Jerome Dockes (180)
Kshitij Chawla (57)
Sylvain Lan (38)
Gilles de Hollander (10)
Bertrand Thirion (4)
MENUET Romuald (4)
Moritz Boos (3)
Peer Herholz (1)
Pierre Bellec (1)
0.4.2#
Released June 2018
Few important bugs fix release for OHBM conference.
Changes#
Default colormaps for surface plotting functions have changed to be more consistent with slice plotting.
plot_surf_stat_map
now usescold_hot
, asplot_stat_map
does, andplot_surf_roi
now usesgist_ncar
, asplot_roi
does.Improve 3D surface plotting: lock the aspect ratio of the plots and reduce the whitespace around the plots.
Fixes#
Fix bug with input repetition time (TR) which had no effect in signal cleaning (fixed by Pradeep Reddy Raamana).
Fix issues with signal extraction on list of 3D images in
Parcellations
.Fix issues with raising
AttributeError
rather thanHTTPError
in datasets fetching utilities (by Jerome Dockes).Fix issues in datasets testing function uncompression of files (by Pierre Glaser).
0.4.1#
Released March 2018
This bug fix release is focused on few bug fixes and minor developments.
Enhancements#
Classes
CanICA
andDictLearning
have a new attributecomponents_img_
providing directly the components learned as aNifti1Image
. This avoids the step of unmasking the attributecomponents_
which is true for older versions (#1536 by Kamalakar Reddy Daddy).New class
nilearn.regions.Parcellations
for learning brain parcellations on fMRI data (#1370 by Kamalakar Reddy Daddy).Add optional reordering of the matrix using a argument
reorder
with functionplot_matrix
.
Note
This feature is usable only if SciPy
version is >= 1.0.0
.
Changes#
Using output attribute
components_
which is an extracted components in classesCanICA
andDictLearning
is deprecated and will be removed in next two releases. Usecomponents_img_
instead (#1536 by Kamalakar Reddy Daddy).
Bug fixes#
Fix issues using function
plot_connectome
when string is passed innode_color
with display modes left and right hemispheric cuts in the glass brain.Fix bug while plotting only coordinates using
add_markers
on glass brain (#1595 by Kamalakar Reddy Daddy).Fix issues with estimators in decomposition module when input images are given in glob patterns.
Fix bug loading
Nifti2Image
.Fix bug while adjusting contrast of the background template while using function
plot_prob_atlas
.Fix colormap bug with recent
matplotlib 2.2.0
.
0.4.0#
Released November 2017
Highlights#
New function
vol_to_surf
to project volume data to the surface.New function
plot_matrix
to display matrices, eg connectomes.
Enhancements#
New function
vol_to_surf
to project a 3d or 4d brain volume on the cortical surface.New function
plot_matrix
to display connectome matrices.Expose function
coord_transform
for end users. Useful to transform coordinates (x, y, z) from one image space to another space.Function
resample_img
now takes a linear resampling option (implemented by Joe Necus).Function
fetch_atlas_talairach
to fetch the Talairach atlas (#1523 by Jerome Dockes).Enhancing new surface plotting functions, added new parameters
axes
andfigure
to accept user-specified instances inplot_surf
,plot_surf_stat_map
, andplot_surf_roi
.Class
SearchLight
has new parametergroups
to doLeaveOneGroupOut
type cv with new scikit-learn module model selection.Enhancing the glass brain plotting in back view ‘y’ direction.
New parameter
resampling_interpolation
is added in most used plotting functions to have user control for faster visualizations.Upgraded to
Sphinx-Gallery 0.1.11
.
Fixes#
Dimming factor applied to background image in plotting functions with
dim
parameter will no longer accepts as string (‘-1’). An error will be raised.Fixed issues with
matplotlib 2.1.0
.Fixed issues with
SciPy 1.0.0
.
Changes#
Backward incompatible change: Function
find_xyz_cut_coords
now takes amask_img
argument which is a niimg, rather than amask
argument, which used to be a numpy array.The minimum required version for
scipy
is now0.14
.Dropped support for
Nibabel
older than2.0.2
.Function
smooth_img
no longer accepts smoothing parameter FWHM as 0. Behavior is changed in according to the issues with recentSciPy
version1.0.0
.dim
factor range is slightly increased to -2 to 2 from -1 to 1. Range exceeding -1 meaning more increase in contrast should be cautiously set.New
anterior
andposterior
view added to theplot_surf
family views.Using argument
anat_img
for placing background image in functionplot_prob_atlas
is deprecated. Use argumentbg_img
instead.The examples now use
pandas
for the behavioral information.
Contributors#
The following people contributed to this release:
Jerome Dockes (127)
Gael Varoquaux (62)
Jeff Chiang (11)
Elizabeth DuPre (9)
Jona Sassenhagen (9)
Sylvain Lan (7)
J Necus (6)
AnaLu (3)
Jean-Rémi King (3)
MADHYASTHA Meghana (3)
Salma Bougacha (3)
sfvnMAC (3)
Eric Larson (2)
Christian Horea (2)
Moritz Boos (2)
Alex Rothberg (1)
Bertrand Thirion (1)
Christophe Bedetti (1)
John Griffiths (1)
Mehdi Rahim (1)
Sylvain LANNUZEL (1)
Yaroslav Halchenko (1)
clfs (1)
0.3.1#
Released June 2017
This is a minor release for BrainHack.
Highlights#
Dropped support for scikit-learn older than 0.14.1 Minimum supported version is now
0.15
.
Changes#
The function
sym_to_vec
is deprecated and will be removed in release0.4
. Use functionsym_matrix_to_vec
instead.Added argument
smoothing_fwhm
toRegionExtractor
to control smoothing according to the resolution of atlas images.
Fixes#
The helper function
largest_connected_component
should now work with inputs of non-native datadtypes
.Fix plotting issues when non-finite values are present in background anatomical image.
A workaround to handle non-native endianness in
Nifti1Image
passed to resampling the image.
Enhancements#
New functions
fetch_neurovault
andfetch_neurovault_ids
help you download statistical maps from the Neurovault platform.New function
vec_to_sym_matrix
reshapes vectors to symmetric matrices. It acts as the reverse of functionsym_matrix_to_vec
.Add an option allowing to vectorize connectivity matrices returned by the
transform
method of classConnectivityMeasure
.Class
ConnectivityMeasure
now exposes aninverse_transform
method, useful for going back from vectorized connectivity coefficients to connectivity matrices. Also, it allows to recover the covariance matrices for the “tangent” kind.Reworking and renaming of connectivity measures example. Renamed from
plot_connectivity_measures
toplot_group_level_connectivity
.Tighter bounding boxes when using
add_contours
for plotting.Function
largest_connected_component_img
to directly extract the largest connected component fromNifti1Image
.Improvements in plotting, decoding and functional connectivity examples.
0.3.0#
Released April 2017
In addition, more details of this release are listed below. Please checkout in 0.3.0 beta release section for minimum version support of dependencies, latest updates, highlights, changelog and enhancements.
Changes#
Function
find_cut_slices
now supports to acceptNifti1Image
as an input for argumentimg
.Helper functions
_get_mask_volume
and_adjust_screening_percentile
are now moved toparam_validation
file in utilities module to be used in common with Decoder object.
Fixes#
Fix bug uncompressing tar files with datasets fetcher.
Fixed bunch of CircleCI documentation build failures.
Fixed deprecations
set_axis_bgcolor
related to matplotlib in plotting functions.Fixed bug related to not accepting a list of arrays as an input to unmask, in
nilearn.masking
module.
Enhancements#
0.3.0 beta#
Released February 2017
To install the beta version, use:
pip install --upgrade --pre nilearn
Highlights#
Simple surface plotting.
A function to break a parcellation into its connected components.
Dropped support for scikit-learn older than 0.14.1 Minimum supported version is now
0.14.1
.Dropped support for Python 2.6
Minimum required version of
NiBabel
is now1.2.0
, to support loading annotated data with freesurfer.
Changes#
A helper function
_safe_get_data
as a nilearn utility now safely removesNaN
values in the images with argumentensure_finite=True
.Functions
cov_to_corr
andprec_to_partial
can now be used.
Fixes#
Fix colormap issue with
colorbar=True
when using qualitative colormaps. Fixed in according with changes ofmatplotlib 2.0
fixes.Fix plotting functions to work with
NaN
values in the images.Fix bug related get
dtype
of the images withnibabel get_data()
.Fix bug in function
clean_img
.
Enhancements#
New function
connected_label_regions
to extract the connected components represented as same label to regions apart with each region labelled as unique label.New plotting modules for surface plotting visualization.
Matplotlib
with version higher1.3.1
is required for plotting surface data using these functions.Function
plot_surf
can be used for plotting surfaces mesh data with optional background.Function
plot_surf_stat_map
can be used for plotting statistical maps on a brain surface with optional background.Function
plot_surf_roi
can be used for plotting statistical maps rois onto brain surface.Function
nilearn.datasets.fetch_surf_fsaverage5
can be used for surface data object to be as background map for the above plotting functions.New function
fetch_atlas_surf_destrieux
can give you Destrieux et. al 2010 cortical atlas infsaverage5
surface space.New function
fetch_surf_nki_enhanced
gives you resting state data preprocessed and projected tofsaverage5
surface space.Two good examples in plotting gallery shows how to fetch atlas and NKI data and used for plotting on brain surface.
New function
load_surf_mesh
insurf_plotting
module for loading surface mesh data into two arrays, containing(x, y, z)
coordinates for mesh vertices and indices of mesh faces.New function
load_surf_data
insurf_plotting
module for loading data of numpy array to represented on a surface mesh.Add fetcher for Allen et al. 2011 RSN atlas in
fetch_atlas_allen_2011
.Function
nilearn.datasets.fetch_cobre
is now updated to new light release of COBRE data (schizophrenia).A new example to show how to extract regions on labels image in example section manipulating images.
coveralls
is replaced withcodecov
.Upgraded to
Sphinx
version0.1.7
.Extensive plotting example shows how to use contours and filled contours on glass brain.
0.2.6#
Released September 2016
This release enhances usage of several functions by fine tuning their parameters.
It allows to select which Haxby subject to fetch.
It also refactors documentation to make it easier to understand.
Sphinx-gallery
has been updated and nilearn is ready for new nibabel 2.1
version.
Several bugs related to masks in Searchlight and ABIDE fetching have been resolved.
Fixes#
Change default
dtype
in functionconcat_imgs
to be the original type of the data (see #1238).Fix
SearchLight
that did not run withoutprocess_mask
or with one voxel mask.Fix flipping of left hemisphere when plotting glass brain.
Fix bug when downloading ABIDE timeseries.
Enhancements#
Sphinx-gallery
updated to version0.1.3
.Refactoring of examples and documentation.
Better ordering of regions in function
fetch_coords_dosenbach_2010
.Remove outdated power atlas example.
Changes#
The parameter
n_subjects
is deprecated and will be removed in future release. Usesubjects
instead in functionfetch_haxby
.The function
fetch_haxby
will now fetch the data accepting input given insubjects
as a list than integer.Replace
get_affine
byaffine
with recent versions ofnibabel
.
0.2.5.1#
Released August 2016
This is a bugfix release.
The new minimum required version of scikit-learn
is 0.14.1
.
Changes#
Default option for
dim
argument in plotting functions which uses MNI template as a background image is now changed to ‘auto’ mode. Meaning that an automatic contrast setting on background image is applied by default.Scikit-learn
validation tools have been imported and are now used to check consistency of input data, in SpaceNet for example.
New#
Add an option to select only off-diagonal elements in function
sym_to_vec
. Also, the scaling of matrices is modified: we divide the diagonal bysqrt(2)
instead of multiplying the off-diagonal elements.Connectivity examples rely on
ConnectivityMeasure
.
Fixes#
Scipy 0.18
introduces a bug in a corner-case of resampling. Nilearn0.2.5
can give wrong results withscipy 0.18
, but this is fixed in0.2.6
.Broken links and references fixed in docs.
0.2.5#
Released June 2016
The 0.2.5
release includes plotting for connectomes and glass brain with
hemisphere-specific projection, as well as more didactic examples and
improved documentation.
New#
New display_mode options in functions
plot_glass_brain
andplot_connectome
. It is possible to plot right and left hemisphere projections separately.New function
load_mni152_brain_mask
to load canonical brain mask image in MNI template space.New function
fetch_icbm152_brain_gm_mask
to load brain grey matter mask image.New function
load_img
loads data from a filename or a list of filenames.New function
clean_img
applies the cleaning functionclean
on all voxels.New simple data downloader
fetch_localizer_button_task
to simplify some examples.Function
fetch_localizer_contrasts
can now download a specific list of subjects rather than a range of subjects.New function
get_data_dirs
to check where nilearn downloads data.
Contributors#
Contributors (from git shortlog -ns 0.2.4..0.2.5
):
Gael Varoquaux (55)
Alexandre Abraham (39)
Martin Perez-Guevara (26)
Amadeus Kanaan (8)
Alexandre Abadie (3)
Arthur Mensch (3)
Elvis Dohmatob (3)
Loic Estève (3)
Jerome Dockes (2)
Alexandre M. S (1)
Bertrand Thirion (1)
Ivan Gonzalez (1)
Roberto Guidotti (1)
0.2.4#
Released April 2016
The 0.2.4
is a small release focused on documentation for teaching.
New#
The path given to the
memory
argument of object now have their “~” expanded to the homedir.Display object created by plotting now uniformly expose an
add_markers
method.Function
plot_connectome
now plots connectome with colorbars.New function
resample_to_img
to resample one image on another one (just resampling / interpolation, no coregistration).
Changes#
Atlas fetcher
fetch_atlas_msdl
now returns directly labels of the regions in output variablelabels
and its coordinates in output variableregion_coords
and its type of network innetworks
.The output variable name
regions
is now changed tomaps
in AAL atlas fetcherfetch_atlas_aal
.AAL atlas now returns directly its labels in variable
labels
and its index values in variableindices
.
0.2.3#
Released February 2016
Changelog#
The 0.2.3
is a small feature release for BrainHack 2016.
New features#
Mathematical formulas based on
numpy
functions can be applied on an image or a list of images using functionmath_img
.Downloader for COBRE datasets of 146 rest fMRI subjects with function
nilearn.datasets.fetch_cobre
.Downloader for Dosenbach atlas
fetch_coords_dosenbach_2010
.Fetcher for multiscale functional brain parcellations (BASC)
fetch_atlas_basc_multiscale_2015
.
Bug fixes#
Better dimming on white background for plotting.
0.2.2#
Released February 2016
The 0.2.2
is a bugfix + dependency update release (for sphinx-gallery
).
It aims at preparing a renewal of the tutorials.
New#
Fetcher for Megatrawl Netmats dataset.
Enhancements#
Flake8 is now run on pull requests.
Reworking of the documentation organization.
Sphinx-gallery
updated to version0.1.1
.The default
n_subjects=None
in functionfetch_adhd
is now changed ton_subjects=30
.
Fixes#
Fix
symmetric_split
behavior in functionfetch_atlas_harvard_oxford
.Fix casting errors when providing integer data to function
high_variance_confounds
.Fix matplotlib
1.5.0
compatibility in functionplot_prob_atlas
.Fix matplotlib backend choice on Mac OS X.
Function
find_xyz_cut_coords
raises a meaningful error when 4D data is provided instead of 3D.Class
NiftiSpheresMasker
handles radius smaller than the size of a voxel.Class
RegionExtractor
handles data containingNans
.Confound regression does not force systematically the normalization of the confounds.
Force time series normalization in
ConnectivityMeasure
and check dimensionality of the input.Function
nilearn._utils.numpy_conversions.csv_to_array
could consider valid CSV files as invalid.
Changes#
Deprecated dataset downloading function have been removed.
Download progression message refreshing rate has been lowered to sparsify CircleCI logs.
Contributors#
Contributors (from git shortlog -ns 0.2.1..0.2.2
):
Alexandre Abraham (22)
Loic Estève (21)
Gael Varoquaux (19)
Alexandre Abadie (12)
Salma Bougacha (7)
Danilo Bzdok (3)
Arthur Mensch (1)
Ben Cipollini (1)
Elvis Dohmatob (1)
Óscar Nájera (1)
0.2.1#
Released December 2015
Changelog#
Small bugfix for more flexible input types (targetter in particular at making code easier in nistats).
0.2.0#
Released December 2015
Changelog#
Warning
The new minimum required version of scikit-learn is 0.13
.
New features#
The new module
nilearn.connectome
now has classnilearn.connectome.ConnectivityMeasure
can be useful for computing functional connectivity matrices.The function
nilearn.connectome.sym_to_vec
in same modulenilearn.connectome
is also implemented as a helper function to classnilearn.connectome.ConnectivityMeasure
.The class
decomposition.DictLearning
innilearn.decomposition
is a decomposition method similar to ICA that imposes sparsity on components instead of independence between them.Integrating back references template from
sphinx-gallery
of0.0.11
version release.Globbing expressions can now be used in all nilearn functions expecting a list of files.
The new module
nilearn.regions
now has classregions.RegionExtractor
which can be used for post processing brain regions of interest extraction.The function
connected_regions
innilearn.regions
is also implemented as a helper function toregions.RegionExtractor
.The function
threshold_img
innilearn.image
is implemented to use it for thresholding statistical maps.
Enhancements#
Making website a bit elaborated & modernise by using
sphinx-gallery
.Documentation enhancement by integrating
sphinx-gallery
notebook style examples.Documentation about class
maskers.NiftiSpheresMasker
.
Bug fixes#
Fixed bug to control the behaviour when
cut_coords=0
in functionplot_stat_map
innilearn.plotting
(See #784).Fixed bug in function
copy_img
occurred while caching the Nifti images (See #793).Fixed bug causing an
IndexError
infast_abs_percentile
(See #875).
API changes summary#
The utilities in function
group_sparse_covariance
have been moved into modulenilearn.connectome
.The default value for number of cuts (
n_cuts
) in functionfind_cut_slices
innilearn.plotting
module has been changed from 12 to 7 i.e.n_cuts=7
.
Contributors#
Contributors (from git shortlog -ns 0.1.4..0.2.0
):
Elvis Dohmatob (822)
Gael Varoquaux (142)
Alexandre Abraham (119)
Loic Estève (90)
Alexandre Abadie (65)
Chris Gorgolewski (43)
Salma Bougacha (39)
Danilo Bzdok (29)
Martin Perez-Guevara (20)
Mehdi Rahim (19)
Óscar Nájera (19)
Arthur Mensch (8)
Ben Cipollini (8)
Julia Huntenburg (4)
Michael Hanke (2)
Ariel Rokem (2)
Bertrand Thirion (1)
0.1.4#
Released July 2015
Highlights#
New class
nilearn.maskers.NiftiSpheresMasker
which extracts signals from balls specified by their coordinates.Obey Debian packaging rules.
Add the Destrieux 2009 and Power 2011 atlas.
Better caching in maskers.
Contributors (from git shortlog -ns 0.1.3..0.1.4
):
Alexandre Abraham (141)
Gael Varoquaux (15)
Loic Estève (10)
Arthur Mensch (2)
Danilo Bzdok (2)
Michael Hanke (2)
Mehdi Rahim (1)
0.1.3#
Released May 2015
Changelog#
The 0.1.3
release is a bugfix release that fixes a lot of minor bugs.
It also includes a full rewamp of the documentation, and support for Python 3.
Warning
Minimum version of supported packages are now:
numpy -- 1.6.1
scipy -- 0.9.0
scikit-learn -- 0.12.1
Matplotlib -- 1.1.1
(optional)
Fixes#
Dealing with
NaNs
in functionplot_connectome
.Fix extreme values in colorbar were sometimes brok.
Fix confounds removal with single confounds.
Fix frequency filtering.
Keep header information in images.
add_overlay
findsvmin
andvmax
automatically.Function
plot_connectome
now supportsvmin
andvmax
.Detrending 3D images no longer puts them to zero.
Contributors (from git shortlog -ns 0.1.2..0.1.3
):
Alexandre Abraham (129)
Loic Estève (67)
Gael Varoquaux (57)
Ben Cipollini (44)
Danilo Bzdok (37)
Elvis Dohmatob (20)
Óscar Nájera (14)
Salma Bougacha (9)
Bertrand Thirion (1)
0.1.2#
Released March 2015
Changelog#
The 0.1.2
release is a bugfix release, specifically to fix the NiftiMapsMasker
.
0.1.1#
Released February 2015
Changelog#
The main change compared to 0.1.0
is the addition of connectome plotting
via the function plot_connectome
.
See the plotting documentation for more details.
Contributors (from git shortlog -ns 0.1..0.1.1
):
Loic Estève (81)
Alexandre Abraham (18)
Danilo Bzdok (18)
Ben Cipollini (14)
Gael Varoquaux (2)
0.1.0#
Released February 2015
Changelog#
First release of nilearn.
Contributors (from git shortlog -ns 0.1
):
Gael Varoquaux (600)
Alexandre Abraham (483)
Loic Estève (302)
Philippe Gervais (254)
Virgile Fritsch (122)
Michael Eickenberg (83)
Jean Kossaifi (59)
Jaques Grobler (57)
Danilo Bzdok (46)
Chris Gorgolewski (35)
Ronald Phlypo (28)
Ben Cipollini (25)
Bertrand Thirion (15)
Alexandre Gramfort (13)
Fabian Pedregosa (12)
Yannick Schwartz (11)
Mehdi Rahim (9)
Óscar Nájera (7)
Elvis Dohmatob (6)
Jason Gors (3)
Salma Bougacha (3)
Alexandre Savio (1)
Jan Margeta (1)
Matthias Ekman (1)
Michael Waskom (1)
Vincent Michel (1)