-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Leverage seaborn in figure creation #10
Comments
Here is an example of duplication that can be eliminated by using the |
This is a great little task for anyone from Brainhack Donostia joining the project! |
Yes!, but I would say this should be contributed directly upstream to ICA-AROMA. I think this re-implementation should focus only on the core of the method. I also know for experience that the plotting module of ICA-AROMA is not very stable, so you don't want to bring that here. Instead, you want all the ICA-AROMA current users to benefit from improvements making the plotting better. WDYT? |
Maybe we can implement here and if everything goes smoothly propose the changes in the original ICA-AROMA |
We can try. The original repo is rarely updated, which is why AROMA was such a good target for this kind of project. Still, once we have things working here, we can always offer to open a PR... |
I can change the colours so they are the same as the others |
Also there are a few deprecated messages |
The figure looks good, although I'd have the scatter follow the same palette as the rest of the elements. It's hard to say if the update reflects what I opened this issue about without looking at the code though, since it's mostly a matter of refactoring rather than enhancing the outputs. |
i am gonna see what can i do about this:
|
Yes, |
I would not do this. You'll need to add matplotlib, which is a pretty beefy dependency (through seaborn). If you want to keep this project focused, I'd focus in making visualization a separate project (and if you love OSS, submit the changes to the aroma repo). |
What if we make it an optional dependency, set up a "plotting" dependencies subgroup, and change the argument
I mean... the |
Yup, but both nipreps/fmripost-aroma#10 and nipreps/fmriprep#1784 are better off with the leanest possible re-implementation, so dropping the plotting (or separating it) and dropping moving stuff to standard space are two appealing features. From fMRIPrep perspective, we want to get to the core of aroma. For the plotting, I'm sure tedana actually has a lot of stuff that could be adaptable. |
Okay,
Actually we have a problem about this. |
@vinferrer It's probably best to just use a |
@tsalo that's a nice suggestion but i think at this point |
😞 so much for being a GFI. Honestly, with this much work going into it, maybe we should just take @oesteban's suggestion and drop plotting entirely. It doesn't tell us much (especially not compared to a component-wise breakdown like what fMRIPrep outputs), and it's too much effort to keep working. |
And I don't want to pin our dependencies to an old version of seaborn, since that might impact the rest of our dependencies. |
Well, we could generate the image separately and then plot in the subplot a png of that separated image |
let my give a last try |
I know it is related to these lines:
But i have never use this |
This looks amazing! Thank you @vinferrer !
Maybe using a tight layout helps with the size? I cannot think of any other way of making it bigger right now. |
With your permission I can open a PR for this non GFI @tsalo @eurunuela |
The figure looks great. Please open a PR when you have the time. Perhaps you could also include nipreps/fmriprep#19 in your changes? Namely, make plotting optional and making seaborn an optional dependency. |
I think plotting is already optional. Of course i can add seaborn as a optional dependency, if i can find where to put that 😆 |
It's optional, but done by default. We need to switch the default from making the plots to not making them. |
Totally agree with this. |
Summary
The classification plot code uses seaborn, but doesn't take advantage of the available features. We should review the plotting code and identify places where it can be improved.
Additional Detail
An example- instead of using
seaborn
'shue
argument, the classification plot code duplicates the same lines for the accepted and rejected components. This also requires the code to add fake rows in cases where all components are either rejected or accepted.Next Steps
The text was updated successfully, but these errors were encountered: