Skip to content

Releases: nilearn/nilearn

0.11.0

02 Dec 12:17
04be71f
Compare
Choose a tag to compare

Released November 2024

List of pull requests

  • [MAINT] Post release 0.10.4 by @Remi-Gau in #4366
  • [MAINT] clean up makefiles and allow color in CLI in github workflows by @Remi-Gau in #4370
  • [DOC] update release procotol by @Remi-Gau in #4371
  • Change "resting state" to "movie watching" in compare means example by @man-shu in #4373
  • [DOC] Mention in style guide the meaning of trailing underscore for attributes by @Remi-Gau in #4374
  • [REF] Refactor CSS and html masker reports by @Remi-Gau in #4372
  • [BOT] update pre-commit hooks by @github-actions in #4381
  • [FIX] skip problematic plotting in doc build by @Remi-Gau in #4383
  • [ENH] enhance save_glm_to_bids outputs by @Remi-Gau in #4375
  • [MAINT] change schedule of GH workflows by @Remi-Gau in #4386
  • [MAINT] monitor duration of doc build by @Remi-Gau in #4387
  • [MAINT] pre-download data on full doc build by @Remi-Gau in #4390
  • [FIX] fix flake8 bugbear errors by @Remi-Gau in #4384
  • [MAINT] improve workflow to test on nightly dependencies by @Remi-Gau in #4364
  • [MAINT] update precommit configuration by @Remi-Gau in #4391
  • [MAINT] update parameters for scipy.sparse.linalg.cg by @Remi-Gau in #4394
  • [FIX] remove, implement or better document "unused" arguments by @Remi-Gau in #4273
  • [MAINT] Update circle-ci trigger-hosting by @Remi-Gau in #4402
  • [REF] refactor style checks in CI by @Remi-Gau in #4406
  • [MAINT] test on several macos versions by @Remi-Gau in #4405
  • [DOC] Fix typos found by codespell by @DimitriPapadopoulos in #4410
  • FIX failing load_confound test related to standardisation by @htwangtw in #4411
  • add width input to view_img() by @alexsayal in #4416
  • [BOT] update AUTHORS.rst and doc/changes/names.rst by @github-actions in #4418
  • [FIX] Raise error if unknown kwargs are given to first_level_from_bids by @michellewang in #4414
  • [FIX] Refactor design matrix and contrast formula for the two-sample T-test example by @YCHuang0610 in #4407
  • [BOT] update AUTHORS.rst and doc/changes/names.rst by @github-actions in #4422
  • [MAINT] only on use macOS-latest by @Remi-Gau in #4424
  • [MAINT] pacify codepspell by @Remi-Gau in #4430
  • [ENH] add plotting functions to the experimental surface module by @jeromedockes in #4235
  • [ENH] Adapt FirstLevelModel to work with surface data objects from new API by @ymzayek in #4126
  • Copy input image header to the output by default by @man-shu in #4397
  • Example to demonstrate copy_header_from in math_img by @man-shu in #4392
  • [STY] apply black to files no longer invovled in other pull requests by @Remi-Gau in #4433
  • [ENH] Add warning for future change of the default of force_resample to True by @ajoshiusc in #4412
  • [MAINT] remove some try/except on imports by @Remi-Gau in #4440
  • [ENH] add footer to all masker reports by @Remi-Gau in #4307
  • [ENH] expand surface plotting with new surface object by @Remi-Gau in #4431
  • [ENH] update example to show parametric modulation by @Remi-Gau in #4436
  • [MAINT] add force_resample where missing by @Remi-Gau in #4441
  • [DOC] add ...CV in logistic estimator name by @man-shu in #4438
  • [BOT] update pre-commit hooks by @github-actions in #4447
  • [REF] add force_resample default to cached calls by @Remi-Gau in #4450
  • [ENH] add report for SurfaceMasker by @Remi-Gau in #4432
  • [MAINT] remove duplicate code by @Remi-Gau in #4449
  • [DOC] Fix deploy doc on main by @Remi-Gau in #4455
  • [REF] minor refactor of get_cmap and matplotlib version-handling by @Remi-Gau in #4458
  • [REF] refactor report templates by @Remi-Gau in #4460
  • [FIX] throw warning a masker generate_report is called without matplotlib by @Remi-Gau in #4457
  • [FIX] use string as label names in example involving the new surface based destrieux atlas by @Remi-Gau in #4462
  • [REF] refactor FLM fitting by @Remi-Gau in #4461
  • [MAINT] for monitoring of duration of CI only plot doc build on main (full builds) by @Remi-Gau in #4463
  • [MAINT] rename tr variable - private occurences by @Remi-Gau in #4468
  • [ENH] Replace tr by t_r in HRF generating functions and examples by @Remi-Gau in #4470
  • [FIX] pacify ruff warning about numpy 2 by @Remi-Gau in #4477
  • [FIX] coerce loaded data from NKI to float in examples by @Remi-Gau in #4475
  • [ENH] add function to plot regressor correlation matrix by @Remi-Gau in #4467
  • [ENH] use nilearn logger.log function instead of print or sys.stderr.write by @Remi-Gau in #4469
  • [FIX] change creation of region_names and add test by @mtorabi59 in #4360
  • [FIX] fix trigger hosting of doc of PR on circle-ci by @Remi-Gau in #4481
  • [FIX] Change default ratio value in glover to fit canonical Glover HRF (1999) by @const7 in #4452
  • Update second_level.py by @arovai in #4483
  • [MAINT] use pytest-reporter-html1 to create test reports by @Remi-Gau in #4444
  • Revert "[MAINT] use pytest-reporter-html1 to create test reports" by @Remi-Gau in #4485
  • [BOT] update pre-commit hooks by @github-actions in #4487
  • [FIX] host doc from PR on Circle-CI by @Remi-Gau in #4494
  • Explain Decoder's default cross-validation scheme by @man-shu in #4491
  • Change default clustering_percentile in _BaseDecoder docstring by @man-shu in #4489
  • [BOT] update pre-commit hooks by @github-actions in #4499
  • [DOC] Small correction on instructions for setting up environment by @kimsin98 in #4459
  • [API] renamed ax parameter for consistency by @muddi900 in #4476
  • [BOT] update AUTHORS.rst and doc/changes/names.rst by @github-actions in #4504
  • [FIX] Reduce dtype of mask from int64 to int8 in image.binarize_img by @psadil in #4502
  • [FIX] force np.float64 format for second level matrix dataframe by @Remi-Gau in #4503
  • [MAINT] Finish adding tests for _utils.data_gen by @kimsin98 in #4465
  • [REF] refactor nibabel import by @Remi-Gau in #4506
  • [ENH] improve I/O for SurfaceImage by @Remi-Gau in #4446
  • [FIX] revert save analyze for SPM auditory data by @Remi-Gau in #4508
  • [MAINT] use pytest-reporter-html1 to create test reports by @Remi-Gau in #4486
  • [BOT] update pre-commit hooks by @github-actions in #4514
  • [ENH] Change Butterworth filtering in nilearn.signal.clean to use 'sos' output by @Remi-Gau in #4510
  • [STY] apply black to remaining example by @Remi-Gau in #4518
  • [STY] apply black to remaining files in plotting subpackage by @Remi-Gau in #4520
  • [STY] apply black to surface subpackage by @Remi-Gau in #4519
  • [REF] remove obsolete try import by @Remi-Gau in #4528
  • [MAINT] Handle 2 numpy and matplolib deprecation warnings by @Remi-Gau in #4522
  • [MAINT] raise stacklevel of copy_header warning ...
