Comments (8)
After discussion with Philippe, we find much more consistant to ignore masker
parameters given to MultiPCA in this case (if the user gives us a masker, we
assume that he knows what he's doing).
I'd rather have it the other way: explicit is better than implicit.
from nilearn.
Reverted.
from nilearn.
My thoughts on this.
MultiPCA needs a mask for its computations. The user can provide it or let the object compute it from data. The latter situation can be handled in two ways: either by providing a masker object, or by providing the options taken by the masker object (and let MultiPCA create one). What the user would write is respectively (in extremely simplified form, for the purpose of the example):
MultiPCA(smoothing_fwhm=2)
or
masker = MultiNiftiMasker(smoothing_fwhm=2)
MultiPCA(mask=masker)
The second situation being useful when the same masker (not mask) is to be reused in different places.
The question raised in this issue is what should happen in this situation:
masker = MultiNiftiMasker(smoothing_fwhm=2)
MultiPCA(mask=masker, smoothing_fwhm=3)
What I think after talking with Alexandre is that this situation must not happen: this is an error. The Python langage prevents a keyword argument from being provided twice. Let's do the same. The present example is a conflict, which is ambiguous. Giving priority to either value (that in masker or that provided to MultiPCA itself) is implicit in all cases.
from nilearn.
For the moment, if we are in such a case, the value of the MultiPCA is taken and we raise a warning. If it's OK, then we can close this issue.
from nilearn.
For the moment, if we are in such a case, the value of the MultiPCA is taken
and we raise a warning.
I am not sure what your sentence mean.
from nilearn.
if there is a conflict between the parameters of the MultiNiftiMasker and of the MultiPCA, the parameters of the MultiPCA are kept and a warning message tell the user that parameters of the masker were overridden
from nilearn.
if there is a conflict between the parameters of the MultiNiftiMasker and of
the MultiPCA, the parameters of the MultiPCA are kept and a warning message
tell the user that parameters of the masker were overridden
All good!
from nilearn.
OK, I close this issue then.
from nilearn.
Related Issues (20)
- [DOC] Use code blocks instead of doctests for rst files in `doc`
- add a logger to "first_level_from_bids" HOT 3
- [BUG] Broken link on Nilearn website HOT 1
- extract dataset IDs in separate functions HOT 1
- Add link to glossary terms in doc strings of public functions
- Check if special handling of older matplotlib are still needed
- Documentation builder failure on main HOT 1
- ValueError: Mismatch between the number of provided labels (376) and the number of regions in provided label image (377). HOT 3
- [ENH] generate_report method should also work after fit_transform was called HOT 5
- [ENH] improving plot_surf_contours HOT 2
- Make sure tests do not create non temporary files HOT 4
- [BUG]: missing values in `Decoder.cv_params_` when `param_grid` is a list of dicts with different keys HOT 1
- [DOC] improve documentation of run_glm HOT 2
- cancel concurrent CI workflows ? HOT 9
- Update examples to use "zscore_sample" `standardize` strategy HOT 2
- rename / refactor plotting specific fixture in conftest.py
- improve handling of temporary files during testing HOT 3
- [DOC] Update and improve examples in nilearn documentation HOT 21
- `'slice_time_ref' not provided` warning, even when provided HOT 1
- [DOC] improve instructions in "Default Mode Network extraction of ADHD dataset" example HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nilearn.