Installing BrainIAK in a fresh environment (done by pr-check.sh) gets me nibabel 3.0.1. I think the culprit is the first line of the Collab instructions:
!pip install deepdish ipython matplotlib nilearn notebook pandas seaborn watchdog
This should come after installing BrainIAK.
Hello, @zacharybretton. Thanks for the feedback. Regarding the PEP 517 error, try adding the
--no-use-pep517to the install command:
python3 -m pip install --no-use-pep517 brainiak
See for more details brainiak/brainiak#435
We'll look into the problem with the newest Conda version.
Has there been any progress on this? I can't seem to install it (neither with conda nor pip) with the latest anaconda version.
Hello, @kshitijd20. There are several links suggested in the message. Have you tried the one starting with "127"?
If that doesn't work, could you please confirm your Docker for Windows is properly set up by testing Nginx in your browser according to the official Docker documentation?
scale_functionto 1. So imagine two events that occur within 1 second of each other. From what we know about the brain's response is that there is a subadditivity of those two presentations such that the evoked response will be larger than if only one event occurred but it likely won't be twice as large. If you set scaling to 0 then the height of the outputed stimulus response will be twice as high, which would be wrong. If you set the scaling to 1, then the peak of two events will be 1, just like the peak of 1 event, although the shape of the function will be the same. Hence when scaling is set to 1, there is no additivity. Note this same logic goes into GLMs using things like FEAT: they also just assume a convolution of the event boxcar. Still, building a realistic non-linearity would be valuable, although it would likely depend largely on empirical details, since different events will elicit different amounts of additivity
import numpy as np from brainiak.utils import fmrisim as sim import matplotlib.pyplot as plt # Inputs for generate_stimfunction onsets = [10, 12] event_durations =  tr_duration = 2 duration = 100 scale_function = 1 # Create the time course for the signal to be generated stimfunction = sim.generate_stimfunction(onsets=onsets, event_durations=event_durations, total_time=duration, ) # Create the signal function signal_function = sim.convolve_hrf(stimfunction=stimfunction, tr_duration=tr_duration, scale_function=scale_function, ) plt.plot(signal_function)