Read more

0.10.4

09 Apr 09:15
4f47301
Compare
Choose a tag to compare

Released April 2024

HIGHLIGHTS

  • Use the appropriate HTML templates for nilearn.maskers.MultiNiftiMapsMasker and nilearn.maskers.MultiNiftiLabelsMasker reports that would lead to empty reports for MultiNiftiMapsMasker (#4310 by Rémi Gau).

  • Fix color bar handling with color map with only 1 level (#4255 by Rémi Gau).

  • Improve colorbar size and labels in mosaic display (#4284 by Rémi Gau).

  • Remove unused **kwargs from nilearn.plotting.view_img and nilearn.plotting.plot_surf (#4270 by Rémi Gau).

Fixes

  • Fix plotting of carpet plot due to a change in the coming version of matplolib (3.9.0) (#4279 by Rémi Gau).

  • Fix errant warning when using stat_type in nilearn.glm.compute_contrast (#4257 by Eric Larson).

  • Fix when thresholding is applied to images by GLM reports (#4258 by Rémi Gau).

  • Use the appropriate HTML templates for nilearn.maskers.MultiNiftiMapsMasker and nilearn.maskers.MultiNiftiLabelsMasker reports that would lead to empty reports for MultiNiftiMapsMasker (#4310 by Rémi Gau).

  • Make masker report tables horizontally scrollable (#4308 by Rémi Gau).-

  • Masker reports tables do not overlap with report image (#4308 by Rémi Gau).

  • Fix color bar handling with color map with only 1 level (#4255 by Rémi Gau).

  • Ensure that region_names_ can be generated by nilearn.maskers.NiftiSpheresMasker.transform_single_imgs for deterministic atlases that use floats or non-consecutive values as region_ids whether they include background in their labels or not (#4274 by Rémi Gau).

  • Ensure that nilearn.interfaces.bids.save_glm_to_bids serializes numpy arrays to list used as GLM parameters before saving them to JSON (#4325 by Rémi Gau).

  • Check that the view parameter in surface plotting functions is a pair of int or float when it is not a string (#4297 by Rémi Gau).

  • Fix positions of the markers on the images on the sphere masker reports (#4285 by Rémi Gau).

  • Fix cut position in nifti maps maskers to match displayed map maximum (#4304 by Rémi Gau).

  • Make sure that nilearn.maskers.NiftiSpheresMasker reports displays properly when it contains only 1 sphere (#4269 by Rémi Gau).

  • Miscellaneous fixes in GLM reports (only display FIR delay if FIR is used, display color bar “Z score” legend…) (#4266 by Rémi Gau).

  • Fix minor typos in documentation (glossary and connectivity/parcellating) (#4343 by Florent Pollet).

  • Update minor information on the Code of Conduct page (#4318 and #4320 by Himanshu Aggarwal).

Enhancements

  • Add an avg_method parameter to nilearn.plotting.plot_surf_stat_map (#4298 by Rémi Gau).

  • Advertise nilearn’s in built globbing capability in an example (#4334 by Himanshu Aggarwal).

Changes

  • Throw warnings when passing parameters to surface plotting functions that are not used by the plotly engine (#4298 by Rémi Gau).

  • Improve colorbar size and labels in mosaic display (#4284 by Rémi Gau).

  • Change the colormap to gray for the background image in the nilearn.maskers.NiftiSpheresMasker (#4269 by Rémi Gau).

  • Remove unused **kwargs from nilearn.plotting.view_img and nilearn.plotting.plot_surf (#4270 by Rémi Gau).

  • Use red to blue color map in the GLM reports (#4266 by Rémi Gau).

  • nilearn.maskers.NiftiSpheresMasker will throw warnings if the labels passed to it is not a list of str, or if the number of items in the list of labels does not match the number of regions in the label image (#4274 by Rémi Gau).

  • Copy headers from user-specified image to the result of nilearn.image.math_img (#4337 by Himanshu Aggarwal).

  • Render the description of the templates, atlases and datasets of the nilearn.datasets as part of the documentation (#4232 by Rémi Gau).

  • Render examples of GLM and masker reports as part of the documentation (#4267 and #4295 by Rémi Gau).

  • HTML, CSS are now linted using prettier. (#4302, by Rémi Gau).

List of pull requests

Read more

0.10.3

29 Jan 09:22
a950195
Compare
Choose a tag to compare

Released January 2024

HIGHLIGHTS

Warning

Support for python 3.7 has been dropped. We recommend moving to python >= 3.11.

Minimum supported versions of packages have been bumped up:

  • Numpy – v1.19.0
  • SciPy – v1.8.0
  • Scikit-learn – v1.0.0
  • Nibabel – v4.0.0
  • Pandas – v1.1.5
  • Joblib – v1.0.0

NEW

  • The temp_file_lifetime parameter of interactive plots’ open_in_browser method is deprecated and has no effect (#4180 by Jerome Dockes)..

Fixes

Enhancements

Read more

0.10.2

01 Oct 19:30
960589c
Compare
Choose a tag to compare

Released September 2023

HIGHLIGHTS

  • Volume plotting functions like plotting.plot_img now have an optional radiological parameter, defaulting to False. If True, this will invert the x-axis and L and R annotations to confirm to radiological conventional view..
  • Update Decoder objects to use the more efficient LogisticRegressionCV.
  • Add LassoCV as a new estimator option for Decoder objects
  • Add vmin and symmetric_cbar arguments to nilearn.plotting.plot_img_on_surf.
  • Improve contrasts allowing fixed effects on F contrasts
  • New experimental surface API to facilitate working with surface data in downstream surface-based analyses. We provide this API as a nilearn.experimental.surface module as it is still incomplete and subject to change without a deprecation cycle..

NEW

  • Volume plotting functions like plotting.plot_img now have an optional radiological parameter, defaulting to False. If True, this will invert the x-axis and L and R annotations to confirm to radiological conventional view..
  • New experimental surface API to facilitate working with surface data in downstream surface-based analyses. We provide this API as a nilearn.experimental.surface module as it is still incomplete and subject to change without a deprecation cycle..

Fixes

  • Fix bug in method transform_imgs of maskers.MultiNiftiMapsMasker and maskers.MultiNiftiLabelsMasker that would raise an error if a list of sample_mask was specified to fit_transform.
  • Fix bug in nilearn.plotting.surf_plotting._plot_surf_matplotlib that would make vertices transparent when saving in PDF or SVG format.
  • Fix bug that would prevent using symmetric_cmap=True or the avg_method argument with plotting.plot_surf_roi.
  • Fixes a bug that would lead to an error when loading a fsaverage surface while relying on numpy >= 1.24.x.
  • Fix bug that would prevent loading the confounds of a gifti file in actual fmriprep datasets.
  • Fix bug that prevented using dataframes as input for second level GLM when computing contrasts.
  • Fix bug in glm.first_level.first_level_from_bids that returned no confound files if the corresponding bold files contained derivatives BIDS entities.
  • Fix bug in glm.first_level.first_level_from_bids that would throw a warning about slice_time_ref not being provided even when it was.
  • Fix bug where the cv_params_ attribute of fitter Decoder objects sometimes had missing entries if grid_param is a sequence of dicts with different keys.
  • Make the nilearn.interfaces.fmriprep.load_confounds confounds file selection more generic.
  • Change default figure sizes to prevent titles from overlapping figure content
  • Relax the nilearn.interfaces.fmriprep.load_confounds confounds selection on cosine as not all confound files contained the variables.
  • Fix pathlib.Path not being counted as Niimg-like object in image.new_img_like.
  • Fix fit_transform behavior to match when fit method is passed image data
  • Allow using both vmin and threshold with "plotly" engine to be consistent with "matplotlib" behavior
  • Set edgecolors to be the same as facecolors in plotting.plot_surf_contours so that ROI contours are rendered clearly
  • Refactor deprecation of behavior of datasets.fetch_atlas_craddock_2012, datasets.fetch_atlas_smith_2009 and datasets.fetch_atlas_basc_multiscale_2015 fetchers including using API consistent maps key

Enhancements

  • Add cross-reference links to type definitions in public surface functions.
  • Update Decoder objects to use the more efficient LogisticRegressionCV.
  • Throw warning in glm.first_level.first_level_from_bids when using event.tsv files with no trial type column.
  • Make return key names in the description file of destrieux surface consistent with datasets.fetch_atlas_surf_destrieux.
  • Add LassoCV as a new estimator option for Decoder objects
  • Add vmin and symmetric_cbar arguments to nilearn.plotting.plot_img_on_surf.
  • Improve generate_report method of maskers by allowing users to pass a cmap argument for plotting image
  • Improve contrasts allowing fixed effects on F contrasts

Changes

  • Validate the content of events files before plotting them.
  • nilearn.glm.first_level.experimental_paradigm.check_events will now throw a warning if some events have a 0 second duration and will throw an error if an event has NaN onset or duration.
  • Removed old files and test code from deprecated datasets COBRE and NYU resting state.
  • PEP8 and isort compliance extended to the whole nilearn codebase..
  • Finish applying black formatting to most of the codebase..
  • Empty region signals resulting from applying mask_img in maskers.NiftiLabelsMasker will no longer be kept in release 0.15. Meanwhile, use keep_masked_labels parameter when initializing the maskers.NiftiLabelsMasker object to enable/disable this behavior..
  • Empty region signals resulting from applying mask_img in maskers.NiftiMapsMasker will no longer be kept in release 0.15. Meanwhile, use keep_masked_maps parameter when initializing the maskers.NiftiMapsMasker object to enable/disable this behavior..
  • Removed mention of license in "header".
  • Configure plots in example gallery for better rendering
  • Make one_mesh_info and full_brain_info into private functions _one_mesh_info and _full_brain_info
  • Refactor error raising tests using context managers
  • Added warning to deprecate darkness in surf_plotting._compute_facecolors_matplotlib and html_surface._get_vertexcolor
  • Replace skipped doctests with default code-blocks
  • Move the ~nilearn.plotting.html_surface._mix_colormaps to cm.py in nilearn.plotting
  • Remove deprecation decorator from ~nilearn.glm.regression
  • Expose standardize in plotting.plot_carpet and connectome.ConnectivityMeasure to handle "zscore" deprecation.
  • Example :ref:sphx_glr_auto_examples_01_plotting_plot_prob_atlas.py is shortened to speed up build time

List of pull requests

  • Post release 0.10.1 by @ymzayek in #3730
  • [MAINT] Format nilearn/plotting: apply isort and fix flake8 errors by @Remi-Gau in #3648
  • [BOT] update pre-commit hooks by @github-actions in #3731
  • [BOT] update pre-commit hooks by @github-actions in #3734
  • [FIX] Missing values in Decoder.cv_params_ when param_grid is a list of dicts with different keys by @michellewang in #3733
  • Correcting typo in the "load_confounds_strategy" function ("scrubbing") by @jonasmago in #3738
  • [DOC] Fix broken doc build by @ymzayek in #3744
  • [MAINT] Clean up remaining files from deprecated datasets (cobre, nyu) by @michellewang in #3743
  • [ENH] Use LogisticRegressionCV instead of LogisticRegression to improve Decoder performance by @michellewang in #3736
  • [FIX] Fix tests failing due to deprecations in pre-release dependencies by @ymzayek in #3746
  • [INFRA] Add timeout setting in Azure Pipelines CI by @ymzayek in #3747
  • [BOT] update pre-commit hooks by @github-actions in #3748
  • add more info to adhd example by @mtorabi59 in #3739
  • [MAINT] improve test coverage BaseMasker by @Remi-Gau in #3721
  • [MAINT] refactor nilearn/maskers (sourcery, f-strings) by @Remi-Gau in #3685
  • [MAINT] avoid creating files during testing: test_infer_effect_maps by @Remi-Gau in #3716
  • [MAINT] Catch warnings as errors on partial doc builds by @ymzayek in #3749
  • [FIX] force ordered output of _sanitize_reorder to match regex in test by @Remi-Gau in #3751
  • [MAINT] run isort and flake8 on the whole nilearn code base in CI by @Remi-Gau in #3651
  • [FIX] find confounds even when BIDS derivatives bold files contain res or den entities by @Remi-Gau in #3742
  • [BOT] update pre-commit hooks by @github-actions in #3764
  • [DOC] update changelog and git blame ignore by @Remi-Gau in #3755
  • [FIX] Change error string to match scikit-learn InvalidParameterError message by @ymzayek in #3763
  • [MAINT] relax regex for warning on sanitize reorder error by @Remi-Gau in #3766
  • [DOC] fix duplicate entry in examples dropdown by @Remi-Gau in #3760
  • [MAINT] refactor nilearn/datasets (sourcery, f-strings) by @Remi-Gau in #3727
  • [MAINT] add workflow to check for f strings by @Remi-Gau in #3759
  • [DOC] Remove license and hide authors in examples by @Remi-Gau in #3765
  • [MAINT] refactor nilearn/plotting (f-strings) by @Remi-Gau in #3757
  • [MAINT] remove test install with python 2.7 workflow by @Remi-Gau in #3768
  • [REF] fix f strings by @Remi-Gau in #3770
  • [ENH][DOC] Fix inconsistent description of return keys for fetch_atlas_surf_destrieux by @tarunsamanta2k20 in https://git...
Read more

Release 0.10.1

28 Apr 09:19
3214944
Compare
Choose a tag to compare
Release 0.10.1 (#3724)

* update changelog version

* Fix some changelog entries

* Rename changelog file for release

* Add badges

* Add release month

* Remove dev tag in directives

* Fix sphinx docstring userwarning

* [full doc] Request full build

Release 0.10.1rc1

28 Feb 09:55
aa480ce
Compare
Choose a tag to compare
Release 0.10.1rc1 Pre-release
Pre-release
Pre-release 0.10.1rc1 (#3536)

* REL 0.10.1rc1

* Set version marker

* Modify changelog

Release 0.10.0

06 Jan 13:49
9c29e33
Compare
Choose a tag to compare
Release 0.10.0 (#3454)

Release 0.9.2

24 Aug 11:32
98a3ee0
Compare
Choose a tag to compare
Release 0.9.2 (#3348)

Release 0.9.1

13 Apr 13:12
9ddfa72
Compare
Choose a tag to compare
Release `0.9.1` (#3219)

* REL 0.9.1

* formatting

Release 0.9.0

28 Jan 17:36
72e810f
Compare
Choose a tag to compare
Release `0.9.0` (#3147)

* 0.8.2 -> 0.9.0

* add python 3.10 to setup.py

* add some recent contributors

* [circle full] reformat changelog for 0.9.0

* [circle full] add highlights and improve formatting for 0.9.0

* fix ref

* update news

* [circle full] bump version number

* update changelog for 0.9.0

* [circle full] clean latest changelog