From d4dc0020189acadbbd631a9d6e1267ac97da184a Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Tue, 19 Jul 2016 22:15:42 -0400 Subject: [PATCH 01/25] Add TDA initial script. --- brainiak/tda.py | 160 ++++++++++++++++++++++++++++++++++ examples/tda/requirements.txt | 1 + examples/tda/tda_example.py | 156 +++++++++++++++++++++++++++++++++ 3 files changed, 317 insertions(+) create mode 100644 brainiak/tda.py create mode 100644 examples/tda/requirements.txt create mode 100644 examples/tda/tda_example.py diff --git a/brainiak/tda.py b/brainiak/tda.py new file mode 100644 index 000000000..59d7fbb11 --- /dev/null +++ b/brainiak/tda.py @@ -0,0 +1,160 @@ +# Copyright 2016 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Topological Data Analysis + +Prepare the steps for TDA analyses: + +Preprocess the volumes involving binarizing, smoothing and normalizing + +Run a correlation of every voxel against every other voxel + +Takes in a time series, ignoring the conditions. It does some voxel selection on this time series. +It then runs a correlation on all of these selected voxels. +Now each voxel can be represented as existing in a higher dimensional space now + +volume is organized as an Voxel x Timepoint matrix +voxel_number describes how many voxels are to be used in the correlation +selection contains the procedure for selecting voxels: Ttest, Variance +distance is the procedure for calculating the distance matrix: Dist, InverseCor, InverseAbsCor or none + + Authors: Cameron Ellis (Princeton) 2016 +""" +import logging + +import numpy as np +import scipy.ndimage as ndimage +from scipy import spatial +from scipy import stats + +__all__ = [ + "preprocess", + "convert_space", +] + +logger = logging.getLogger(__name__) + +def preprocess(volume, t_score=1, gauss_size=0, norm_power=0): + """Preprocess the data for TDA relevant features + + Takes in a specified volume (3d or 4d) for a participant's block, + determines whether it should be binary, + applies smoothing to the volume and returns the result + TODO: fix to be like tfa + """ + + #TODO: exception flag + + # Binarize the data + if t_score == 0: + volume[abs(volume) > 0] = 1 + + # Smooth the data using a given kernel + if gauss_size > 0: + volume = ndimage.filters.gaussian_filter(volume, gauss_size) + + # Normalize the data to a given power, 0 means nothing is changed + if norm_power > 0: + volume = volume / np.power(np.sum(np.power(volume, norm_power)), 1 / norm_power) + + return(volume) + +def _ttest_score(volume): + #TODO: Doc string + altered_voxel = abs(stats.ttest_1samp(volume, 0, axis=1)[1]) + return altered_voxel + +def _variance_score(volume): + # TODO: Doc string + altered_voxel = np.var(volume, axis=1) + return altered_voxel + + +def _select_voxels(volume, voxel_number=100, selectionfunc=_ttest_score): + # TODO: Doc string + #Reduce the number of voxels to be considered if it exceeds the limit + if voxel_number>volume.shape[0]: + voxel_number = volume.shape[0] + + # Run the one function that was test + altered_voxel = selectionfunc(volume) + + # Only keep voxels over the threshold + threshold = sorted(altered_voxel)[volume.shape[0] - voxel_number] + + # Which voxels are best, needed for later + selected_voxels = altered_voxel >= threshold + + return selected_voxels + + logging.info('Voxel Selection complete') + + +def _mds_conversion(volume, selected_voxels, dist_metric, dimensions=2): + # TODO: Doc string + # Run classical MDS, project into dimensions + + import sklearn.manifold + # Make the object for the mds + mds = sklearn.manifold.MDS(n_components=dimensions) + mds_coords = mds.fit(dist_metric) + + # Specify the coordinates + selected_coordinates = np.empty((volume.shape[0], dimensions)) # Preset + selected_coordinates[selected_voxels,] = mds_coords.embedding_ # Put the MDS coordinates where they are supposed to go + + return selected_coordinates + +#Define how to transform the neural data, if at all + +#Calculate the euclidean distance between +_compute_euclidean_distance = \ + lambda x: spatial.distance.squareform(spatial.distance.pdist(x)) + +#TODO: lines +_compute_inverse_corr_distance = lambda x: 1 - x #Take the inverse of the correlation matrix (kind of) +_compute_inverse_abs_corr_distance = lambda x: 1 - abs(x) #Take the inverse of the abs correlation matrix (kind of) + + +#TODO: Fix, put below func name +""" Correlate all functions with all other functions + +Run a correlation of every voxel against every other voxel + +Takes in a time series, ignoring the conditions. It does some voxel selection on this time series. +It then runs a correlation on all of these selected voxels. +Now each voxel can be represented as existing in a higher dimensional space now + +volume is organized as an Voxel x Timepoint matrix +voxel_number describes how many voxels are to be used in the correlation +selection contains the procedure for selecting voxels: Ttest, Variance +distance is the procedure for calculating the distance matrix: Dist, InverseCor, InverseAbsCor or none + + Authors: Cameron Ellis (Princeton) 2016 + +""" + +def convert_space(volume, voxel_number=100, selectionfunc=_ttest_score, distancefunc=_compute_euclidean_distance): + + #TODO: use more advanced voxel selection procedures + selected_voxels = _select_voxels(volume, voxel_number=voxel_number, selectionfunc=selectionfunc) + + #TODO: use fcma toolbox to calculate the correlation matrix + cor_matrix = np.corrcoef(volume[selected_voxels,]) + + #TODO: Use the distance metrics from the Han lab to calculate more interesting distrance functions + dist_metric = _compute_euclidean_distance(cor_matrix) + selected_coordinates = _mds_conversion(volume, selected_voxels, dist_metric) + + return selected_coordinates diff --git a/examples/tda/requirements.txt b/examples/tda/requirements.txt new file mode 100644 index 000000000..6ccafc3f9 --- /dev/null +++ b/examples/tda/requirements.txt @@ -0,0 +1 @@ +matplotlib diff --git a/examples/tda/tda_example.py b/examples/tda/tda_example.py new file mode 100644 index 000000000..ef882c9b2 --- /dev/null +++ b/examples/tda/tda_example.py @@ -0,0 +1,156 @@ +# Copyright 2016 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Example for using hyperparameter optimization (hpo) package. + +In this example, we will try to optimize a function of +2 variables (branin) using both hpo and grid search. + +""" + +import brainiak.hyperparamopt.hpo as hpo +import numpy as np +import scipy.stats as st +import matplotlib.pyplot as plt + +# Branin is the function we want to minimize. +# It is a function of 2 variables. +# In the range x1 in [-5, 10] and x2 in [0, 15], +# this function has 2 local minima and 1 global minima. +# Global minima of -16.6 at (-3.7, 13.7). +# This is the modified version (Branin-Hoo) of the standard branin function. +# If you want the standard version (which has 3 global minima), +# you can omit the "+5*x1" term at the end +# For more details, see http://www.sfu.ca/~ssurjano/branin.html + + +def main(): + + # Simulate data + n = 100 + volume = np.random.randn(np.square(n) * 3) + volume = volume.reshape(n * 3, n) + + + volume = preprocess(volume) + + tda_input = convert_space(volume) + + +if __name__ == "__main__": + main() + + +def branin(x1, x2): + a = 1.0 + b = 5.1/(4*np.pi*np.pi) + c = 5.0/np.pi + r = 6.0 + s = 10.0 + t = 1.0/(8*np.pi) + return a*((x2 - b*x1*x1 + c*x1 - r)**2) + s*(1-t)*np.cos(x1) + s + 5*x1 + +# This is a wrapper around branin that takes in a dictionary +def branin_wrapper(args): + x1 = args['x1'] + x2 = args['x2'] + return branin(x1,x2) + +# Define ranges for the two variables +x1lo = -5 +x1hi = 10 +x2lo = 0 +x2hi = 15 + +############################## +# Optimization through hpo +############################## + +# Define a space for hpo to use +# The space needs to define +# 1. Name of the variables +# 2. Default samplers for the variables (use scipy.stats objects) +# 3. lo and hi ranges for the variables (will use -inf, inf if not specified) +space = {'x1':{'dist': st.uniform(x1lo, x1hi-x1lo), 'lo':x1lo, 'hi':x1hi}, + 'x2':{'dist': st.uniform(x2lo, x2hi-x2lo), 'lo':x2lo, 'hi':x2hi}} + +# The trials object is just a list that stores the samples generated and the +# corresponding function values at those sample points. +trials = [] + +# Maximum number of samples that will be generated. +# This is the maximum number of function evaluations that will be performed. +n_hpo_samples = 100 + +# Call the fmin function that does the optimization. +# The function to be optimized should take in a dictionary. You will probably +# need to wrap your function to do this (see branin() and branin_wrapper()). +# You can pass in a non-empty trials object as well e.g. from a previous +# fmin run. We just append to the trials object and will use existing data +# in our optimization. +print("Starting optimization through hpo") +best = hpo.fmin(loss_fn=branin_wrapper, space=space, + max_evals=n_hpo_samples, trials=trials) + +# Print out the best value obtained through HPO +print("Best obtained through HPO (", n_hpo_samples, " samples) = ", + best['x1'], best['x2'], "; min value = ", best['loss']) + +##################################### +# Optimization through grid search +##################################### + +# Divide the space into a uniform grid (meshgrid) +n = 200 +x1 = np.linspace(x1lo, x1hi, n) +x2 = np.linspace(x2lo, x2hi, n) +x1_grid, x2_grid = np.meshgrid(x1, x2) + +# Calculate the function values along the grid +print("Starting optimization through grid search") +z = branin(x1_grid, x2_grid) + +# Print out the best value obtained through grid search +print("Best obtained through grid search (", n*n, " samples) = ", + x1_grid.flatten()[z.argmin()], x2_grid.flatten()[z.argmin()], + "; min value = ", z.min()) + +######## +# Plots +######## + +# Convert trials object data into numpy arrays +x1 = np.array([tr['x1'] for tr in trials]) +x2 = np.array([tr['x2'] for tr in trials]) +y = np.array([tr['loss'] for tr in trials]) + +# Plot the function contour using the grid search data +h = (z.max()-z.min())/25 +plt.contour(x1_grid, x2_grid, z, levels=np.linspace(z.min()-h, z.max(), 26)) + +# Mark the points that were sampled through HPO +plt.scatter(x1, x2, s=10, color='r', label='HPO Samples') + +# Mark the best points obtained through both methods +plt.scatter(best['x1'], best['x2'], s=30, color='b', label='Best HPO') +plt.scatter(x1_grid.flatten()[z.argmin()], x2_grid.flatten()[z.argmin()], + s=30, color='g', label='Best grid search') + +# Labels +plt.xlabel('x1') +plt.ylabel('x2') +plt.title('Hyperparameter optimization using HPO (Branin function)') +plt.legend() +plt.show() + From 42cb2b4370e4c3eff3079394fbc71eeb22ce53ff Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Wed, 20 Jul 2016 09:27:59 -0400 Subject: [PATCH 02/25] Added documentation --- brainiak/tda.py | 120 ++++++++++++++++++++++++-------- examples/tda/tda_example.py | 134 +++--------------------------------- 2 files changed, 101 insertions(+), 153 deletions(-) diff --git a/brainiak/tda.py b/brainiak/tda.py index 59d7fbb11..aa2b70a18 100644 --- a/brainiak/tda.py +++ b/brainiak/tda.py @@ -48,13 +48,28 @@ def preprocess(volume, t_score=1, gauss_size=0, norm_power=0): """Preprocess the data for TDA relevant features - Takes in a specified volume (3d or 4d) for a participant's block, - determines whether it should be binary, - applies smoothing to the volume and returns the result - TODO: fix to be like tfa - """ + Parameters + ---------- + + volume : 2d array, float + fMRI data, voxel by TR. + + t_score : boolean, default: 1 + Do you use the t values of the data or do you binarize based on some + threshold? - #TODO: exception flag + gauss_size: float, default: 0 + Sigma for the 3d smoothing kernel. + + norm_power : float, default: 0 + The power value for the normalization procedure. + + """ + #Handle exceptions in the values of the volume input + if len(volume.shape)!=2: + logging.exception('Volume is only {} dimensions, requires 2 ' + 'dimensional data'.format(len(volume.shape))) + quit() # Binarize the data if t_score == 0: @@ -71,18 +86,46 @@ def preprocess(volume, t_score=1, gauss_size=0, norm_power=0): return(volume) def _ttest_score(volume): - #TODO: Doc string + """Perform a one sample t test against zero for each voxels across time + + Parameters + ---------- + + volume : 2d array, float + fMRI data, voxel by TR. + """ altered_voxel = abs(stats.ttest_1samp(volume, 0, axis=1)[1]) return altered_voxel def _variance_score(volume): - # TODO: Doc string + """Find the variance for each voxels across time + + Parameters + ---------- + + volume : 2d array, float + fMRI data, voxel by TR. + """ altered_voxel = np.var(volume, axis=1) return altered_voxel -def _select_voxels(volume, voxel_number=100, selectionfunc=_ttest_score): - # TODO: Doc string +def _select_voxels(volume, voxel_number=1000, selectionfunc=_ttest_score): + """Select voxels that perform best according to some function + + Parameters + ---------- + + volume : 2d array, float + fMRI data, voxel by TR. + + voxel_number : int, default: 1000 + How many voxels are you going to use. + + selectionfunc: object, default: _ttest_score + What function are you going to use to select the top voxels. + + """ #Reduce the number of voxels to be considered if it exceeds the limit if voxel_number>volume.shape[0]: voxel_number = volume.shape[0] @@ -102,7 +145,21 @@ def _select_voxels(volume, voxel_number=100, selectionfunc=_ttest_score): def _mds_conversion(volume, selected_voxels, dist_metric, dimensions=2): - # TODO: Doc string + """Select voxels that perform best according to some function + + Parameters + ---------- + + volume : 2d array, float + fMRI data, voxel by TR. + + selected_voxels : int + Which indexes, according to volume, are selected + + dist_metric: 2d array, float + The distance matrix, the same size as len(selected_voxels) by len(selected_voxels) + + """ # Run classical MDS, project into dimensions import sklearn.manifold @@ -121,34 +178,41 @@ def _mds_conversion(volume, selected_voxels, dist_metric, dimensions=2): #Calculate the euclidean distance between _compute_euclidean_distance = \ lambda x: spatial.distance.squareform(spatial.distance.pdist(x)) +_compute_inverse_corr_distance = \ + lambda x: 1 - x #Take the inverse of the correlation matrix (kind of) +_compute_inverse_abs_corr_distance = \ + lambda x: 1 - abs(x) #Take the inverse of the abs correlation matrix (kind of) -#TODO: lines -_compute_inverse_corr_distance = lambda x: 1 - x #Take the inverse of the correlation matrix (kind of) -_compute_inverse_abs_corr_distance = lambda x: 1 - abs(x) #Take the inverse of the abs correlation matrix (kind of) -#TODO: Fix, put below func name -""" Correlate all functions with all other functions -Run a correlation of every voxel against every other voxel +def convert_space(volume, voxel_number=1000, selectionfunc=_ttest_score): + """ Correlate all voxels with all other voxels -Takes in a time series, ignoring the conditions. It does some voxel selection on this time series. -It then runs a correlation on all of these selected voxels. -Now each voxel can be represented as existing in a higher dimensional space now + Parameters + ---------- -volume is organized as an Voxel x Timepoint matrix -voxel_number describes how many voxels are to be used in the correlation -selection contains the procedure for selecting voxels: Ttest, Variance -distance is the procedure for calculating the distance matrix: Dist, InverseCor, InverseAbsCor or none + volume : list of 4d array, float + fMRI volumes, by TR. - Authors: Cameron Ellis (Princeton) 2016 + voxel_number : int, default: 1000 + How many voxels are you going to use -""" + selectionfunc: object, _ttest_score + What function are you going to use to select the top voxels -def convert_space(volume, voxel_number=100, selectionfunc=_ttest_score, distancefunc=_compute_euclidean_distance): + norm_power : float, default: 0 + The power value for the normalization procedure + + """ + #Handle exceptions in the values of the volume input + if len(volume.shape)!=2: + logging.exception('Volume is only {} dimensions, requires 2 ' + 'dimensional data'.format(len(volume.shape))) + quit() #TODO: use more advanced voxel selection procedures - selected_voxels = _select_voxels(volume, voxel_number=voxel_number, selectionfunc=selectionfunc) + selected_voxels = _select_voxels(volume=volume, voxel_number=voxel_number, selectionfunc=selectionfunc) #TODO: use fcma toolbox to calculate the correlation matrix cor_matrix = np.corrcoef(volume[selected_voxels,]) diff --git a/examples/tda/tda_example.py b/examples/tda/tda_example.py index ef882c9b2..a2c090756 100644 --- a/examples/tda/tda_example.py +++ b/examples/tda/tda_example.py @@ -12,145 +12,29 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Example for using hyperparameter optimization (hpo) package. +"""Example for using topological data analysis -In this example, we will try to optimize a function of -2 variables (branin) using both hpo and grid search. +Simulate some neural data and run it through the pipeline for TDA analysis +Authors: Cameron Ellis (Princeton """ -import brainiak.hyperparamopt.hpo as hpo +from brainiak import tda import numpy as np -import scipy.stats as st -import matplotlib.pyplot as plt - -# Branin is the function we want to minimize. -# It is a function of 2 variables. -# In the range x1 in [-5, 10] and x2 in [0, 15], -# this function has 2 local minima and 1 global minima. -# Global minima of -16.6 at (-3.7, 13.7). -# This is the modified version (Branin-Hoo) of the standard branin function. -# If you want the standard version (which has 3 global minima), -# you can omit the "+5*x1" term at the end -# For more details, see http://www.sfu.ca/~ssurjano/branin.html def main(): # Simulate data - n = 100 - volume = np.random.randn(np.square(n) * 3) - volume = volume.reshape(n * 3, n) - + n = 10 + volume = np.random.randn(np.power(n, 2)).reshape(n, n) - volume = preprocess(volume) + volume = tda.preprocess(volume) - tda_input = convert_space(volume) + tda_input = tda.convert_space(volume) + print(tda_input) if __name__ == "__main__": main() - -def branin(x1, x2): - a = 1.0 - b = 5.1/(4*np.pi*np.pi) - c = 5.0/np.pi - r = 6.0 - s = 10.0 - t = 1.0/(8*np.pi) - return a*((x2 - b*x1*x1 + c*x1 - r)**2) + s*(1-t)*np.cos(x1) + s + 5*x1 - -# This is a wrapper around branin that takes in a dictionary -def branin_wrapper(args): - x1 = args['x1'] - x2 = args['x2'] - return branin(x1,x2) - -# Define ranges for the two variables -x1lo = -5 -x1hi = 10 -x2lo = 0 -x2hi = 15 - -############################## -# Optimization through hpo -############################## - -# Define a space for hpo to use -# The space needs to define -# 1. Name of the variables -# 2. Default samplers for the variables (use scipy.stats objects) -# 3. lo and hi ranges for the variables (will use -inf, inf if not specified) -space = {'x1':{'dist': st.uniform(x1lo, x1hi-x1lo), 'lo':x1lo, 'hi':x1hi}, - 'x2':{'dist': st.uniform(x2lo, x2hi-x2lo), 'lo':x2lo, 'hi':x2hi}} - -# The trials object is just a list that stores the samples generated and the -# corresponding function values at those sample points. -trials = [] - -# Maximum number of samples that will be generated. -# This is the maximum number of function evaluations that will be performed. -n_hpo_samples = 100 - -# Call the fmin function that does the optimization. -# The function to be optimized should take in a dictionary. You will probably -# need to wrap your function to do this (see branin() and branin_wrapper()). -# You can pass in a non-empty trials object as well e.g. from a previous -# fmin run. We just append to the trials object and will use existing data -# in our optimization. -print("Starting optimization through hpo") -best = hpo.fmin(loss_fn=branin_wrapper, space=space, - max_evals=n_hpo_samples, trials=trials) - -# Print out the best value obtained through HPO -print("Best obtained through HPO (", n_hpo_samples, " samples) = ", - best['x1'], best['x2'], "; min value = ", best['loss']) - -##################################### -# Optimization through grid search -##################################### - -# Divide the space into a uniform grid (meshgrid) -n = 200 -x1 = np.linspace(x1lo, x1hi, n) -x2 = np.linspace(x2lo, x2hi, n) -x1_grid, x2_grid = np.meshgrid(x1, x2) - -# Calculate the function values along the grid -print("Starting optimization through grid search") -z = branin(x1_grid, x2_grid) - -# Print out the best value obtained through grid search -print("Best obtained through grid search (", n*n, " samples) = ", - x1_grid.flatten()[z.argmin()], x2_grid.flatten()[z.argmin()], - "; min value = ", z.min()) - -######## -# Plots -######## - -# Convert trials object data into numpy arrays -x1 = np.array([tr['x1'] for tr in trials]) -x2 = np.array([tr['x2'] for tr in trials]) -y = np.array([tr['loss'] for tr in trials]) - -# Plot the function contour using the grid search data -h = (z.max()-z.min())/25 -plt.contour(x1_grid, x2_grid, z, levels=np.linspace(z.min()-h, z.max(), 26)) - -# Mark the points that were sampled through HPO -plt.scatter(x1, x2, s=10, color='r', label='HPO Samples') - -# Mark the best points obtained through both methods -plt.scatter(best['x1'], best['x2'], s=30, color='b', label='Best HPO') -plt.scatter(x1_grid.flatten()[z.argmin()], x2_grid.flatten()[z.argmin()], - s=30, color='g', label='Best grid search') - -# Labels -plt.xlabel('x1') -plt.ylabel('x2') -plt.title('Hyperparameter optimization using HPO (Branin function)') -plt.legend() -plt.show() - From 11d69a25ec8f649500543f8e9148b1a946458518 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Wed, 20 Jul 2016 11:48:13 -0400 Subject: [PATCH 03/25] Added documentation --- brainiak/tda.py | 156 ++++++++++++++++++++++++++++++------------------ 1 file changed, 99 insertions(+), 57 deletions(-) diff --git a/brainiak/tda.py b/brainiak/tda.py index aa2b70a18..412b50b94 100644 --- a/brainiak/tda.py +++ b/brainiak/tda.py @@ -20,14 +20,16 @@ Run a correlation of every voxel against every other voxel -Takes in a time series, ignoring the conditions. It does some voxel selection on this time series. +Takes in a time series, ignoring the conditions. +It does some voxel selection on this time series. It then runs a correlation on all of these selected voxels. Now each voxel can be represented as existing in a higher dimensional space now volume is organized as an Voxel x Timepoint matrix voxel_number describes how many voxels are to be used in the correlation selection contains the procedure for selecting voxels: Ttest, Variance -distance is the procedure for calculating the distance matrix: Dist, InverseCor, InverseAbsCor or none +distance is the procedure for calculating the distance matrix: + Dist, InverseCor, InverseAbsCor or none Authors: Cameron Ellis (Princeton) 2016 """ @@ -39,13 +41,16 @@ from scipy import stats __all__ = [ - "preprocess", "convert_space", + "DistanceFuncs", + "preprocess", + "SelectionFuncs", ] logger = logging.getLogger(__name__) -def preprocess(volume, t_score=1, gauss_size=0, norm_power=0): + +def preprocess(volume, t_score=True, gauss_size=0, norm_power=0): """Preprocess the data for TDA relevant features Parameters @@ -54,7 +59,7 @@ def preprocess(volume, t_score=1, gauss_size=0, norm_power=0): volume : 2d array, float fMRI data, voxel by TR. - t_score : boolean, default: 1 + t_score : boolean, default: True Do you use the t values of the data or do you binarize based on some threshold? @@ -64,9 +69,14 @@ def preprocess(volume, t_score=1, gauss_size=0, norm_power=0): norm_power : float, default: 0 The power value for the normalization procedure. + Returns + ---------- + + 2d array, float + Preprocessed fMRI data, voxel by TR. """ - #Handle exceptions in the values of the volume input - if len(volume.shape)!=2: + # Handle exceptions in the values of the volume input + if len(volume.shape) != 2: logging.exception('Volume is only {} dimensions, requires 2 ' 'dimensional data'.format(len(volume.shape))) quit() @@ -81,36 +91,26 @@ def preprocess(volume, t_score=1, gauss_size=0, norm_power=0): # Normalize the data to a given power, 0 means nothing is changed if norm_power > 0: - volume = volume / np.power(np.sum(np.power(volume, norm_power)), 1 / norm_power) + volume = volume / np.power(np.sum(np.power(volume, norm_power)), + 1 / norm_power) return(volume) -def _ttest_score(volume): - """Perform a one sample t test against zero for each voxels across time - Parameters - ---------- +class SelectionFuncs: + """Evaluate the voxels according to the given metric.""" - volume : 2d array, float - fMRI data, voxel by TR. - """ - altered_voxel = abs(stats.ttest_1samp(volume, 0, axis=1)[1]) - return altered_voxel + # Perform a one sample t test against zero for each voxels across time + def ttest_score(volume): + return stats.ttest_1samp(volume, 0, axis=1)[1] -def _variance_score(volume): - """Find the variance for each voxels across time - - Parameters - ---------- - - volume : 2d array, float - fMRI data, voxel by TR. - """ - altered_voxel = np.var(volume, axis=1) - return altered_voxel + # Calculate the variance for each voxels across time + def variance_score(volume): + return np.var(volume, axis=1) -def _select_voxels(volume, voxel_number=1000, selectionfunc=_ttest_score): +def _select_voxels(volume, voxel_number=1000, + selectionfunc=SelectionFuncs.ttest_score): """Select voxels that perform best according to some function Parameters @@ -122,12 +122,20 @@ def _select_voxels(volume, voxel_number=1000, selectionfunc=_ttest_score): voxel_number : int, default: 1000 How many voxels are you going to use. - selectionfunc: object, default: _ttest_score + selectionfunc: Option[Callable[[ndarray], ndarray], + SelectionFuncs.ttest_score] What function are you going to use to select the top voxels. + Returns + ---------- + + Iterable[bool] + The voxels that have been selected + """ - #Reduce the number of voxels to be considered if it exceeds the limit - if voxel_number>volume.shape[0]: + # TODO: use more advanced voxel selection procedures + # Reduce the number of voxels to be considered if it exceeds the limit + if voxel_number > volume.shape[0]: voxel_number = volume.shape[0] # Run the one function that was test @@ -157,8 +165,14 @@ def _mds_conversion(volume, selected_voxels, dist_metric, dimensions=2): Which indexes, according to volume, are selected dist_metric: 2d array, float - The distance matrix, the same size as len(selected_voxels) by len(selected_voxels) + The distance matrix, the same size as len(selected_voxels) by len( + selected_voxels) + + Returns + ---------- + ndarray[float].shape(selected_voxels.shape(0),dimensions) + The coordinates, listed as voxel by dimension, as the output of MDS """ # Run classical MDS, project into dimensions @@ -169,25 +183,37 @@ def _mds_conversion(volume, selected_voxels, dist_metric, dimensions=2): # Specify the coordinates selected_coordinates = np.empty((volume.shape[0], dimensions)) # Preset - selected_coordinates[selected_voxels,] = mds_coords.embedding_ # Put the MDS coordinates where they are supposed to go + # Put the MDS coordinates where they are supposed to go + selected_coordinates[selected_voxels, ] = mds_coords.embedding_ return selected_coordinates -#Define how to transform the neural data, if at all -#Calculate the euclidean distance between -_compute_euclidean_distance = \ - lambda x: spatial.distance.squareform(spatial.distance.pdist(x)) -_compute_inverse_corr_distance = \ - lambda x: 1 - x #Take the inverse of the correlation matrix (kind of) -_compute_inverse_abs_corr_distance = \ - lambda x: 1 - abs(x) #Take the inverse of the abs correlation matrix (kind of) +class DistanceFuncs: + """Collection of distance functions""" + # TODO: Get distance metrics from the Han lab + # Calculate the correlation + def compute_corr(cor_matrix): + return cor_matrix + + # Calculate the euclidean distance between + def compute_euclidean_distance(cor_matrix): + return spatial.distance.squareform(spatial.distance.pdist(cor_matrix)) + # Take the inverse of the correlation matrix (kind of) + def compute_inverse_corr_distance(cor_matrix): + return 1 - cor_matrix + # Take the inverse of the abs correlation matrix (kind of) + def compute_inverse_abs_corr_distance(cor_matrix): + return 1 - abs(cor_matrix) -def convert_space(volume, voxel_number=1000, selectionfunc=_ttest_score): - """ Correlate all voxels with all other voxels +def convert_space(volume, voxel_number=1000, + selectionfunc=SelectionFuncs.ttest_score, + distancefunc=DistanceFuncs.compute_corr, + run_mds=False, dimensions=2): + """Correlate voxels and process the correlation matrix Parameters ---------- @@ -198,27 +224,43 @@ def convert_space(volume, voxel_number=1000, selectionfunc=_ttest_score): voxel_number : int, default: 1000 How many voxels are you going to use - selectionfunc: object, _ttest_score + selectionfunc : Option[Callable[[ndarray], ndarray], + SelectionFuncs.ttest_score] What function are you going to use to select the top voxels - norm_power : float, default: 0 - The power value for the normalization procedure + run_mds : bool, default: False + Lower the dimensionality of the correlation matrix + + dimensions : int, default: 2 + How many dimensions are you reducing the correlation matrix to + distancefunc : Option[Callable[[ndarray], ndarray], + DistanceFuncs.compute_euclidean_distance] + What function are you going to use to convert the correlation matrix + + Returns + ---------- + + ndarray, float + The coordinates, listed as voxel by dimension, as the output of MDS """ - #Handle exceptions in the values of the volume input - if len(volume.shape)!=2: + # Handle exceptions in the values of the volume input + if len(volume.shape) != 2: logging.exception('Volume is only {} dimensions, requires 2 ' 'dimensional data'.format(len(volume.shape))) quit() - #TODO: use more advanced voxel selection procedures - selected_voxels = _select_voxels(volume=volume, voxel_number=voxel_number, selectionfunc=selectionfunc) + selected_voxels = _select_voxels(volume, voxel_number, selectionfunc) - #TODO: use fcma toolbox to calculate the correlation matrix - cor_matrix = np.corrcoef(volume[selected_voxels,]) + # TODO: use fcma toolbox to calculate the correlation matrix + cor_matrix = np.corrcoef(volume[selected_voxels, ]) - #TODO: Use the distance metrics from the Han lab to calculate more interesting distrance functions - dist_metric = _compute_euclidean_distance(cor_matrix) - selected_coordinates = _mds_conversion(volume, selected_voxels, dist_metric) + dist_metric = distancefunc(cor_matrix) - return selected_coordinates + if run_mds == 1: + converted_space = _mds_conversion(volume, selected_voxels, + dist_metric, dimensions) + else: + converted_space = dist_metric + + return converted_space From 155de9a3c72b332165f183540314366831873ae2 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Wed, 20 Jul 2016 12:54:20 -0400 Subject: [PATCH 04/25] Added documentation --- brainiak/tda.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/brainiak/tda.py b/brainiak/tda.py index 412b50b94..4bfc4fd01 100644 --- a/brainiak/tda.py +++ b/brainiak/tda.py @@ -29,7 +29,7 @@ voxel_number describes how many voxels are to be used in the correlation selection contains the procedure for selecting voxels: Ttest, Variance distance is the procedure for calculating the distance matrix: - Dist, InverseCor, InverseAbsCor or none +Dist, InverseCor, InverseAbsCor or none Authors: Cameron Ellis (Princeton) 2016 """ @@ -50,7 +50,7 @@ logger = logging.getLogger(__name__) -def preprocess(volume, t_score=True, gauss_size=0, norm_power=0): +def preprocess(volume, t_score=True, gauss_size=0, normalize=False): """Preprocess the data for TDA relevant features Parameters @@ -66,7 +66,7 @@ def preprocess(volume, t_score=True, gauss_size=0, norm_power=0): gauss_size: float, default: 0 Sigma for the 3d smoothing kernel. - norm_power : float, default: 0 + normalize : boolean, default: True The power value for the normalization procedure. Returns @@ -82,7 +82,7 @@ def preprocess(volume, t_score=True, gauss_size=0, norm_power=0): quit() # Binarize the data - if t_score == 0: + if t_score is False: volume[abs(volume) > 0] = 1 # Smooth the data using a given kernel @@ -90,9 +90,8 @@ def preprocess(volume, t_score=True, gauss_size=0, norm_power=0): volume = ndimage.filters.gaussian_filter(volume, gauss_size) # Normalize the data to a given power, 0 means nothing is changed - if norm_power > 0: - volume = volume / np.power(np.sum(np.power(volume, norm_power)), - 1 / norm_power) + if normalize is True: + volume = (volume - np.mean(volume)) / np.std(volume) return(volume) From fdd7f2b2aa839a535d9ef2c664b12a0544f65c5d Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Wed, 20 Jul 2016 12:55:33 -0400 Subject: [PATCH 05/25] Added the test_tda --- tests/tda/test_tda.py | 53 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tests/tda/test_tda.py diff --git a/tests/tda/test_tda.py b/tests/tda/test_tda.py new file mode 100644 index 000000000..9220f30bb --- /dev/null +++ b/tests/tda/test_tda.py @@ -0,0 +1,53 @@ +# Copyright 2016 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from brainiak import tda +import numpy as np + +def test_preprocess(): + n = 10 + input = np.ones(n * n).reshape(n, n) + + output = tda.preprocess(input) + assert sum(sum(output == 1)) == n * n, "Preprocessing failed" + + output = tda.preprocess(input, t_score=True) + assert sum(sum(output == 1)) == n * n, "t_score failed" + + output = tda.preprocess(np.random.randn(n * n).reshape(n, n), gauss_size=100) + assert np.std(output) < 0.1, "Smoothing failed" + + input = np.random.rand(n * n).reshape(n, n) + output = tda.preprocess(input, normalize=True) + assert abs(np.mean(output)) < 0.1, "Normalizing failed" + + +def test_convert_space(): + n = 10 + Input = np.repeat(list(range(0, n)), n, axis=0).reshape(n,n).T + + Output = tda.convert_space(Input) + assert sum(sum(Output>=0.99999)) == n*n, "Correlation failed" + + Output = tda.convert_space(Input, + selectionfunc=tda.SelectionFuncs.variance_score) + assert sum(sum(Output >= 0.99999)) == n * n, "Variance failed" + + Output = tda.convert_space(Input, + distancefunc=tda.DistanceFuncs.compute_euclidean_distance) + assert sum(sum(Output == 0)) == n * n, "Euclidean distance failed" + + Output = tda.convert_space(Input, run_mds=1, dimensions=3) + assert Output.shape[1] == 3, "MDS failed" + From 75ae3d8877625d480bed1ee1eb29f46959dd3120 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Tue, 4 Oct 2016 10:53:01 -0400 Subject: [PATCH 06/25] Simulator initial commit. Includes the simulator function with the tests and examples --- brainiak/utils/grey_matter_mask.npy | Bin 0 -> 7221128 bytes brainiak/utils/simulator.py | 265 ++++++++++++++++++++++++++++ examples/utils/requirements.txt | 1 + examples/utils/simulator_example.py | 0 tests/utils/test_simulator.py | 0 5 files changed, 266 insertions(+) create mode 100644 brainiak/utils/grey_matter_mask.npy create mode 100644 brainiak/utils/simulator.py create mode 100644 examples/utils/requirements.txt create mode 100644 examples/utils/simulator_example.py create mode 100644 tests/utils/test_simulator.py diff --git a/brainiak/utils/grey_matter_mask.npy b/brainiak/utils/grey_matter_mask.npy new file mode 100644 index 0000000000000000000000000000000000000000..f6accdf1910602fbf38accd1e79670df1f69dc9d GIT binary patch literal 7221128 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

9p_ko@Aq;W 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

qaJAn&n*3LM-rLHyJ-st0`2 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

E#F&!fOK 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

fvK`Bb^US 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 fkW=zqNd= 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

AttXetX^%6MpUe_Z){` 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

`Bylm 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

cRfipTSJ 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

u@r(4Q^-%EHak<2! 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%0DL9=u*#Ot$njtJWpo)|fgYo) z=1ZM-!Q1irQ%`liYTRdW{5Mbi-lF;RUntK0%d1~)as2Ne`4fL&h4W^6Ztzy5K8oMF z#%sq9JbNF4p7eT6y`a-Ne{A)mdh>i4<1Fp>JVuQB@Vn^b?3<4`!gUngy>;6*;~#v4 zr{;5wuf*}+{^2Pr&;ILCNBx)L_&-iN&7$Q?24(4~m1lpjeY>BpyoyKKNwk}u=hnYi zKS6s#&u7EGWV=*<FS+U$!!Sufe}~EnJrR zCmzD*KDu5s_-<%%N3ZeII?m@)n*P@F!qRQaqm9hS(dCyre}ku#iSU>RZ> z=r7WzNBf(`@ATu5Z(+R2IMc4<`5xi6)9@j0qO$jI({x+=U0)Pkcjl?W+O-G-z_Ez~ z{l<@I|D4s6`0eX1@R8DUpYM>4n@*1ycWJwi|DxYdo`tU3cyf~7_Pow==<_&uJo}R! zJ0|g(c7R^vW8gKqZTV~SCq2IzkJ`Mu`~Dcm;=}PLW9WWGJ}C*%i>_nsF-w^^rx zPJnOIUly+y!P})C0>2xay}x9v^5Wh5zpP46ljP_>DiofAb!*H(hp_x6{a{F#fgv%6&=XPoAOMj5`>I zpbOxsc(LIr+&4rl-Cinb7jgVFUekY~J34Ns@se><090z8j0ziy-JS4}sU{hw#3{@MgRix|98E%opaoO62X}3Hk34qdJK!hnEBV{y4|6;GkMn1{@g%yVP|CP^P1YZ|A1U@UezhgYZd>Q>G^&`Hz9;xi}b1|Z}B1Zn)X6IFXn5~M=&oFd_|vWZ}^p-*F66;UXy=^*R*H) ztI;QqKi=o%qaU+zsps>BtNAv&pXZUt`w3^CuL1Ak^+HTt+J1Nqu8e2!fr?%q_{FF< z@&e4`B~K!M2ak!#^WbIAXZW8yRzBSLOgZzSD! zN3R$s;&bsA3-P%>4!>dZJI3enhEIILBf8z`G0e-_%{71I8;5GWqcoChZeUj(P@gjN4 zE}z}=n!E^lo$I{G_vyLIhpY^B=e-KNp5{NK-#*S!UfTVkj`MkP^0txxK=|6^dIOl?T#}0)2}R`*W~y3o+0O-SienPNaGRz?uYp*jlX@Jfwr?g z?0Vy~#tELkE?!Th=dw38yxw3qORs(YMgH@0D@T9H_fMv)p4Zd(-ST>@=fuyl{sX=e z@g3y-D8u{o&Ecz)&)ql?{{V0C9Ymf3o+fYc;jwNNy~kH`JFUDLgn4KC2&GZ~RsCaiVmYJnGf4-TVi?Ymnb>;j1HGO}`JX z;Vlt;CMMrw{u^J7UT2K;Bb=9f?AB4k$9#_Ny94-5Ouc8EtM>bIYp3C7`tc&Zn)M<0 zkA8g!{n#_shX`*Um$0sn??1_(7Ow~NTy_CoE4ogTr`GsytMPcsx+d1Ep-;>w!zX-5 z@-TcfI?Z-?jju+p@z<17&soP5ewq8>uPLL`=x`s|&w20|T_*3b&^VF&2jdHyN3{Nn z^|{%vF@MhQmq?#IZ_Tvn;7Y&9`h^(3XP%06 z4}1q6`7U^p{uLf}-v_{Nc+I#He@%qXv;+JwyoAR@d;~fSpDD8+{|%2>rJsF#&=|U3SR>6i5$=Kk+)&| zm+SK4dtt^4OVTzivGSei*%lr|_Hz|MR%;8@B+u9L zIls4z^`@EMh~Iah%y(e;X?$4DzXUGU&)B${eCSMkmv8ON=V64ik6WbA{@pX<^wR02 z@wh*FAzn*YJfA9@eI6!!q4C4@hwu2}cQ?rM(U0eNE5>2)GW8aJOkSDs-IVcL@=?CX zzfa&h@`(6hbeQ`S**}fX_~dDk_k+*Olk7J~MD8px>@Eznq=nv^1sfQ-t>fht?J7BR66Wv1B7)K_b)IKcFfNr9zlvz*2@#G!2 z4nBu`aUa>w@$i?(cKinV43FV0(SEH~ToT zzDHjKNtba5d?xn17N31Q&iI^qX!25)r$Ud&&$1pfeM#^keJbOx_|630qVLI5wIf@f z58rxzQHFoSJU)B_KA8JcrrqW7JSV@$6A@ib|IF{A#qX&xKFqua-`&e+_<9*#*Ynh| zKHb{u4fbC6JK;ZPWxemk7R!GKgkAW9&rKZUL%^B!lGFo!g!x~7M?rZGAMZ2&5c*C3 zjJ}aKfQLl3lPAk|!SCutemvLd>$!g_9&j9y{sMo1zH)uq17aqySt;5uBN_v!hZ zd3^F7YQH|8DE$0)S>>~DG2W7=rXQqVWL%^7D*v$yyyn!N*We1y((y~JKBPa}+j>E_ z>0g82j3@cM5Wd?T@%xT3FFE3O@W}JB4ls_(e1e|Ce>aTZOJzU(KEHp)ca(9R%pZ5Z zQ<*%C-?i!ao9!=t*D}AqL+=C zuJiqfuIs;_8vQu!BIoH?2PdBR@163yO8ib<7|T z|16K;epUUs_4DKz%^&&rjCmsR#f;z3)zJ0)J#BnZ{O*|LmHqoe#s$oylHZ8_!q%;L zdm?`y?KS6H7$2%#Iu3eY|GgmLvd!=lf8E#N^BR1?yZGGja;5$$oE=vpI-+{nX!WA) z1AgNZ#it#%A05|mV=HUF>lOZz`W7#IUILxRugj14|8s=y)1SkCU3U`iEsy8EHgw+l zd((IO?$PH(`2Pv;KfzaYIL86}&NaF$-F5$j-v~aFzoY%x_iw)5RQDbD4sa2_{r}U$ z*MTSaf;Ul*UVp2A0Qf4pj(|V)q3zCZ{7F-9J|1G6NxkCB;l22Jjqy%=_1_g`K3V+q zJebZO@LuXHs`utpfr0W@9)4$;B(c{qlY#;a{`VGc~J)e0G zUH=NZzHpkeDBPy`4#yX~b!h$V1_Z#H2)|X{VD+W4`)_mzo@+b(t*>*1_d3t(8J&m! z@BrS^f8%dhpWN#|x)0ysx$fh-j*sE{6!?j6$4?N$*BB4IJp_*}Kj?XA{1g6)`}3T% zUwkxpl<(LLWL?HB;B^xx>Nq@a>d|#w=Xvb;k6+jR0pGLN<2!EfyTZ1m+m+)2eH$2x;`3#=RsFFHm1reYgn&|vi z*`w-rz41(C*K;ENg$Vz(ely3S+#1$jDj8J|Iag1=JP{d4oY8;rlY z-umD%cod&kkbk@DQVp-C@ty6|^B}^5KI*#gWZ>t~bMza(!nhQD74JOn24C?jM7HBE zXct_E>vA9Q*ZYs2&nkP~i07w0gUjx!hq}-1MS%KULY%1c=pwvobklt~y2|(yo{E>A zcSMJY@E=`f{EE-OH`9)|Z}S}U@|pMDy=d3no-GJa{}Up*z9`*>kK&~)apPwzv*gKwMsk~OdKk(bikNEe-_y_n3&nfFX&ok2wI8XPV3xDj_#n+cU z?;ZTwQ*Y7m8l5H%^jgPlHvTnv2=~3{EIgHOaDRdhQ)WNMi?@D0*MraEzx#TfSAJtp zk>aoTz73z(wRwbQ95#{H_+4}xe&V~)Un1K%j`O$3H?-fM_pccGdh}I9 z0Dd&lb$TIQqpR=|y@juRWIxC2ey;ny&(QYb^D5T&TDf$?XV*WKC-Pc+bUy$O;U)Z@ z7CDZ{`CL!ir}5aIL;HCyk87n~>OFT2fu1)i&&z9k0ui3}k^RJJJl6hseFo3BYj0U+ zuQdeVO%u_{iTu`auCMTPTI4t){3UAp;65ssF0VE6t>XLkd}_)A-oeME#)bIX+^>Ab zD%SH_y>!p7raa*H1fEXYKhWRidV}q274LfQ-HX69{_X1a-TM}Gw?bet0?Xy`R1PXydpb#ho3V}kP5GVu+fkL1VCR1PXydpb#ho3V}kP5GVu+fkL1V zCR1PXydpb#ho3V}kP5GVu+fkL1VCR1PXydpb#ho3V}kP5GVu+ zfkL1VCR1PXydpb#ho3V}kP5GVu+fkL1VCR1PXydpb#ho3V}kP z5GVu+fkL1VCR1PXydpb#ho3V}kP5GVu+fkL1VCR1PXydpb#ho z3V}kP5GVu+fkL1VCR1PXydpb%IJ0{`zH{$bre>x7k#OL>Mmwh&k@0*m17 zDEPhHxUBZE-1n*T)+PcIcs$_ip)Y>%dgC!s$8QK;FDr5#qOLc%UsIl!|7)|h>aC|C zuvi|$U-55~@%XhbdCB>~=gn>W#}~ZdVk`Gi=MRqKe6IITFMQ!fJCE4hZ_tkB;r~S5 zPkZm$zIP$85Rc&#{DOb*^p*SV_hsYXkp~|5HH+H+4U4aT=}W(5QRmOKk?ll|7e6nx zTnfiwh(|D}?&Odl5-d$$= zd&P@hwB4fiUt#g^0}i;-qWJ!uHnN@LUbX-JJ8VDazkJ_)w_5pS`|PvDBKM))aDVvU z^IrSC|KRz1zVn{_`|DQq_bfu7ub(B9UB|=&@7HzS2ICQW2w&in_Pg$iFWc-m`1!hn z55C6AU)Zo=Y*FW3Z&Ccb!QxlWIAajm&T-=Jb#|Pt@8^rh-?j2l2OV^kMffisUv6dY zuk*b<@m%PB&v)Jjo;UAXIxak)ZGWoIUT+s$9`Kp^*7Y_Ak6e%83p_%1-*Ctw*V=Jk zI{kF#@7K>f^QJiOdlt8zbIz?6x1W3N_brN_KWHP{Id03QO@5wq`xZNn>*>BXTABOM zZs5K6dbRDReZhP9j?Rn6{yy67K3`?mbG@Ipe;g3svC#7I3-ztlH+ zhYx@+@ED!_=2>UmYWowrwAaKVqPtmoQkQTltE#V>yT^A<;s-F90WbNl;`ImV9@ zU;VsmFS_U_cAoh7V~cv8A6n!-dS2(h`0MwF_j-PBU%LM|&U3!wZ+IWxPv^OBSJ}t8 zD*N~pTzY)<2=%uc5a@Al%JcGA$DvQISMV8K!{6d7;0rv0U%|T(ycBQlFg|^Cz4Z z)c(AG;5qR<_#5%pd9MBLV|1N4dmfd2ysPqND;K{7!XErnJ*=~Om=FiNZuDm&pV2S) zEWWs}MF-)Fcy4+;dUWSb^?RQ@o;LGS2x8Lr%8M-?9?LGH6kAuIXPaJpLgT}uCz`%9kV z4M!$>StIOYMS6_(N@L9*X?odzE8}%r@e8+f)Z-&p&?~i_U=bgrvp2sur zF8DYety}j~yN<5=sN(oDC!J)`e6&T=RWHle{LHpT96$Go$J^t^&w2cJb{%U^9zT8J ziQX>Mk2vrD_~3&r-$zg0cc1qUdSBx^erFUs$H%1akM}eG;r<+c>wMR5;WcN^CmnGA zjUF_3mTn85)%sg3uc;Ru?>dd|P`$d(q+TN*fzQAn!udU$tNtDPk7AApF8Cgi?g?E-D+|4%RBC9qvij6|C^6E!lLCp{5rvR^VN2J z?uXvfALMhP>(XWCIeH#GDSZn%jxR^Q@hA8(wRfLi0yjn12gQ*+r(*GYwaDGz3(nw< zz9??8dO&~BY3Y{dh4CGX!(!Z)eE!r4C%8_E560uv+2C*T@-0Um`E%Q^^DWNax^0`q z@!vf4doTaXt6%*Kl}GY17H27|Kd}9#uYO$c-};aFcy4)ee;)iz_@DGc;n!!>URxcv z=k@U@eq8+Zd=CB_T-2XGG2pFI1h?|1Z1VzaDjz#oQjp zbDi<}Q%`lCqwAsj+<*2>haYawfxp4Gn0^}1N6`+`C&jol`5og=#tWwVo==p%d)^#e z$Pd!L>H3@PzKW&W!eMv+^}NPcOOJh>27bEJ>GaXT1N`#rO_yC}Jeoz1)lWN5gO8S{ zn3uo*aoTCl=O0~uc^k*E9e&d;(0T5czNO>0`DSlt;oBGFH~E%mx4bWT^cj2!xG;_` z-QL{{o_s%ejjpI(E;gN^ezbjTW#;!{-ee~HDESC{GrUUQ5IjbA`)K1f*W-@Q04!GflVA3Hn3uo?IKXb)^shXLyZ2#D9?YARkTMAoOf@_RvGUKM&u5exl1gZ&P>C z-zj{yJoGOo@S5w=Znz(Qq}Of6q4@9YPda~M<6nCZ@`#r2Gha1gd>Ovm)>&CzJm-Cw z-|zjl@SL;jp%dV%II``EHI7^<5>L1eIOD7Fhm41qr;r}`{I$wH@A1jwkGFa!KbQFn z#(Ck3ZNAX-c3PYbzkx2pXCm9tdHgv3y5}|HNpw5MsgXY+|3V%m$F<}c8DEk|CqId9 zGY=Yh@0n=tnFo~Ke>eE-<4DHeO`fTEJ%NWSwF$jw`p3;}ebBFlk2HVb^M&%;J|C#_ zUEd^BtkO9!4IHJO+GRDxcwX`s?uDy-xQ$?#t-)G+yJkr|CB1VDcsDN2CLm2h4RX z;<4ky{G`Soo;LzV9q;q)^oPQ;^m=}3?$TcHMMuc%;XlY@$shVWbIeDNVxEQZ7krwH zJRN>|8n1hOHvMxS9T8sB9(tY5eu4aTq22b#1ysqtYf%n*=_-*Unj3>U1LS?Jh zoX3lP-NsREz8U`kuZhW1@*KhA@qd2&*J;`(yw34L z%#X5OCFgHgXGLB+*3*JluKO-t4|%uRC3vm4!T5{+P;@^?{)71k^{1BKvhk76yD$&_ z{NF!m^Lyie|JcWj*Np4nBN1NrI-NXLztHkJkJEi^yosNtUqFZZNFIbpzOm1Tz-xRp z^ERwI>3L26#Jr7t|KRHfgV&kQMz7Vsxn7qKS#2f{uP;8kzr%mfPqI!;`goK0#JZ1M zzZC23Qr}|!n{gukqmS?#zTz`_UbCHckiI5#8orKcPZ4{5!{=V7$%9PuAFQ+L*O&Bq z&AM8f7xHzm>L*5#lp2lnDX~>84<3^ib z^!2aO0UtMtr|!>$r;i&MkErZEPW|52;PWNL>!q@F@y9p3cK^YA0r)eH@AG=B^N+ml zEbHjPSNFUoACmlxdB2S=4Y5! zXWlW^m*;xz=;zF@U1K~JzLmdTJUy3uWW(o){)6$2^vCmh(rsVY6Z2~56!o2cHF%vo z?A9y6Z+r>7C4ZOvj(Kw00e+pl2fhRTa)0y~9;3@Wk9$6o*TYZszM4G9g8qZ`1Tnt0 z=exo9Og>3|WJ~bd*Cmt>Su%C!Jpo?#`492e*ELZO@_{$29{AqHc+`fL^1I_}$1$AMkw*^HTT^`ZaAg zJ+SeI`)cwatVaOv27m82RbFT3)!)((05`>f|B!C@I0j$Myf5SV=wB^=(dspMYj~9Y zAo3!qv#kG*bs~)ah}jO}`vLq$<~7uxTmCTHPdD$~>o5F8hv9M0U;K0On04Z@-YIpO z_1KIPyY)_)*Nbt8J-_=md^NaACw!if@j3k^^+EkCtyb%3a05sB!6xtI`D*e~9k0zd zc-}hdmwJaU=qI{L9uB=l&nd%Ojz@=k{=!>$+UsoIU;X>fOz$GH9UUeQjlZD3$#r{- zgJV4+ewsXee(xUZLF~DGeT?w*{73IU$dhXSTs&9#>Q!ili{&+X9pAwi56p*{U-tYg z`H;w8!w>j`ekadk9&#FAIgflXItmZTv-N!BzU)VLIgfJgXWeP=m+yLMpZVP*>-Hk= z!8keR%b8b<-z9m*`aOJ{bi;Lm^$6&+>H+^({$mArK8@GC520R^7rDiBCf29r{CV`l zIgi|Zhnu|OI~2a3r5x)&(MkA~yo&D)S@)d&mUSo**-svw>ty~S_)FgT8T{ow@R)g~ zSZ_Ou^&iY9TE52D)$uZZ+QMgW&b{(@e26TKQ{hjo#9)5yM{o|YjlJ0 zxys&Ok`KWrYQ3@j4w(4>Tkk|(Bj>F@8T}fylU( z^H?{U>+E7(Qr?GkN^B4Q=65jUqgj{8cLU6i<2y9ZY4a|8$C)}^c-ZxU%w z_}%>dr?~GkcpvLnXa^Z-Kdj5+ccWOx6nxI_VQAOVcVAzPPeZ5C1L=g%zc6l*K5sHT z=yjU<*wuPn>*s?b5uCxDdZ1p!ldG*hm|tKV8TFd_EnWBdW5$)bp3N)cN8vsB-ps4u z*O~8$$U2Mk^U;1RukHC5@-pZszgLF7G7rdi5aYpYSMZtV6HY!)h3^0l>GpQRX_`)h zuij^X`zluPn!a>{Gdi*%>c@2k-GSfYJ9#S~@1x^<55hQ8=Q-ceH6q(t4@4CIJnsT; zXeadd@Spxc<33-n0`K8Dej)mY^u^@mhl)aR0Ln=^_nK#Zg_d&JBRZvi{mN($?#DHs?B8F*`#$PE z&I|b$kLW)>9{$h{;640;@91dgd+Is-3?GA@+c?3;yTN12o4aq0{5<*0%yZDbXn#7+ zzf;6_=sH{Ny}?EAwb{zTYoo;m&jHT6p=#?E|BL?s_om-;emDB#^@c7{pRDJB@6+4c+qs^OkVM)7C8@sg`MQTNgNp6B=&>9Bu~f?tQ9`1L-r zA3fIdjqU!l7y1kO6K(f=H2T~;x4)Op2Z!SGo~7)v?%wcvP=E7mr@lSHbE3|J7an`P zhd<~%{svu#cla0d6`uFwRm$w=czDcsK+iQ7?b7=b?oWGco}2d@;IS-l>!fEb0`u^D zQ13bpJ`5s!C&HhGPn(Tz@EaXP$MFmB6g?;EI__g=2R)DJ7tm$h-|t6z<9V9rAH3JI zwqokRRs{j^U{L>yC_CSm%5PnFF8s`3JStv#-W?v(4rmv;&p?;yC*X7Q9JIs1`>YCR zbBfeCyc@Ee}NJNyCqjo#u@`UsCXPS;~z)pc3?9n7Z`pZ6MS?a>!mh}YV`A$%|V zb3XR`Mt_O$p2+dKUh#R4*7(}GdBbnlYn6%4YjnHO*8#ubZ6Dz=de3#Vo%Z5+oaTPz zH`W&QR^@HQrvZC5ys!I;jwtf&jdl5Yf|JjT3py z{iZxtZ7u|M2?6*uPh2do=jAWg-=&AGlM8_*A^`7JIxg`s>hMBfRS;M%uUF+^>Y{}} zAy5bu0);>!PzV$Pg+L)t2owT^Kp{{F6as}nAy5bu0);>!PzV$Pg+L)t2owT^Kp{{F z6as}nAy5bu0);>!PzV$Pg+L)t2owT^Kp{{F6as}nAy5bu0);>!PzV$Pg+L)t2owT^ zKp{{F6as}nAy5bu0);>!PzV$Pg+L)t2owT^Kp{{F6as}nAy5bu0);>!PzV$Pg+L)t z2owT^Kp{{F6as}nAy5bu0);>!PzV$Pg+L)t2owT^Kp{{F6as}nAy5bu0);>!PzV$P zg+L)t2owT^Kp{{F6as}nAy5bu0);>!PzV$Pg+L)t2owT^Kp{{F6as}nAy5dcAq4*4 zKm5bGf7bi%uDFJvtykTR2+YIZQSf^Z4}I~A*W31mqOLnQuPHC7-Rwpv>Q;Zn2rR_o zp07H7gYo#EUiiX|ZPam_g5Mtd{ggSMIN|!s;{RW971X1z00N8UF}#D1uYJi&&Ntp_ z`(}&(_<|Q)9K60{zQ}Q$N92062kygtiHqR`DsOl1b1qg^Ief_&G!kdOiuD9?G zUcPd_{l0AcJ@UWDi!a+}pDk@MZZ!bbXJfWT^@)(}LBb8l$;UD~b`M&#ZH6Fg=MK9WJ@m2fp zzr*6;2OMzad{Ml+!uE^5ms{j~u19;|KJb6Byyy9K{sz1LLOjg}t1R~X?|F~z)82ZW=Y4p;;$sx#SBkWEkGgdIJqr=&>xue9uh1`TcRp*o`&xJ*KDa+Xk9!`&N9pPh zj9*t>aKVo(O1FPvQPTXyZP$IjoyyFbo%Mu51{uvr;hi21Yg7Zpyy3LRQwjce=UC#`0V-vuN5~0e>{%? zpH<(N1)p38;R|})^B6u#Pj9pHr0aJmj(&N^9TsQAzdNn`t2^)X_~CcF<1Q;lG(YX- z554{EzW;-7dz+u9=eXU@7a#q)+($a??S^)Q-lOyAJM9l$hv)P==(yg?#|zp&FTej< z>V0p2&I!EsepdCj-uOa2Qm>7kIiJx%_3!Q{cAR&f>oNQa-i_enN8b6)yN$2Ez2}~L z?E2!{y;eT?J@2{C;*?xGv}s>u(Pt(DRylQhjbT{%F7Z z4(e6=udwZ^U+>r92Rs(fO+V3H^Rv!BczN2f$39^D|M=j8588F)M;@{$U-7U-@z3Ju z&ksL5DF5l9hwM1c8^v{!|FntJL2fM1Xowq+SNTLwe@t7yuu@?%nV9ejs?BJ|_Ij=&{>wbKk=AUwQud?$c?fj7RZT+U|Ks`YUkJ`?){U zbsRUvQ9Nhq_OpoB=nwrZc@FAT`+XdSf2H4--nl=3U%}(q*+UO?9*Pgf*V!AkZ1MP} z!w>(N%Hz+Te6q#an=ZS|;^-H*-`On0{Lx#G>)h`vvK0tKTzAC^GJTS z)nRK7Estm4a^#W5W6PJc(R9?x@Sk=uBi%IJH~v{1f99l?!)mX;j6MgBF`TEl->V&yFcT}-f!zT@9z{np9Idkp-Sr(LIAwMpMF%) z*A;2|6;^+pPG=rXI_~*6`u)(&)YFd7=r24b!sqe&Q%{|b*XT98o(+FaJ6cG$$)lKG zFn z&-e%5$T(?=PS3>nkZ~ctVEnu%pD-OoXL~;PJciH2+>bvAAHsEMH|RCICU3%c(&jM- zeuTUUz9jmYQH(Eb{@&Xu;|1o6)LwlYA-;OPME=9)F@>A^5$5I518v`Iya!js@*}Ir zV=gV6eVh*7(i_iHGfu=e(%(jXnxF9b4(fjaoyKoW(`B1qG<_z*>pVXE3Oz>ymboD8`152*38_fx{j+PC>}$AxhRIsksf>uJneo$c^h(fuBJqIikb zm!gk$4_dz&0pkvb>xZhwds2!4-GHjHNFBp?s?62j_-B4_tVpKy3b=XznSf@ z_t(tdpx0A;Hsj>XYcqaah}Xioe8}ohd2rR9*Z2>{@hW@%Lp=8JKI?>{Kc>HCT$cHW z$V<`RvS#gs z1M`gVdC|UubykrNf!C~`8ZG3ng_ExbWZWp&Jl@HnNR36+AUMqV4h!4aUs@}e9 z^+aBedGg2)(4V7|3-NlIZo_Z<3CGbs@YC5Ju%0B=g}~<}>oa^Ns$EaYV~=9pmbE|g zUpYU6FJs=3aR}cd(C?ua=!fvGJl}wcD^qCrJn+@z_3+g?Zfv}!pY6wsk=N^a%{*Yg z&IA31xA+obZpW9$dMEOD=yTpL*8h!I56F7HSm(-kFntF6?P8zb!+)?2+~&u9y-V*u z`thRpd$r*uoG!Bnp7^_l*XwLQ^`L*&-wGfAp5WZz?(20_AD0{MoDG|SdU(VxW z9-RCJzB$(cvc5Iu4fDGL^3cqy=sny|ED#y@;-}H+5qZ6Co{@Dh#()3*hxOR_5A*;W z@pa<2&vSt{_!EniyM_QbHj%v3X47ZJi^AXYAdK%>zlIOtdl&Ks!83d=`D1ua?DH1r zeDXHF6QG@>UuHcu-ywACmf$Dz_>}v|{*2~hOFqUrQPzv% zgY&rX=b3-Q7sK1gSKuSyW3JzTj}dcw@HKT9{t`Jp@*VIw{WLnw_m_;9<;#6Ni1zz> z5b_`Bfbg9&9?#=HzAijapK)R6 zGv7Pf_|@mhm2a_jY(B$vTF>p@*VEpae<3eAPyVBLJ&}NdthF020uZ&gTL`y*-m(_(B~WK;v+D@;K)o=2RQ-FtkMX{a^Zplpqu;uo`xAU<$4474y1t`- zx}L9tW1T10fk$ko{V;#edEAfRN8o;;v-l+Am(Qc%lZp7K_)dWK#C)pd30KBt)AV~fZiDe#v2?m8-zt`cx9fF-yVnEtLVrrVQIGJOJc*8Te?oph`4P{5 z!3!eWD_!H_|_3S=H{jz_@ zD&H}P@Pp%|uf9GIpGukbLVu4=az5839|7-sp2Ji4uJ^J2#O84ZzvD-{qrK3+xG(Rg z>tAK(<2&fjblhOxMfWM4ULprq<8XMb==~-9R&>9u?XE-UH}#2Li3dBZzNvTZ_w^*` zI%WJQ$Dw;f+6l*TzV7cj3BPCuv=8_WAL%#XxvuMe0{)`M@R)W%ze9WCemocLnf6V4 z2cQ4nzMa3ylAiYgpFd$V8jVJy(Si|17-57FMi^oJ3tGJI7-K>RVF)3F5W@L!e!P-K z(nuOf*Rm|jvTWbcVp-PeeYZ!F_bnJ>LI@#*5JCunJnx(O_Ef#ob-K?veeONo_j7-F zrn+nW)VH2`tNKj(LHz3T+z)%bj&o<7y9H+Fq364%d*8|Vs`J}_Uzqi$-p7;k>bLzl zv%ddK%lTMy9b~@Le4aj->!kA0$FIqKu7~8l_OItXIZqzb&oiD$Zc}T${rNBbKG#L= z6JwsUKiS{fpZ>n6ru*|@t*>AIvpmO7o_ELY+UJ<%I(?>}pV|59InQ~l`ER%U=KQ9g z*Y`c|yK3@L*GqqoQ0u$X)|Y;myyyBzzpVB4yeH?mA0&^-XD!#CZmv7u z^ylO``;q;u<@>lJ*Lm%Ccd5F_b4_>0Yd>)|u$Ms2$E@ajZOwU|=ltD6?^`+FYqi$9 zxE_*|@w!Nk*6s(%dEOt_{QZ4o@|m31b<+PHIyIkXzV!dx7sfni``N$j|LnM*Y}aFb z9w&L;D{1#;rdh80d74e<{4H``eYBt7)S5qiY*A-7+f6sgBnD_Mesc{XBV3&F7gf{XgTNtT)?{=X;aCyS3F>uE(5@(~I2Ka$ECXpKs0kTJFd3&aRv% zr|Ijd`8?M{a$Ng!r}f>eH`i5t-mkaWer@f~HD7nQTj#@eu2&%E^8)okxu4}}(cgFF zy!NN(bggEblN_fnXT9}(o|7}qlIQD<(owDb0(tNKuI69lejL|~Ij{NCPy6#+@>$D$ zy!GF)=KJ*HF~>E3zkX`Hx2EOg`KS_iGj?{5+@G8Cl*ou{qk`n<a2PWwsrC`DRAqB=%~|*=%}izLVEowbmogCy|ijJcwD2$8o`!%ZpBr>(if) zGa^U5*9XY=)*NTOM~!3Wk5(Z0J9Ir-5IcTS0$0uTNntpclNCtLPxb&E7y$wV2oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5Fl`J0sh7%qws(|RcKXH& zBv)H%^4ja`AAR)6mg9YEt#7gXmgx&!2R9bbj@<}>ee+xM-J1GwudjXh;iuYkYUTUs zDd)ZB^RbTW8Lx{idC&E5Ztiacrk%KF0$XyNye#@~@|RpDxApn$Dc`-m=Anl^(x!LS zEceF8AAhFJpPKb%JE__J9=Xr{FX}x5w&A-fP&rwg_nJO8$H`st`npFR`PkHtKi=va z9((K)Q$9c0>YHBq%3qw(G5JZZlDp)xKEKoQ_suVU@uyp@MO0*dcNA~Pu;q;sQEneea9*arhy-T2?s?96t=ju@ za*%wCIj+xpzpcLc8!bP-@SgYdJbwCp@B6(r{kac(;161@zWYb5RzLmYRx6i((&|?} z{NY9Y(uY3Ozt8;Dr~C5HKK=CXw)wOEG4JX7>F>GDcI7+JfK?{YrYf3rOIev~|? zZ{>U^&-H!3|0l;k`>uEO9H+k~f5~O_)vr|!&wk=FMKn9?du<xb=MB*I~Lr2cKM5Zu|S&s!z9^vJkN*BK*Kr-+r`!Hj-uv%J<<+lueftK5c(yCabJg^l^q+p-Do_3S zDdXv!_o+{x{rFqo+VA_7i$2~+AIHU6M|JlF#{_pSOnT*3T?wOu9AE-XupEI+cYx%DH_VG#Hr)2zH`~St3 z=Zw26@BR1CT<^L5tM+~{bJVwIIlJ5cnOx_*Dy=j?7P0J_3g8N`uf*FyAKH9BNK1+Yh z^WZdoPJbQq+}@M49Iw?e*X_A)G44+P&p3S=w{OPr(|G#@yfqyqSL*XQ$t9u9Kl(xAAU&Uy|q3m0ah2`Q~|Y%6H!1 zV&`syzhap7Ss}Fa3R1#*-OmPUGqH z>9haxXMfh;L+AZl`e()q$z{gPd**s={E_QrGrpPL1CH-UG7cI0b#mRtRoliT?RSn=;Q5-NAet*=Zu>FPP^}<56t{B&VHhOALl(ziCGRH5bxwV#z6C+urZx_s4zv^y)ZdSFXo?UDJDwLoRS?%z6cZ4+--(A|@kM_UU$ou2zIdL=oNWYzOnp|)Ca{71P_vJnI_}*ja)A?O}98Yil z&Sdz#G4HLDTZMy2Msb+lFpBpc5YRq~Gf#kVr+;blKd8vH&-xVvj{kbUb0jB4u{N2aqck8^5 z$a}qvLxy~B-an@wC-=j6Bkw!fd$u;-NPljBciMkX%=I+&LWB#r$zrXCN)9;U~ z&x`wxtJ4?c`Vyf$z#_YHo%?D%4}QM&o!oz?`*MC)%-`kZz47LGZtB~czhfGvH@VGt zIW^-hTL zk z=I=7nUz7LE=XuV|d$=r@@p0a-$o-Mya=6NoCHvb=2T`&Fr=Njtf?~^jF82BRBPoB%+ zxpq9$b3^+(+TN$@`s#i93cs5hf9wk3HGH33SMB~|zpnn%pBpodtoP0R@7VJERQKP0 z{_FGh|I?-qZhps`#wnZW^vnER(X?E9Khp2}xlYEKyiMc!HeT=J-qd`b^-VcV-rN6| z)^fXzzE(5N&);d}`pWiloh7ezJ@&t& zPR(^t{kQ-ByLm62_2szo-XrhtYdrI;K7E+%UFTY6x$b?Xa?$Ufxu4ee{r*~?_xo+m zYxT3ww)0#0=Gb)`mz<0>*GuM0&GK1au7l)n%z1K}yw`eqAI^08f3Ck=FS(ww zz3g9(H+invzF`k zubS>2RpS%4UJrRrtm|+Bb-otoDd(@wYaf5-yw-V7-|FW(d0(r^#aJ_ct+!t%)tCGD zH8uGfbDx~oa(CwUi{w1HO-(;ej&oh)I@veRGlxa44|fKv={f}}FI)3npZD{b^P5_q z-)i}~XwCJJn%uADeaw0Cn0(gud(M;Fv1Yzp7qz{9f601l`F?$6KW6)t>w1yrn!h_; z=ee-%!wclRol|q3FI00qq}KWu*TpPPi~B*%*K@bl&y(}DnjEM9XFXZ3JRd$o$F#jlkem&dAw-N@>}Z-<*-{PCUAg!Z_RJkdtzJ; z=g0(-!$Z|0JAAu);sTe=^@+1Myb~2j-cR)K92Nlr1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAVA>83%vTl2cLLz?d4_bjXyv;cwY!yHosS0?!Lfvkatbs zoIIXQeR@$}|LCJnw$ImUt#2{^Inx)q58O2n8#+pXeRG`L*8I1od@t&2AAb0$_W4-X z=Fj@ZdfD6`CBB_Ln80OooV->JpKkem$-#&(3Q;&wN=v>&yC+`)qg2`>veVelM=m@wjW({5v6m+4=3~J$X(} z)^eQuC6_h-ue7{=`^#Vcg;uMtezDcc=a*ak&R4zaE8A+m&-~x^vX_0n%~yT)-|>o9e5uuJ=UZR;($BT&Tu0fT^!2)~`nadQUyNVI zaZ4R{f1b_tThr;|@?E~i{%_26<)Oc?NS-SXpKLiwzf2!Z->vz24wKKy-S4#dYrfx` z^7#9$R{#EkZME{+zt8+xKI==)Yd?F=clGm{?@rrJ_Ip#fiGb7zjfs=i$=$M&zz z+u}Z(^EmeD`n>nOI`4hFoIL;BQ&07AMRNDK4}75a;pDTHd#>_w_7BfJ*XxhJ^{roP z(?e~~mF@F3-e~h}a-a2Nz3Jm?`ObZ#^4rJp+288-{kgR6C;ho~%=hem)Zatq_-pwm z+y2C*>Jx3+znd+P^OWvcB(qwC3;qHGOx==O(}Z__eR~ zJpaVo-uCs%#o18Xd%O1e12rD+^G(-5%Tv$!nD1Oi8K2jEWYNFJd}q9rd}kbd%*BzU%n zFTUaAy3Si4Kc+9`eC9l-Pp1#&xiGn!p8q!EjpQ6i*M0iH%nd7hH?c=bTzTI*gC%L}2 z`CZ$3ou}Ska(=4z@niZ^_1XS+8@XSnPv<%9f_-|-^}c;N??v+d@9f9k@|JcTJ&^Hr z-uu=5_v&qQe`d%s_8SgTK}u*exJ>_GUJc*y}b9R@7sI4P0n__ z$4kD)y6ZV{XP?gaV|)*i_vvGv$8m^UUo}ZLYx%WYryte#cUsQVzw$mWeKEg#S1$VR zCV8&g^ZoR$Jn#LSnCmR>&uiSr=D#NbwArRzV73>xZbR@ zegEuD{HykUo#&wBy3Tt)pLtJ^_huQ#)^crpyBQzkxvrM)zq1Va&Nw4=ZM>2Gob_(r z=jA%8{pr8MK~@5p zl>8>QYjy0?xi95;vG)JmarIiRZ@{U&FLz;<=br04FQ#9QxlX?x$02zSQTcdo-na9f zZ_H`_&MANAF)f#VoafIMJP+pnkoR}H#v5xn9zQRKMW3$gW$XLB^y!-ab{mhxDQ@-o zqF>*ap}GMFy>G572Ynop@n-sAp3l-h(@$%?E#I5JOG-b__qh(H=grOEspfq~#us@G zOkd9Xm)tML=fN?ryQbIrbmg@Fj$X&v-)q)>^uH_5b#DA|1HyaGF6_#6#@999otD#_ z@8l)eRG|DmEYYm9;x%Z_5XiK9#b=3$nPV`=UPo49^YdmkNMqXtjTHSTdSEb z%h&NO{vNyb>)hwW`u?fuI)8GyFByN_>oCu@zbn`EeIG|wf9mhG^8A$NspLETFgeUP zCDVC+OP=!lndMW*&y%(pLO2* z^Wv3pB-A$>o6G1F@`^QC6KtS{>ybDsT3 z&HiM*G0!=!ny(*co)c@@|0i<-?SDx9j}(e5Y^C?#q3AlKXXXkz8gv-zP7%zJ7hI)yy~6%GY9h*-mnq>nC{~Yp#RL zm+NHQzqLHq_WSi--{-#8-HzZC-`Bf1%XiLOY9E(WPV&5z{?+?1|E_T(- zKh~@-+Zl77>nM4z<@^04)2YdEme2aKz4|=I*N=NG&o#eXAHfxq^R%V*e9zAB)|@8~ zW6kxDTI=u2r{?pqj_b+wP|Iz-p3>iIx!%{un(u2n{eF?_Bn3?jK9kqAn)y<*eAb)o)%18g@_by8z0}^$ za=kd;2l#x<(_%WgOHCeAlha)_^JhJ&_4#6ZHN7~#OJP~)y+6xbuDXH$PZRNbrJXTNTunSHu>0?Esky2$P8 zAAR)6mgm%(|JIc63)L*2TI*SCXEwc8-fy0$J-U|y`{p?LeeJ^!KQ-n0=~mzP_~Xx9 zrdFQ&@>yTjpPZ-8@;&DM+`QjQQ`^3G0<%0X@-oX)@4v}k^81>H9{Nbjapm!&t-kJ& zM?ThS&G+&1YUaywSx@c9?P8H-CneR=neC02;`QGr@W1na>c|TyzxAyVclz%5EFw1j4@5yt<0b@T- zj+4XWw&wrLl*eCg^;=*1($BS8^Z&}Wn(x2mB`^7G`~I6>{NhiyI_5mv%XO5TXTR$E zt^K?{AIJN-|HyYapZdR9u5;dRwR|Nv$y54ha+e$@pWpVfmwmo1_w6r#`4^_;zu4+` zyy6vKn%7!y|2*^6dVjTjpZq81xn6SpWczDFRs^{+&Kux$Vz^8TTeL*HGyYGmQk^y%F1(PZd*uwbOQu(esbQ@r*dDe{Pg!8 z$<5fOYq>ryNdA(`0Q)}btC+j1q))FsFYcRb{d!kI zj`REEI{m0>zyIcZSN{6@h5EdYKa#8T&*X2+WpcY#$N4jz_2qiWcE&!P>n!ijYrcN{ z?aFidb{)^TC8XY%1s}qkK>KX zWBv0^CTvb2oe{YxkC6CEzrpKE3$C~j) z?gM!q%ypFUbM6~;z3lbABmFrw{W*1ZeEReW#eXf=b>92nR=gDVkmK$rXmwj`be6H2(Z|XQ-a-H#X9skx`*XL)` z^WtK>c2XfY!GlSjQ|tUMa$S9~KR+f1>5~};WL%Iursnfp2bsUN)BA0vQ}cPA`?8(2 zJZ68!?{`gSx!TV@o=&cFob|ci%}*fb$@8qHKiwLhpL#z_F46~+zcG*bJ~_*B`_?gc z$zMKC9oLubrH@T+?w-R@7DQdpKsltL%Uhu{Vi~bd?%N?@|*87 z|JHhc>pS|pEpUarZ_V$xzPo)qwnt!_z?jR+PH$Vc&j{QUfnB-2Df?+Z2oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAVA>W3cUKk2cLLz?ZS1{dwX=Ye(C~y# z&GOgt`r3ydeyZg+wZ4CP%K5o9^QY!I$of;|{8W;4Z;oRv&$E0ja-96W@$tu>X*o`< z_1vEN^tm3i*L`*&Ah%)u-_i~gM4C5Opn^830+9{E_y zb84;UDtS#p;=CZEagMQfJN z`ckuoL#im&sZ3H|BCzj@P~)*OT>+ z`Obcfxt{Is+Iz-x`}a|wL_7ZifmyB>eLA^Gj*{o(EV)Y_*YdjW=UGo`)}QTV``MqG zFZYjg$0Idg&v_l^xw($R3xIrZR027VvzqhXb27`#?eoSRV{R*VpKSA|j^D3MC(o&e z&h@_eKB|*wXI~&N<~iqmSD#MqQpcPo&#B}0Ytva@s$9R|l=)x}fic%LeWgB~ye7}7 z`FvMRo>O<_I@e$JJGGYII=&u1ulaL-%5z1pd(fHX1`5>qT%5<8@8qQN*ncm~csBV; z-convbl>l@zOiPz8DH0a_wi88xAlF

iFc8+hvM(m4V-Z&iE0s+{!xmR#58=Z>e7 zzkPGNYrd>6b#$4C*LB=1u@;iQ?9FH}*PM&j}?aK4)IE+K? z!*K7)b@G(^|CqZ>k2zhN&irdNIZn-Xljrp5+5Mznhskkjt^cBVHoiWg{9iQJ$=g~k zFZ+4cn;hqQ8uMK1KghTvxv%wa&2wB%=v3cVhm!L*JHHnihm1K+KKHH3acc6MzPu~P zwcpv_z54T(Ja5hQeHDTeJlHYUIq$j8Ctt~1@^{&q^^CRlqd%W!d)Jlc9N+9Zmh02b z^%L!P!P$9FAME%2vclmR++jD<1zz*cD3Y?Rxt$AF_@4la( zlXLz1uAceR-q@C0FY>%^UN1VIe4lo%?$y!l%5!pe(Y#)C{%mJU)xYmmIF5L`yK=oN zpSAq0>G^R{cP+Q}{Y7(~{XgPUVAl^QkUY%lg~lDV+#<(o(`)%%`@Gh(*pJ!%o!hrF z-vNoN>WBn#{4UwlKz9rAuzbobXBu<)x*eP&C zxxP}KbDTRt%y1F{Ip1S{yjy)a+Zne%n?6XMbDSq}(j3H2ft>GIy{qGpS$;FlNR{WE zXU`040<%0PN6FQt@_kND7wg?JU$%cOb?x|lewqSXa-Cf5%HdVN&vvf0p5|F|RQn2? zlkeni%yB-y(RJVBH{WRs?2+$l$#GNwA6={1<`43GAD{>zeOyM`BF`o)@^TyzaZ+=l8^a5xBa*zPY=u`L2Eh)XG 0] = 1 + + # Smooth the data using a given kernel + if gauss_size > 0: + volume = ndimage.filters.gaussian_filter(volume, gauss_size) + + # Normalize the data to a given power, 0 means nothing is changed + if normalize is True: + volume = (volume - np.mean(volume)) / np.std(volume) + + return(volume) + + +class SelectionFuncs: + """Evaluate the voxels according to the given metric.""" + + # Perform a one sample t test against zero for each voxels across time + def ttest_score(volume): + return stats.ttest_1samp(volume, 0, axis=1)[1] + + # Calculate the variance for each voxels across time + def variance_score(volume): + return np.var(volume, axis=1) + + +def _select_voxels(volume, voxel_number=1000, + selectionfunc=SelectionFuncs.ttest_score): + """Select voxels that perform best according to some function + + Parameters + ---------- + + volume : 2d array, float + fMRI data, voxel by TR. + + voxel_number : int, default: 1000 + How many voxels are you going to use. + + selectionfunc: Option[Callable[[ndarray], ndarray], + SelectionFuncs.ttest_score] + What function are you going to use to select the top voxels. + + Returns + ---------- + + Iterable[bool] + The voxels that have been selected + + """ + # TODO: use more advanced voxel selection procedures + # Reduce the number of voxels to be considered if it exceeds the limit + if voxel_number > volume.shape[0]: + voxel_number = volume.shape[0] + + # Run the one function that was test + altered_voxel = selectionfunc(volume) + + # Only keep voxels over the threshold + threshold = sorted(altered_voxel)[volume.shape[0] - voxel_number] + + # Which voxels are best, needed for later + selected_voxels = altered_voxel >= threshold + + return selected_voxels + + logging.info('Voxel Selection complete') + + +def _mds_conversion(volume, selected_voxels, dist_metric, dimensions=2): + """Select voxels that perform best according to some function + + Parameters + ---------- + + volume : 2d array, float + fMRI data, voxel by TR. + + selected_voxels : int + Which indexes, according to volume, are selected + + dist_metric: 2d array, float + The distance matrix, the same size as len(selected_voxels) by len( + selected_voxels) + + Returns + ---------- + + ndarray[float].shape(selected_voxels.shape(0),dimensions) + The coordinates, listed as voxel by dimension, as the output of MDS + """ + # Run classical MDS, project into dimensions + + import sklearn.manifold + # Make the object for the mds + mds = sklearn.manifold.MDS(n_components=dimensions) + mds_coords = mds.fit(dist_metric) + + # Specify the coordinates + selected_coordinates = np.empty((volume.shape[0], dimensions)) # Preset + # Put the MDS coordinates where they are supposed to go + selected_coordinates[selected_voxels, ] = mds_coords.embedding_ + + return selected_coordinates + + +class DistanceFuncs: + """Collection of distance functions""" + # TODO: Get distance metrics from the Han lab + # Calculate the correlation + def compute_corr(cor_matrix): + return cor_matrix + + # Calculate the euclidean distance between + def compute_euclidean_distance(cor_matrix): + return spatial.distance.squareform(spatial.distance.pdist(cor_matrix)) + + # Take the inverse of the correlation matrix (kind of) + def compute_inverse_corr_distance(cor_matrix): + return 1 - cor_matrix + + # Take the inverse of the abs correlation matrix (kind of) + def compute_inverse_abs_corr_distance(cor_matrix): + return 1 - abs(cor_matrix) + + +def convert_space(volume, voxel_number=1000, + selectionfunc=SelectionFuncs.ttest_score, + distancefunc=DistanceFuncs.compute_corr, + run_mds=False, dimensions=2): + """Correlate voxels and process the correlation matrix + + Parameters + ---------- + + volume : list of 4d array, float + fMRI volumes, by TR. + + voxel_number : int, default: 1000 + How many voxels are you going to use + + selectionfunc : Option[Callable[[ndarray], ndarray], + SelectionFuncs.ttest_score] + What function are you going to use to select the top voxels + + run_mds : bool, default: False + Lower the dimensionality of the correlation matrix + + dimensions : int, default: 2 + How many dimensions are you reducing the correlation matrix to + + distancefunc : Option[Callable[[ndarray], ndarray], + DistanceFuncs.compute_euclidean_distance] + What function are you going to use to convert the correlation matrix + + Returns + ---------- + + ndarray, float + The coordinates, listed as voxel by dimension, as the output of MDS + """ + # Handle exceptions in the values of the volume input + if len(volume.shape) != 2: + logging.exception('Volume is only {} dimensions, requires 2 ' + 'dimensional data'.format(len(volume.shape))) + quit() + + selected_voxels = _select_voxels(volume, voxel_number, selectionfunc) + + # TODO: use fcma toolbox to calculate the correlation matrix + cor_matrix = np.corrcoef(volume[selected_voxels, ]) + + dist_metric = distancefunc(cor_matrix) + + if run_mds == 1: + converted_space = _mds_conversion(volume, selected_voxels, + dist_metric, dimensions) + else: + converted_space = dist_metric + + return converted_space diff --git a/examples/utils/requirements.txt b/examples/utils/requirements.txt new file mode 100644 index 000000000..6ccafc3f9 --- /dev/null +++ b/examples/utils/requirements.txt @@ -0,0 +1 @@ +matplotlib diff --git a/examples/utils/simulator_example.py b/examples/utils/simulator_example.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/utils/test_simulator.py b/tests/utils/test_simulator.py new file mode 100644 index 000000000..e69de29bb From 54c00c725e68f272944cc1679fce639286994215 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Tue, 4 Oct 2016 15:50:47 -0400 Subject: [PATCH 07/25] Error in uploading simulator --- brainiak/utils/simulator.py | 1099 +++++++++++++++++++++++---- examples/utils/simulator_example.py | 86 +++ tests/utils/test_simulator.py | 154 ++++ 3 files changed, 1186 insertions(+), 153 deletions(-) diff --git a/brainiak/utils/simulator.py b/brainiak/utils/simulator.py index 4bfc4fd01..6827c952c 100644 --- a/brainiak/utils/simulator.py +++ b/brainiak/utils/simulator.py @@ -12,24 +12,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Topological Data Analysis +"""Brain Simulator -Prepare the steps for TDA analyses: - -Preprocess the volumes involving binarizing, smoothing and normalizing - -Run a correlation of every voxel against every other voxel - -Takes in a time series, ignoring the conditions. -It does some voxel selection on this time series. -It then runs a correlation on all of these selected voxels. -Now each voxel can be represented as existing in a higher dimensional space now - -volume is organized as an Voxel x Timepoint matrix -voxel_number describes how many voxels are to be used in the correlation -selection contains the procedure for selecting voxels: Ttest, Variance -distance is the procedure for calculating the distance matrix: -Dist, InverseCor, InverseAbsCor or none +Simulate neural data for a single subject. This involves specifying what +feature_type of noise and signal will be present in the data, as well as basic +properties like the number of voxels and TRs to be simulated Authors: Cameron Ellis (Princeton) 2016 """ @@ -37,229 +24,1035 @@ import numpy as np import scipy.ndimage as ndimage -from scipy import spatial +import math from scipy import stats __all__ = [ - "convert_space", - "DistanceFuncs", - "preprocess", - "SelectionFuncs", + "generate_signal", + "double_gamma_hrf", + "apply_signal", + "generate_noise", + "mask_brain", + "plot_brain", ] logger = logging.getLogger(__name__) -def preprocess(volume, t_score=True, gauss_size=0, normalize=False): - """Preprocess the data for TDA relevant features +def _generate_feature(feature_type, feature_size, signal_magnitude): + """Generate signal in specific regions of the brain with for a single + volume. This will then be convolved with the HRF across time + + Parameters + ---------- + + feature_type : str + What feature_type of signal is being inserted? Options are cube, + loop, cavity, sphere. + + feature_size : int + How big is the signal? + + signal_magnitude : float + What is the value of the signal voxels in the feature + + Returns + ---------- + + 3 dimensional array + The volume representing the signal to be outputed + + """ + + # What kind of signal is it? + if feature_type == 'cube': + + # Preset the size of the signal + signal = np.ones(np.power(feature_size, 3)) + + # Reorganize the signal into a 3d matrix + signal = signal.reshape([feature_size, + feature_size, + feature_size]) + + elif feature_type == 'loop': + + # First make a cube of zeros + signal = np.zeros(np.power(feature_size, + 3)).reshape([feature_size, + feature_size, + feature_size]) + + # Make a mesh grid of the space + seq = np.linspace(0, feature_size - 1, + feature_size) + xx, yy = np.meshgrid(seq, seq) + + # Make a disk corresponding to the whole mesh grid + disk = ((xx - ((feature_size - 1) / 2)) ** 2 + + (yy - ((feature_size - 1) / 2)) ** 2) + + # What is the outer disk + outer = disk < (feature_size - 1) + + # What is the inner disk + inner = disk < (feature_size - 1) / 2 + + # Subtract the two disks to get a loop + loop = outer != inner + + # If there is complete overlap then make the signal just the + # outer one + if np.all(loop is False): + loop = outer + + # store the loop + signal[0:feature_size, 0:feature_size, int(np.round(feature_size / + 2))] = loop + + elif feature_type == 'sphere' or feature_type == 'cavity': + + # Make a mesh grid of the space + seq = np.linspace(0, feature_size - 1, + feature_size) + xx, yy, zz = np.meshgrid(seq, seq, seq) + + # Make a disk corresponding to the whole mesh grid + signal = ((xx - ((feature_size - 1) / 2)) ** 2 + + (yy - ((feature_size - 1) / 2)) ** 2 + + (zz - ((feature_size - 1) / 2)) ** 2) + + # Is the signal a sphere or a cavity? + if feature_type == 'sphere': + signal = signal < (feature_size - 1) + + else: + # Get the inner and outer sphere + outer = signal < (feature_size - 1) + inner = signal < (feature_size - 1) / 2 + + # Subtract the two disks to get a loop + signal = outer != inner + + # If there is complete overlap then make the signal just the + # outer one + if np.all(signal is False): + signal = outer + + # Assign the signal magnitude + signal = signal * signal_magnitude + + # Return the signal + return signal + + +def _insert_idxs(feature_centre, feature_size, dimensions): + """What are the coordinates of where to insert the signal? Parameters ---------- - volume : 2d array, float - fMRI data, voxel by TR. + feature_centre : list, int + List of coordinates for the centre location of the signal - t_score : boolean, default: True - Do you use the t values of the data or do you binarize based on some - threshold? + feature_size : list, int + How big is the signal. - gauss_size: float, default: 0 - Sigma for the 3d smoothing kernel. + dimensions : 3 length array, int + What are the dimensions of the volume you wish to create - normalize : boolean, default: True - The power value for the normalization procedure. Returns ---------- + x_idxs : tuple + The x coordinates of where the signal is to be inserted + + y_idxs : tuple + The y coordinates of where the signal is to be inserted + + z_idxs : tuple + The z coordinates of where the signal is to be inserted - 2d array, float - Preprocessed fMRI data, voxel by TR. """ - # Handle exceptions in the values of the volume input - if len(volume.shape) != 2: - logging.exception('Volume is only {} dimensions, requires 2 ' - 'dimensional data'.format(len(volume.shape))) - quit() - # Binarize the data - if t_score is False: - volume[abs(volume) > 0] = 1 + # Set up the indexes within which to insert the signal + x_idx = [int(feature_centre[0] - (feature_size / 2)), + int(feature_centre[0] - (feature_size / 2) + + feature_size)] + y_idx = [int(feature_centre[1] - (feature_size / 2)), + int(feature_centre[1] - (feature_size / 2) + + feature_size)] + z_idx = [int(feature_centre[2] - (feature_size / 2)), + int(feature_centre[2] - (feature_size / 2) + + feature_size)] + + # Check for out of bounds + # Min Boundary + if 0 > x_idx[0]: + x_idx[0] = 0 + if 0 > y_idx[0]: + y_idx[0] = 0 + if 0 > z_idx[0]: + z_idx[0] = 0 + + # Max Boundary + if dimensions[0] < x_idx[1]: + x_idx[1] = dimensions[0] + if dimensions[1] < y_idx[1]: + y_idx[1] = dimensions[1] + if dimensions[2] < z_idx[1]: + z_idx[1] = dimensions[2] + + # Return the idxs for data + return x_idx, y_idx, z_idx + + +def generate_signal(dimensions, + feature_coordinates, + feature_size, + feature_type, + signal_magnitude, + signal_constant=1, + ): + """Generate signal in specific regions of the brain with for a single + volume. This will then be convolved with the HRF across time - # Smooth the data using a given kernel - if gauss_size > 0: - volume = ndimage.filters.gaussian_filter(volume, gauss_size) + Parameters + ---------- + + dimensions : 3 length array, int + What are the dimensions of the volume you wish to create + + feature_coordinates : multidimensional array, int + What are the feature_coordinates of the signal being created. + Be aware of clipping: features far from the centre of the + brain will be clipped. If you wish to have multiple features + then list these as an features x 3 array. To create a signal of + a specific shape then supply all the individual + feature_coordinates and set the feature_size to 1. + + feature_size : list, int + How big is the signal. If m=1 then only one value is accepted, + if m>1 then either one value must be supplied or m values - # Normalize the data to a given power, 0 means nothing is changed - if normalize is True: - volume = (volume - np.mean(volume)) / np.std(volume) + feature_type : list, string + What feature_type of signal is being inserted? Options are cube, + loop, cavity, sphere. If features = 1 then + only one value is accepted, if features > 1 then either one value + must be supplied or m values - return(volume) + signal_magnitude : list, float + What is the (average) magnitude of the signal being generated? + signal_constant : list, bool + Is the signal constant or is it a random pattern (with the same + average magnitude) -class SelectionFuncs: - """Evaluate the voxels according to the given metric.""" + Returns + ---------- + volume_static : 3 dimensional array, float + Creates a single volume containing the signal + + """ - # Perform a one sample t test against zero for each voxels across time - def ttest_score(volume): - return stats.ttest_1samp(volume, 0, axis=1)[1] + # Preset the volume + volume_static = np.zeros(dimensions) - # Calculate the variance for each voxels across time - def variance_score(volume): - return np.var(volume, axis=1) + feature_quantity = round(feature_coordinates.shape[0]) + # If there is only one feature_size value then make sure to duplicate it + # for all signals + if len(feature_size) == 1: + feature_size = feature_size * feature_quantity -def _select_voxels(volume, voxel_number=1000, - selectionfunc=SelectionFuncs.ttest_score): - """Select voxels that perform best according to some function + # Do the same for feature_type + if len(feature_type) == 1: + feature_type = feature_type * feature_quantity + + if len(signal_magnitude) == 1: + signal_magnitude = signal_magnitude * feature_quantity + + # Iterate through the signals and insert in the data + for signal_counter in list(range(0, feature_quantity)): + + # What is the centre of this signal + if len(feature_size) > 1: + feature_centre = np.asarray(feature_coordinates[signal_counter, ]) + else: + feature_centre = np.asarray(feature_coordinates)[0] + + # Generate the feature to be inserted in the volume + signal = _generate_feature(feature_type[signal_counter], + feature_size[signal_counter], + signal_magnitude[signal_counter], + ) + + # If the signal is a random noise pattern then multiply these ones by + # a noise mask + if signal_constant == 0: + signal = signal * np.random.random([feature_size[signal_counter], + feature_size[signal_counter], + feature_size[signal_counter]]) + + # Pull out the idxs for where to insert the data + x_idx, y_idx, z_idx = _insert_idxs(feature_centre, + feature_size[signal_counter], + dimensions) + + # Insert the signal into the Volume + volume_static[x_idx[0]:x_idx[1], y_idx[0]:y_idx[1], z_idx[0]:z_idx[ + 1]] = signal + + return volume_static + + +def generate_stimfunction(onsets, + event_durations, + total_time, + tr_duration, + ): + """ + When do stimuli onset, how long for and to what extent should you + resolve the fMRI time course Parameters ---------- - volume : 2d array, float - fMRI data, voxel by TR. + onsets : list, int + What are the timestamps for when an event you want to generate + onsets? + + event_durations : list, int + What are the durations of the events you want to generate? If + there is only one value then this will be assigned to all onsets - voxel_number : int, default: 1000 - How many voxels are you going to use. + total_time : int + How long is the experiment in total. - selectionfunc: Option[Callable[[ndarray], ndarray], - SelectionFuncs.ttest_score] - What function are you going to use to select the top voxels. + tr_duration : float + What is the TR duration, related to the precision of the boxcar. Returns ---------- Iterable[bool] - The voxels that have been selected + The time course of stimulus related activation + + """ + + # If only one duration is supplied then duplicate it for the length of + # the onset variable + if len(event_durations) == 1: + event_durations = event_durations * len(onsets) + + # Generate the time course as empty + stimfunction = [0] * round(total_time / tr_duration) + + # Cycle through the onsets + for onset_counter in list(range(0, len(onsets))): + # Adjust for the resolution + onset_idx = round(onsets[onset_counter] / tr_duration) + + # Adjust for the resolution + offset_idx = round((onsets[onset_counter] + event_durations[ + onset_counter]) / tr_duration) + + # For the appropriate indexes and duration, make this value 1 + idxs = round(event_durations[onset_counter] / tr_duration) + stimfunction[onset_idx:offset_idx] = idxs * [1] + + return stimfunction + + +def double_gamma_hrf(stimfunction, + response_delay=6, + undershoot_delay=12, + response_dispersion=0.9, + undershoot_dispersion=0.9, + undershoot_scale=0.035): + """Model a double gamma HRF + + Parameters + ---------- + stimfunction : list, bool + What is the time course of events to be modelled in this + experiment + + response_delay : float + How many seconds until the peak of the HRF + + undershoot_delay : float + How many seconds until the trough of the HRF + + response_dispersion : float + How wide is the rising peak dispersion + + undershoot_dispersion : float + How wide is the undershoot dispersion + + undershoot_scale :float + How big is the undershoot relative to the peak + + Returns + ---------- + + one dimensional array + The time course of the HRF convolved with the stimulus function + + + """ + + hrf_length = 30 # How long is the HRF being created + + hrf = [0] * hrf_length # How many seconds of the HRF will you model? + + for hrf_counter in list(range(0, hrf_length - 1)): + # When is the peak of the two aspects of the HRF + response_peak = response_delay * response_dispersion + undershoot_peak = undershoot_delay * undershoot_dispersion + + # Specify the elements of the HRF for both the response and undershoot + resp_pow = math.pow(hrf_counter / response_peak, response_delay) + resp_exp = math.exp(-(hrf_counter - response_peak) / + response_dispersion) + + response_model = resp_pow * resp_exp + + undershoot_pow = math.pow(hrf_counter / undershoot_peak, + undershoot_delay) + undershoot_exp = math.exp(-(hrf_counter - undershoot_peak + / undershoot_dispersion)) + + undershoot_model = undershoot_scale * undershoot_pow * undershoot_exp + + # For this time point find the value of the HRF + hrf[hrf_counter] = response_model - undershoot_model + + # Convolve the hrf that was created with the boxcar input + signal_function = np.convolve(stimfunction, hrf) + + # Cut off the HRF + signal_function = signal_function[0:len(stimfunction)] + + return signal_function + + +def apply_signal(signal_function, + volume_static): + """Generate the scanner noise + Apply the convolution of the HRF and stimulus time course to the + volume. + + Parameters + ---------- + signal_function : list, float + The one dimensional timecourse of the signal over time. + Found by convolving the HRF with the stimulus time course. + + volume_static : multi dimensional array, float + + + Returns + ---------- + multidimensional array, float + Generates the spatial noise volume for these parameters + + """ + + # Preset volume + signal = np.ndarray([volume_static.shape[0], volume_static.shape[ + 1], volume_static.shape[2], len(signal_function)]) + + # Iterate through the brain, multiplying the volume by the HRF + for tr_counter in list(range(0, len(signal_function))): + signal[0:volume_static.shape[0], + 0:volume_static.shape[1], + 0:volume_static.shape[2], + tr_counter] = signal_function[tr_counter] * volume_static + + return signal + + +def _generate_noise_system(dimensions, + sigma=1.5, + ): + """Generate the scanner noise + Generate the noise that is typical of a scanner. This is comprised + of two types of noise, Rician and Gaussian + + Parameters + ---------- + dimensions : n length array, int + What are the dimensions of the volume you wish to insert + noise into. This can be a volume of any size + + sigma : float + What is the standard deviation of this noise? + + Returns + ---------- + system_noise : multidimensional array, float + Create a volume with system noise + + + """ + + # Generate the Rician noise + noise_rician = stats.rice.rvs(1, sigma, size=dimensions) + + # Apply the gaussian noise + noise_gaussian = np.random.normal(0, sigma, size=dimensions) + + # Combine these two noise types + noise_system = noise_rician + noise_gaussian + + return noise_system + + +def _generate_noise_temporal_task(stimfunction, + motion_sigma, + motion_noise='gaussian', + ): + """Generate the signal dependent noise + This noise depends on things like the signal or the timing of the + experiment. + + Parameters + ---------- + + stimfunction : 1 Dimensional array + This is the timecourse of the stimuli in this experiment + + motion_sigma : float + + How much noise is left over after pre-processing has been + done. This is noise specifically on the task events + + motion_noise : str + What type of noise will you generate? Can be gaussian or rician + + Returns + ---------- + one dimensional array, float + Generates the temporal task noise timecourse + """ - # TODO: use more advanced voxel selection procedures - # Reduce the number of voxels to be considered if it exceeds the limit - if voxel_number > volume.shape[0]: - voxel_number = volume.shape[0] - # Run the one function that was test - altered_voxel = selectionfunc(volume) + noise_task = [] + if motion_noise == 'gaussian': + noise_task = stimfunction + (stimfunction * + np.random.normal(0, + motion_sigma, + size=len(stimfunction))) + elif motion_noise == 'rician': + noise_task = stimfunction + (stimfunction * + stats.rice.rvs(0, + motion_sigma, + size=len(stimfunction))) - # Only keep voxels over the threshold - threshold = sorted(altered_voxel)[volume.shape[0] - voxel_number] + return noise_task - # Which voxels are best, needed for later - selected_voxels = altered_voxel >= threshold - return selected_voxels +def _generate_noise_temporal_drift(trs, + tr_duration, + drift_sigma, + timepoints, + ): - logging.info('Voxel Selection complete') + """Generate the drift noise + According to AFNI (https://afni.nimh.nih.gov/pub/dist/doc/ + program_help/3dDeconvolve.html) the appropriate order of the + polynomial to fit for temporal drift is calculated as follows + Parameters + ---------- + + trs : int + How many TRs are there + + tr_duration : float + How long is each TR -def _mds_conversion(volume, selected_voxels, dist_metric, dimensions=2): - """Select voxels that perform best according to some function + drift_sigma : float + How large are the coefficients controlling drift + + timepoints : 1 Dimensional array + What time points are sampled by a TR + + Returns + ---------- + one dimensional array, float + Generates the autoregression noise timecourse + + """ + + # Calculate the coefficients of the drift for a given function + degree = round(trs * tr_duration / 150) + 1 + coefficients = np.random.normal(0, drift_sigma, size=degree) + + # What are the values of this drift + noise_drift = np.polyval(coefficients, timepoints) + + # Return noise + return noise_drift + + +def _generate_noise_temporal_autoregression(auto_reg_rho, + auto_reg_order, + auto_seg_sigma, + timepoints, + ): + + """Generate the autoregression noise Parameters ---------- - volume : 2d array, float - fMRI data, voxel by TR. + auto_reg_sigma : float - selected_voxels : int - Which indexes, according to volume, are selected - dist_metric: 2d array, float - The distance matrix, the same size as len(selected_voxels) by len( - selected_voxels) + auto_reg_order : float + + + auto_reg_rho : float + + timepoints : 1 Dimensional array + What time points are sampled by a TR Returns ---------- + one dimensional array, float + Generates the autoregression noise timecourse + """ + + if len(auto_reg_rho) == 1: + auto_reg_rho = auto_reg_rho * auto_reg_order # Duplicate this so that + # there is one + # for each value + + noise_autoregression = [] + for tr_counter in list(range(0, len(timepoints))): + + if tr_counter == 0: + noise_autoregression.append(np.random.normal(0, auto_seg_sigma)) + + else: + + temp = [] + for pCounter in list(range(1, auto_reg_order + 1)): + if tr_counter - pCounter >= 0: + past_trs = noise_autoregression[int(tr_counter - pCounter)] + past_reg = auto_reg_rho[pCounter - 1] + random = np.random.normal(0, auto_seg_sigma) + temp.append(past_trs * past_reg + random) + + noise_autoregression.append(np.mean(temp)) + + return noise_autoregression + + +def _generate_noise_temporal_phys(timepoints, + physiological_sigma, + resp_freq=0.2, + heart_freq=1.17, + ): + """Generate the physiological noise. + + Parameters + ---------- + + timepoints : 1 Dimensional array + What time points are sampled by a TR + + physiological_sigma : float + How variable is the signal as a result of physiology, + like heart beat and breathing - ndarray[float].shape(selected_voxels.shape(0),dimensions) - The coordinates, listed as voxel by dimension, as the output of MDS + resp_freq : float + What is the frequency of respiration + + heart_freq : float + What is the frequency of heart beat + + Returns + ---------- + one dimensional array, float + Generates the physiological temporal noise timecourse """ - # Run classical MDS, project into dimensions - import sklearn.manifold - # Make the object for the mds - mds = sklearn.manifold.MDS(n_components=dimensions) - mds_coords = mds.fit(dist_metric) + noise_phys = [] # Preset + for tr_counter in timepoints: + # Calculate the radians for each variable at this given TR + resp_radians = resp_freq * tr_counter * 2 * np.pi + heart_radians = heart_freq * tr_counter * 2 * np.pi + + # Combine the two types of noise and append + noise_phys.append(np.cos(resp_radians) + np.sin(heart_radians) + + np.random.normal(0, physiological_sigma)) + + return noise_phys + + +def _z_score(value): + """Z score a list + + Parameters + ---------- + + value : list, float + Data to be z scored + + Returns + ---------- + list, float + Z scored data + """ + + return (np.mean(value) - value) / np.std(value) + + +def _generate_noise_temporal(stimfunction, + tr_duration, + z_score=1, + motion_sigma=15, + drift_sigma=15, + auto_seg_sigma=15, + auto_reg_order=1, + auto_reg_rho=[1], + physiological_sigma=15, + ): + """Generate the signal dependent noise + This noise depends on things like the signal or the timing of the + experiment. + + Parameters + ---------- + + stimfunction : 1 Dimensional array + This is the timecourse of the stimuli in this experiment + + tr_duration : int + How long is a TR, in seconds + + z_score : bool + Is the data to be normalized + + motion_sigma : float + + How much noise is left over after pre-processing has been + done. This is noise specifically on the task events + + drift_sigma : float - # Specify the coordinates - selected_coordinates = np.empty((volume.shape[0], dimensions)) # Preset - # Put the MDS coordinates where they are supposed to go - selected_coordinates[selected_voxels, ] = mds_coords.embedding_ + What is the sigma on the distribution that coefficients are + randomly sampled from - return selected_coordinates + auto_reg_sigma : float -class DistanceFuncs: - """Collection of distance functions""" - # TODO: Get distance metrics from the Han lab - # Calculate the correlation - def compute_corr(cor_matrix): - return cor_matrix + auto_reg_order : float - # Calculate the euclidean distance between - def compute_euclidean_distance(cor_matrix): - return spatial.distance.squareform(spatial.distance.pdist(cor_matrix)) - # Take the inverse of the correlation matrix (kind of) - def compute_inverse_corr_distance(cor_matrix): - return 1 - cor_matrix + auto_reg_rho : float - # Take the inverse of the abs correlation matrix (kind of) - def compute_inverse_abs_corr_distance(cor_matrix): - return 1 - abs(cor_matrix) + physiological_sigma : float -def convert_space(volume, voxel_number=1000, - selectionfunc=SelectionFuncs.ttest_score, - distancefunc=DistanceFuncs.compute_corr, - run_mds=False, dimensions=2): - """Correlate voxels and process the correlation matrix + How variable is the signal as a result of physiology, + like heart beat and breathing + + Returns + ---------- + one dimensional array, float + Generates the temporal noise timecourse for these parameters + + + """ + + # Set up common parameters + # How many TRs are there + trs = len(stimfunction) + + # What time points are sampled by a TR? + timepoints = list(range(0, trs * tr_duration))[::tr_duration] + + # Make each noise type + noise_task = _generate_noise_temporal_task(stimfunction, + motion_sigma, + ) + + noise_drift = _generate_noise_temporal_drift(trs, + tr_duration, + drift_sigma, + timepoints, + ) + + noise_phys = _generate_noise_temporal_phys(timepoints, + physiological_sigma, + ) + + noise_autoregression = _generate_noise_temporal_autoregression( + auto_reg_rho, auto_reg_order, auto_seg_sigma, timepoints, ) + + # Do you want to z score it? + if z_score == 1: + noise_task = _z_score(noise_task) + noise_phys = _z_score(noise_phys) + noise_drift = _z_score(noise_drift) + noise_autoregression = _z_score(noise_autoregression) + + # add the noise (it would have been nice to just add all of them in a + # single line but this was causing formatting problems) + noise_temporal = noise_task + noise_temporal = noise_temporal + noise_phys + noise_temporal = noise_temporal + noise_drift + noise_temporal = noise_temporal + noise_autoregression + + return noise_temporal + + +def _generate_noise_spatial(dimensions, + sigma=-4.0, + ): + """Generate code for Gaussian Random Fields. Based on code from + http://andrewwalker.github.io/statefultransitions/post/gaussian-fields/ Parameters ---------- + dimensions : tuple + What is the shape of the volume to be generated - volume : list of 4d array, float - fMRI volumes, by TR. + sigma : float + What is the size of the standard deviation in the gaussian random + fields to generated - voxel_number : int, default: 1000 - How many voxels are you going to use + Returns + ---------- + + multidimensional array, float + Generates the spatial noise volume for these parameters + """ + + # Set up the input to the fast fourier transform + def fftIndgen(n): + a = list(range(0, int(n / 2 + 1))) + b = list(range(1, int(n / 2))) + b.reverse() + b = [-i for i in b] + return a + b + + # Take in an array of fft values and determine the amplitude for those + # values + def Pk2(idxs): + + # If all the indexes are zero then set the out put to zero + if np.all(idxs == 0): + return 0.0 + return np.sqrt((np.sqrt(np.sum(idxs ** 2))) ** sigma) + + noise = np.fft.fft2(np.random.normal(size=dimensions)) + amplitude = np.zeros(dimensions) + + for x, fft_x in enumerate(fftIndgen(dimensions[0])): + for y, fft_y in enumerate(fftIndgen(dimensions[1])): + for z, fft_z in enumerate(fftIndgen(dimensions[2])): + amplitude[x, y, z] = Pk2(np.array([fft_x, fft_y, fft_z])) - selectionfunc : Option[Callable[[ndarray], ndarray], - SelectionFuncs.ttest_score] - What function are you going to use to select the top voxels + # The output + noise_spatial = np.fft.ifft2(noise * amplitude) - run_mds : bool, default: False - Lower the dimensionality of the correlation matrix + return noise_spatial.real - dimensions : int, default: 2 - How many dimensions are you reducing the correlation matrix to - distancefunc : Option[Callable[[ndarray], ndarray], - DistanceFuncs.compute_euclidean_distance] - What function are you going to use to convert the correlation matrix +def generate_noise(dimensions, + stimfunction, + tr_duration, + noise_strength=[1]): + """ Generate the noise to be added to the signal + + Parameters + ---------- + dimensions : tuple + What is the shape of the volume to be generated + + stimfunction : Iterable, bool + When do the stimuli events occur + + tr_duration : float + What is the duration, in seconds, of each TR? + + noise_strength : list, float + Either a one element list or a list of length 3 which varies + the size of the noise for temporal noise, spatial noise and + system noise Returns ---------- - ndarray, float - The coordinates, listed as voxel by dimension, as the output of MDS + multidimensional array, float + Generates the noise volume for these parameters + + """ - # Handle exceptions in the values of the volume input - if len(volume.shape) != 2: - logging.exception('Volume is only {} dimensions, requires 2 ' - 'dimensional data'.format(len(volume.shape))) - quit() - selected_voxels = _select_voxels(volume, voxel_number, selectionfunc) + # Duplicate the noise strength if only one is supplied + if len(noise_strength) == 1: + noise_strength = noise_strength * 3 - # TODO: use fcma toolbox to calculate the correlation matrix - cor_matrix = np.corrcoef(volume[selected_voxels, ]) + # What are the dimensions of the volume, including time + dimensions_tr = (dimensions[0], + dimensions[1], + dimensions[2], + len(stimfunction)) - dist_metric = distancefunc(cor_matrix) + # Generate the noise + noise_temporal = _generate_noise_temporal(stimfunction=stimfunction, + tr_duration=tr_duration, + ) * noise_strength[0] - if run_mds == 1: - converted_space = _mds_conversion(volume, selected_voxels, - dist_metric, dimensions) - else: - converted_space = dist_metric + noise_spatial = _generate_noise_spatial(dimensions=dimensions, + ) * noise_strength[1] + + noise_system = _generate_noise_system(dimensions=dimensions_tr, + ) * noise_strength[2] + + # Find the outer product and add white noise + noise = np.multiply.outer(noise_spatial, noise_temporal) + noise_system + + return noise + + +def mask_brain(volume, + mask_name="brainiak/utils/grey_matter_mask.npy"): + """ Mask the simulated volume + + Parameters + ---------- + + volume : multidimensional array + The volume that has been simulated + + mask_name : str + What is the path to the mask to be loaded? + + Returns + ---------- + brain : multidimensional array, float + The masked brain + """ + + # Load in the mask + mask_raw = np.load(mask_name) + + # Reshape the mask to be the size as the brain + brain_dim = volume.shape + mask_dim = mask_raw.shape + + zoom_factor = (brain_dim[0] / mask_dim[0], + brain_dim[1] / mask_dim[1], + brain_dim[2] / mask_dim[2], + 1) + + # Scale the mask according to the input brain + # You might get a warning but ignore it + mask = ndimage.zoom(mask_raw, zoom_factor, order=2) + + # Anything that is in the bottom 1% (presumably the exterior of the + # brain, make zero) + mask[mask < 0.01] = 0 + + # Mask out the non grey matter regions + brain = volume * mask + + return brain + + +def plot_brain(brain, + percentile=99, + starting_tr=0): + """ Display the brain that has been generated with a given threshold + + Parameters + ---------- + + brain : multidimensional array + This is a 3d or 4d array with the neural data + + percentile : float + What percentage of voxels will be included? Based on the values + supplied + + starting_tr : int + What is the TR that this starts at + + + """ - return converted_space + import matplotlib.pyplot as plt + # This is necessary to make add_subplot work + from mpl_toolkits.mplot3d import Axes3D as temp + + temp.__module__ # Do in order to remove the pep8 error generated above + + fig = plt.figure() + ax = fig.add_subplot(111, projection='3d') + + # If there is only one volume then add a fourth dimension to it + if len(brain.shape) == 3: + temp = np.zeros((brain.shape[0], brain.shape[1], brain.shape[2], + 1)) # Make a new matrix + temp[:, :, :, 0] = brain # Insert the brain here + brain = temp # rename + + # Threshold the data + + brain_threshold_old = [] + for tr_counter in list(range(starting_tr, brain.shape[3])): + + Threshold = np.percentile( + brain[:, :, :, tr_counter].reshape(np.prod(brain.shape[0:3])), + percentile) + + # How many voxels exceed a threshold + brain_threshold = np.where( + np.abs(brain[:, :, :, tr_counter]) > Threshold) + + brain_all = np.where(np.abs(brain[:, :, :, tr_counter]) > 0) + + # Clear the way + ax.clear() + + ax.set_xlim(0, brain.shape[0]) + ax.set_ylim(0, brain.shape[1]) + ax.set_zlim(0, brain.shape[2]) + + ax.scatter(brain_all[0], + brain_all[1], + brain_all[2], + zdir='z', + c='black', + s=10, + alpha=0.01) + + ax.scatter(brain_threshold[0], + brain_threshold[1], + brain_threshold[2], + zdir='z', + c='red', + s=20) + + if tr_counter > 0: + ax.scatter(brain_threshold_old[0], + brain_threshold_old[1], + brain_threshold_old[2], + zdir='z', + c='red', + s=10) + + # Store the most recent volume + brain_threshold_old = brain_threshold + + # Wait for an input + print(tr_counter) + plt.pause(0.5) diff --git a/examples/utils/simulator_example.py b/examples/utils/simulator_example.py index e69de29bb..b2ada2a05 100644 --- a/examples/utils/simulator_example.py +++ b/examples/utils/simulator_example.py @@ -0,0 +1,86 @@ +# Copyright 2016 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Brain Simulator example script + +Example script to generate a run of a participant's data. + + Authors: Cameron Ellis (Princeton) 2016 +""" +import logging + +import numpy as np +from brainiak.utils import simulator as sim + +logger = logging.getLogger(__name__) + + +# Inputs for generate_signal +dimensions = np.array([64, 64, 36]) # What is the size of the brain +feature_size = [9, 4, 9, 9] +feature_type = ['loop', 'cube', 'cavity', 'sphere'] +feature_coordinates = np.array( + [[32, 32, 18], [26, 32, 18], [32, 26, 18], [32, 32, 12]]) +signal_magnitude = [30, 30, 30, 30] + + +# Inputs for generate_stimfunction +onsets = [10, 30, 50, 70, 90] +event_durations = [6] +tr_duration = 2 +duration = 100 + +# Generate a volume representing the location and quality of the signal +volume_static = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + +# Visualize the signal that was generated +sim.plot_brain(volume_static) + +# Create the time course for the signal to be generated +stimfunction = sim.generate_stimfunction(onsets=onsets, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) + + +# Create the signal function +signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + ) + +# Convolve the HRF with the stimulus sequence +signal = sim.apply_signal(signal_function=signal_function, + volume_static=volume_static, + ) + +# Create the noise volumes (using the default parameters +noise = sim.generate_noise(dimensions=dimensions, + stimfunction=stimfunction, + tr_duration=tr_duration, + ) + +# Combine the signal and the noise +volume = signal + noise + +# Mask the volume to be the same shape as a brain +brain = sim.mask_brain(volume) + +# Display the brain +sim.plot_brain(brain, + percentile=99.9) diff --git a/tests/utils/test_simulator.py b/tests/utils/test_simulator.py index e69de29bb..1c12310fa 100644 --- a/tests/utils/test_simulator.py +++ b/tests/utils/test_simulator.py @@ -0,0 +1,154 @@ +# Copyright 2016 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Brain Simulator test script + +Test script for generating a run of a participant's data. + + Authors: Cameron Ellis (Princeton) 2016 +""" +import numpy as np +import math +from brainiak.utils import simulator as sim + + +# Inputs for generate_signal +dimensions = np.array([64, 64, 36]) # What is the size of the brain +feature_size = [2] +feature_type = ['cube'] +feature_coordinates = np.array( + [[32, 32, 18]]) +signal_magnitude = [30] + +# Generate a volume representing the location and quality of the signal +volume_static = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + +assert np.all(volume_static.shape == dimensions), "Check signal shape" +assert np.max(volume_static) == signal_magnitude, "Check signal magnitude" +assert np.sum(volume_static>0) == math.pow(feature_size[0], 3), "Check " \ + "feature size" +assert volume_static[32,32,18] == signal_magnitude, "Check signal location" +assert volume_static[32,32,10] == 0, "Check noise location" + +feature_coordinates = np.array( + [[32, 32, 18], [32, 28, 18], [28, 32, 18]]) + +volume_static = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=['loop', 'cavity', 'sphere'], + feature_size=[9], + signal_magnitude=signal_magnitude, + ) +assert volume_static[32, 32, 18] == 0, "Loop is empty" +assert volume_static[32, 28, 18] == 0, "Cavity is empty" +assert volume_static[28, 32, 18] != 0, "Sphere is not empty" + +# Inputs for generate_stimfunction +onsets = [10, 30, 50, 70, 90] +event_durations = [6] +tr_duration = 2 +duration = 100 + +# Create the time course for the signal to be generated +stimfunction = sim.generate_stimfunction(onsets=onsets, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) + +assert len(stimfunction) == duration / tr_duration, "stimfunction incorrect " \ + "length" +assert np.sum(stimfunction) == np.sum(event_durations * len(onsets)) / \ + tr_duration, "Event number" + + +# Create the signal function +signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + ) +assert len(signal_function) == len(stimfunction), "The length did not change" + +onsets = [10] +stimfunction = sim.generate_stimfunction(onsets=onsets, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) + +signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + ) +assert np.sum(signal_function < 0) > 0, "No values below zero" + + +# Convolve the HRF with the stimulus sequence +signal = sim.apply_signal(signal_function=signal_function, + volume_static=volume_static, + ) +assert signal.shape == (dimensions[0], dimensions[1], dimensions[2], + duration / tr_duration), "The output is the wrong size" + +signal = sim.apply_signal(signal_function=stimfunction, + volume_static=volume_static, + ) + +assert np.any(signal == signal_magnitude), "The stimfunction is not binary" + +# Create the noise volumes (using the default parameters +noise = sim.generate_noise(dimensions=np.array([64, 64, 64]), + stimfunction=stimfunction, + tr_duration=tr_duration, + ) +assert signal.shape != noise.shape, "The dimensions of the noise aren't " \ + "being made" + +noise = sim.generate_noise(dimensions=dimensions, + stimfunction=stimfunction, + tr_duration=tr_duration, + ) + +assert signal.shape == noise.shape, "The dimensions of signal and noise the " \ + "same" + +assert np.mean(sim._z_score([-1, 0, 1])) == 0, "Z score did not work" + +Z_noise = sim._generate_noise_temporal(stimfunction, tr_duration, 1) +noise = sim._generate_noise_temporal(stimfunction, tr_duration, 0) + +assert np.std(Z_noise) < np.std(noise), "Z scoring is not working" + +# Combine the signal and the noise +volume = signal + noise + +assert np.std(signal) < np.std(noise), "Noise was not created" + +noise = sim.generate_noise(dimensions=dimensions, + stimfunction=stimfunction, + tr_duration=tr_duration, + noise_strength=[0, 0, 0] + ) + +assert np.sum(noise) == 0, "Noise strength could not be manipulated" +assert np.std(noise) == 0, "Noise strength could not be manipulated" + +# Mask the volume to be the same shape as a brain +brain = sim.mask_brain(volume) + +assert np.sum(brain != 0) < np.sum(volume != 0), "Masking did not work" +assert brain[0,0,0,0] == 0, "Masking did not work" +assert brain[32,32,18,0] != 0, "Masking did not work" + From 30999390835ba5ac44d59e112961d5e590040ff3 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Mon, 10 Oct 2016 21:33:49 -0400 Subject: [PATCH 08/25] Updated simulator based on edits. Added two condition example. Removed TDA code. --- brainiak/tda.py | 265 -------------------- brainiak/utils/simulator.py | 203 ++++++++-------- examples/tda/requirements.txt | 1 - examples/tda/tda_example.py | 40 ---- examples/utils/simulator_example.py | 95 ++++++-- setup.py | 3 + tests/tda/test_tda.py | 53 ---- tests/utils/test_simulator.py | 360 ++++++++++++++++++---------- 8 files changed, 408 insertions(+), 612 deletions(-) delete mode 100644 brainiak/tda.py delete mode 100644 examples/tda/requirements.txt delete mode 100644 examples/tda/tda_example.py delete mode 100644 tests/tda/test_tda.py diff --git a/brainiak/tda.py b/brainiak/tda.py deleted file mode 100644 index 4bfc4fd01..000000000 --- a/brainiak/tda.py +++ /dev/null @@ -1,265 +0,0 @@ -# Copyright 2016 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Topological Data Analysis - -Prepare the steps for TDA analyses: - -Preprocess the volumes involving binarizing, smoothing and normalizing - -Run a correlation of every voxel against every other voxel - -Takes in a time series, ignoring the conditions. -It does some voxel selection on this time series. -It then runs a correlation on all of these selected voxels. -Now each voxel can be represented as existing in a higher dimensional space now - -volume is organized as an Voxel x Timepoint matrix -voxel_number describes how many voxels are to be used in the correlation -selection contains the procedure for selecting voxels: Ttest, Variance -distance is the procedure for calculating the distance matrix: -Dist, InverseCor, InverseAbsCor or none - - Authors: Cameron Ellis (Princeton) 2016 -""" -import logging - -import numpy as np -import scipy.ndimage as ndimage -from scipy import spatial -from scipy import stats - -__all__ = [ - "convert_space", - "DistanceFuncs", - "preprocess", - "SelectionFuncs", -] - -logger = logging.getLogger(__name__) - - -def preprocess(volume, t_score=True, gauss_size=0, normalize=False): - """Preprocess the data for TDA relevant features - - Parameters - ---------- - - volume : 2d array, float - fMRI data, voxel by TR. - - t_score : boolean, default: True - Do you use the t values of the data or do you binarize based on some - threshold? - - gauss_size: float, default: 0 - Sigma for the 3d smoothing kernel. - - normalize : boolean, default: True - The power value for the normalization procedure. - - Returns - ---------- - - 2d array, float - Preprocessed fMRI data, voxel by TR. - """ - # Handle exceptions in the values of the volume input - if len(volume.shape) != 2: - logging.exception('Volume is only {} dimensions, requires 2 ' - 'dimensional data'.format(len(volume.shape))) - quit() - - # Binarize the data - if t_score is False: - volume[abs(volume) > 0] = 1 - - # Smooth the data using a given kernel - if gauss_size > 0: - volume = ndimage.filters.gaussian_filter(volume, gauss_size) - - # Normalize the data to a given power, 0 means nothing is changed - if normalize is True: - volume = (volume - np.mean(volume)) / np.std(volume) - - return(volume) - - -class SelectionFuncs: - """Evaluate the voxels according to the given metric.""" - - # Perform a one sample t test against zero for each voxels across time - def ttest_score(volume): - return stats.ttest_1samp(volume, 0, axis=1)[1] - - # Calculate the variance for each voxels across time - def variance_score(volume): - return np.var(volume, axis=1) - - -def _select_voxels(volume, voxel_number=1000, - selectionfunc=SelectionFuncs.ttest_score): - """Select voxels that perform best according to some function - - Parameters - ---------- - - volume : 2d array, float - fMRI data, voxel by TR. - - voxel_number : int, default: 1000 - How many voxels are you going to use. - - selectionfunc: Option[Callable[[ndarray], ndarray], - SelectionFuncs.ttest_score] - What function are you going to use to select the top voxels. - - Returns - ---------- - - Iterable[bool] - The voxels that have been selected - - """ - # TODO: use more advanced voxel selection procedures - # Reduce the number of voxels to be considered if it exceeds the limit - if voxel_number > volume.shape[0]: - voxel_number = volume.shape[0] - - # Run the one function that was test - altered_voxel = selectionfunc(volume) - - # Only keep voxels over the threshold - threshold = sorted(altered_voxel)[volume.shape[0] - voxel_number] - - # Which voxels are best, needed for later - selected_voxels = altered_voxel >= threshold - - return selected_voxels - - logging.info('Voxel Selection complete') - - -def _mds_conversion(volume, selected_voxels, dist_metric, dimensions=2): - """Select voxels that perform best according to some function - - Parameters - ---------- - - volume : 2d array, float - fMRI data, voxel by TR. - - selected_voxels : int - Which indexes, according to volume, are selected - - dist_metric: 2d array, float - The distance matrix, the same size as len(selected_voxels) by len( - selected_voxels) - - Returns - ---------- - - ndarray[float].shape(selected_voxels.shape(0),dimensions) - The coordinates, listed as voxel by dimension, as the output of MDS - """ - # Run classical MDS, project into dimensions - - import sklearn.manifold - # Make the object for the mds - mds = sklearn.manifold.MDS(n_components=dimensions) - mds_coords = mds.fit(dist_metric) - - # Specify the coordinates - selected_coordinates = np.empty((volume.shape[0], dimensions)) # Preset - # Put the MDS coordinates where they are supposed to go - selected_coordinates[selected_voxels, ] = mds_coords.embedding_ - - return selected_coordinates - - -class DistanceFuncs: - """Collection of distance functions""" - # TODO: Get distance metrics from the Han lab - # Calculate the correlation - def compute_corr(cor_matrix): - return cor_matrix - - # Calculate the euclidean distance between - def compute_euclidean_distance(cor_matrix): - return spatial.distance.squareform(spatial.distance.pdist(cor_matrix)) - - # Take the inverse of the correlation matrix (kind of) - def compute_inverse_corr_distance(cor_matrix): - return 1 - cor_matrix - - # Take the inverse of the abs correlation matrix (kind of) - def compute_inverse_abs_corr_distance(cor_matrix): - return 1 - abs(cor_matrix) - - -def convert_space(volume, voxel_number=1000, - selectionfunc=SelectionFuncs.ttest_score, - distancefunc=DistanceFuncs.compute_corr, - run_mds=False, dimensions=2): - """Correlate voxels and process the correlation matrix - - Parameters - ---------- - - volume : list of 4d array, float - fMRI volumes, by TR. - - voxel_number : int, default: 1000 - How many voxels are you going to use - - selectionfunc : Option[Callable[[ndarray], ndarray], - SelectionFuncs.ttest_score] - What function are you going to use to select the top voxels - - run_mds : bool, default: False - Lower the dimensionality of the correlation matrix - - dimensions : int, default: 2 - How many dimensions are you reducing the correlation matrix to - - distancefunc : Option[Callable[[ndarray], ndarray], - DistanceFuncs.compute_euclidean_distance] - What function are you going to use to convert the correlation matrix - - Returns - ---------- - - ndarray, float - The coordinates, listed as voxel by dimension, as the output of MDS - """ - # Handle exceptions in the values of the volume input - if len(volume.shape) != 2: - logging.exception('Volume is only {} dimensions, requires 2 ' - 'dimensional data'.format(len(volume.shape))) - quit() - - selected_voxels = _select_voxels(volume, voxel_number, selectionfunc) - - # TODO: use fcma toolbox to calculate the correlation matrix - cor_matrix = np.corrcoef(volume[selected_voxels, ]) - - dist_metric = distancefunc(cor_matrix) - - if run_mds == 1: - converted_space = _mds_conversion(volume, selected_voxels, - dist_metric, dimensions) - else: - converted_space = dist_metric - - return converted_space diff --git a/brainiak/utils/simulator.py b/brainiak/utils/simulator.py index 6827c952c..44b7c1cd8 100644 --- a/brainiak/utils/simulator.py +++ b/brainiak/utils/simulator.py @@ -14,9 +14,35 @@ """Brain Simulator -Simulate neural data for a single subject. This involves specifying what -feature_type of noise and signal will be present in the data, as well as basic -properties like the number of voxels and TRs to be simulated +Simulate neural data for a single subject. + +This code provides a set of functions necessary to produce realistic +simulations of neural data. + +Steps: + +generate_signal +Specify the volume (or volumes) which represent the signal in the neural data. + +generate_stimfunction +Create a function to describe the stimulus onsets/durations + +double_gamma_hrf +Convolve the stimulus function with the HRF to model when events are expected. + +apply_signal +Combine the volume and the HRF + +generate_noise +Create the noise for this run. This creates temporal, task and white noise. +Various parameters can be tuned depending on need + +mask_brain +Mask the volume to look like a volume. Based on MNI standard space + +plot_brain +Show the brain as it unfolds over time with a given opacity. + Authors: Cameron Ellis (Princeton) 2016 """ @@ -26,9 +52,11 @@ import scipy.ndimage as ndimage import math from scipy import stats +from pkg_resources import resource_stream __all__ = [ "generate_signal", + "generate_stimfunction", "double_gamma_hrf", "apply_signal", "generate_noise", @@ -345,21 +373,33 @@ def generate_stimfunction(onsets, if len(event_durations) == 1: event_durations = event_durations * len(onsets) + if (event_durations[0] / tr_duration).is_integer() is False: + logging.warning('Event durations are not a multiple of the TR ' + 'duration, rounding down.') + + if (onsets[0] / tr_duration).is_integer() is False: + logging.warning('Onsets are not a multiple of the TR duration, ' + 'rounding down.') + # Generate the time course as empty stimfunction = [0] * round(total_time / tr_duration) # Cycle through the onsets for onset_counter in list(range(0, len(onsets))): # Adjust for the resolution - onset_idx = round(onsets[onset_counter] / tr_duration) + onset_idx = int(np.floor(onsets[onset_counter] / tr_duration)) # Adjust for the resolution - offset_idx = round((onsets[onset_counter] + event_durations[ - onset_counter]) / tr_duration) + offset_idx = int(np.floor((onsets[onset_counter] + event_durations[ + onset_counter]) / tr_duration)) # For the appropriate indexes and duration, make this value 1 - idxs = round(event_durations[onset_counter] / tr_duration) - stimfunction[onset_idx:offset_idx] = idxs * [1] + idx_number = round(event_durations[onset_counter] / tr_duration) + stimfunction[onset_idx:offset_idx] = idx_number * [1] + + # Remove any indexes that are too long + if len(stimfunction) > total_time / tr_duration: + stimfunction = stimfunction[0:int(total_time / tr_duration)] return stimfunction @@ -694,24 +734,6 @@ def _generate_noise_temporal_phys(timepoints, return noise_phys -def _z_score(value): - """Z score a list - - Parameters - ---------- - - value : list, float - Data to be z scored - - Returns - ---------- - list, float - Z scored data - """ - - return (np.mean(value) - value) / np.std(value) - - def _generate_noise_temporal(stimfunction, tr_duration, z_score=1, @@ -797,10 +819,10 @@ def _generate_noise_temporal(stimfunction, # Do you want to z score it? if z_score == 1: - noise_task = _z_score(noise_task) - noise_phys = _z_score(noise_phys) - noise_drift = _z_score(noise_drift) - noise_autoregression = _z_score(noise_autoregression) + noise_task = stats.zscore(noise_task) + noise_phys = stats.zscore(noise_phys) + noise_drift = stats.zscore(noise_drift) + noise_autoregression = stats.zscore(noise_autoregression) # add the noise (it would have been nice to just add all of them in a # single line but this was causing formatting problems) @@ -815,8 +837,14 @@ def _generate_noise_temporal(stimfunction, def _generate_noise_spatial(dimensions, sigma=-4.0, ): - """Generate code for Gaussian Random Fields. Based on code from + """Generate code for Gaussian Random Fields. + Adapted from code found here: http://andrewwalker.github.io/statefultransitions/post/gaussian-fields/ + with permission from the author: + https://twitter.com/walkera101/status/785578499440377858. Original code + comes from http://mathematica.stackexchange.com/questions/4829 + /efficiently-generating-n-d-gaussian-random-fields with a WTFPL ( + http://www.wtfpl.net). Parameters ---------- @@ -924,7 +952,7 @@ def generate_noise(dimensions, def mask_brain(volume, - mask_name="brainiak/utils/grey_matter_mask.npy"): + mask_name="grey_matter_mask.npy"): """ Mask the simulated volume Parameters @@ -942,8 +970,15 @@ def mask_brain(volume, The masked brain """ + # If there is only one brain volume then make this a forth dimension + if len(volume.shape) == 3: + temp = np.zeros([volume.shape[0], volume.shape[1], volume.shape[2], 1]) + temp[:, :, :, 0] = volume + volume = temp + # Load in the mask - mask_raw = np.load(mask_name) + mask_raw = np.load(resource_stream(__name__, mask_name)) + # mask_raw = np.load(mask_name) # Reshape the mask to be the size as the brain brain_dim = volume.shape @@ -968,14 +1003,19 @@ def mask_brain(volume, return brain -def plot_brain(brain, +def plot_brain(fig, + brain, percentile=99, - starting_tr=0): + ): """ Display the brain that has been generated with a given threshold Parameters ---------- + fig : matplotlib object + The figure to be displayed, generated from matplotlib. import + matplotlib.pyplot as plt; fig = plt.figure() + brain : multidimensional array This is a 3d or 4d array with the neural data @@ -983,76 +1023,39 @@ def plot_brain(brain, What percentage of voxels will be included? Based on the values supplied - starting_tr : int - What is the TR that this starts at + """ + ax = fig.add_subplot(111, projection='3d') - """ + # Threshold the data + threshold = np.percentile(brain.reshape(np.prod(brain.shape[0:3])), + percentile) - import matplotlib.pyplot as plt - # This is necessary to make add_subplot work - from mpl_toolkits.mplot3d import Axes3D as temp + # How many voxels exceed a threshold + brain_threshold = np.where(np.abs(brain) > threshold) - temp.__module__ # Do in order to remove the pep8 error generated above + brain_all = np.where(np.abs(brain) > 0) - fig = plt.figure() - ax = fig.add_subplot(111, projection='3d') + # Clear the way + ax.clear() - # If there is only one volume then add a fourth dimension to it - if len(brain.shape) == 3: - temp = np.zeros((brain.shape[0], brain.shape[1], brain.shape[2], - 1)) # Make a new matrix - temp[:, :, :, 0] = brain # Insert the brain here - brain = temp # rename + ax.set_xlim(0, brain.shape[0]) + ax.set_ylim(0, brain.shape[1]) + ax.set_zlim(0, brain.shape[2]) - # Threshold the data + ax.scatter(brain_all[0], + brain_all[1], + brain_all[2], + zdir='z', + c='black', + s=10, + alpha=0.01) + + ax.scatter(brain_threshold[0], + brain_threshold[1], + brain_threshold[2], + zdir='z', + c='red', + s=20) - brain_threshold_old = [] - for tr_counter in list(range(starting_tr, brain.shape[3])): - - Threshold = np.percentile( - brain[:, :, :, tr_counter].reshape(np.prod(brain.shape[0:3])), - percentile) - - # How many voxels exceed a threshold - brain_threshold = np.where( - np.abs(brain[:, :, :, tr_counter]) > Threshold) - - brain_all = np.where(np.abs(brain[:, :, :, tr_counter]) > 0) - - # Clear the way - ax.clear() - - ax.set_xlim(0, brain.shape[0]) - ax.set_ylim(0, brain.shape[1]) - ax.set_zlim(0, brain.shape[2]) - - ax.scatter(brain_all[0], - brain_all[1], - brain_all[2], - zdir='z', - c='black', - s=10, - alpha=0.01) - - ax.scatter(brain_threshold[0], - brain_threshold[1], - brain_threshold[2], - zdir='z', - c='red', - s=20) - - if tr_counter > 0: - ax.scatter(brain_threshold_old[0], - brain_threshold_old[1], - brain_threshold_old[2], - zdir='z', - c='red', - s=10) - - # Store the most recent volume - brain_threshold_old = brain_threshold - - # Wait for an input - print(tr_counter) - plt.pause(0.5) + return ax diff --git a/examples/tda/requirements.txt b/examples/tda/requirements.txt deleted file mode 100644 index 6ccafc3f9..000000000 --- a/examples/tda/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -matplotlib diff --git a/examples/tda/tda_example.py b/examples/tda/tda_example.py deleted file mode 100644 index a2c090756..000000000 --- a/examples/tda/tda_example.py +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 2016 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Example for using topological data analysis - -Simulate some neural data and run it through the pipeline for TDA analysis - -Authors: Cameron Ellis (Princeton -""" - -from brainiak import tda -import numpy as np - - -def main(): - - # Simulate data - n = 10 - volume = np.random.randn(np.power(n, 2)).reshape(n, n) - - volume = tda.preprocess(volume) - - tda_input = tda.convert_space(volume) - - print(tda_input) - -if __name__ == "__main__": - main() - diff --git a/examples/utils/simulator_example.py b/examples/utils/simulator_example.py index b2ada2a05..bed034bf0 100644 --- a/examples/utils/simulator_example.py +++ b/examples/utils/simulator_example.py @@ -14,7 +14,8 @@ """Brain Simulator example script -Example script to generate a run of a participant's data. +Example script to generate a run of a participant's data. This generates +data representing a pair of conditions that are then combined Authors: Cameron Ellis (Princeton) 2016 """ @@ -22,52 +23,87 @@ import numpy as np from brainiak.utils import simulator as sim +import matplotlib.pyplot as plt +from mpl_toolkits.mplot3d import Axes3D as temp logger = logging.getLogger(__name__) +temp.__module__ # Do in order to remove the pep8 error generated above # Inputs for generate_signal dimensions = np.array([64, 64, 36]) # What is the size of the brain feature_size = [9, 4, 9, 9] feature_type = ['loop', 'cube', 'cavity', 'sphere'] -feature_coordinates = np.array( +feature_coordinates_A = np.array( [[32, 32, 18], [26, 32, 18], [32, 26, 18], [32, 32, 12]]) +feature_coordinates_B = np.array( + [[32, 32, 18], [38, 32, 18], [32, 38, 18], [32, 32, 24]]) signal_magnitude = [30, 30, 30, 30] # Inputs for generate_stimfunction -onsets = [10, 30, 50, 70, 90] +onsets_A = [10, 30, 50, 70, 90] +onsets_B = [0, 20, 40, 60, 80] event_durations = [6] tr_duration = 2 duration = 100 # Generate a volume representing the location and quality of the signal -volume_static = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates, - feature_type=feature_type, - feature_size=feature_size, - signal_magnitude=signal_magnitude, - ) - -# Visualize the signal that was generated -sim.plot_brain(volume_static) +volume_static_A = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates_A, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + +volume_static_B = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates_B, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + + +# Visualize the signal that was generated for condition A +fig = plt.figure() +sim.plot_brain(fig, + volume_static_A) +plt.show() # Create the time course for the signal to be generated -stimfunction = sim.generate_stimfunction(onsets=onsets, - event_durations=event_durations, - total_time=duration, - tr_duration=tr_duration, - ) - +stimfunction_A = sim.generate_stimfunction(onsets=onsets_A, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) + +stimfunction_B = sim.generate_stimfunction(onsets=onsets_B, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) # Create the signal function -signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, - ) +signal_function_A = sim.double_gamma_hrf(stimfunction=stimfunction_A, + ) + +signal_function_B = sim.double_gamma_hrf(stimfunction=stimfunction_B, + ) # Convolve the HRF with the stimulus sequence -signal = sim.apply_signal(signal_function=signal_function, - volume_static=volume_static, - ) +signal_A = sim.apply_signal(signal_function=signal_function_A, + volume_static=volume_static_A, + ) + +signal_B = sim.apply_signal(signal_function=signal_function_B, + volume_static=volume_static_B, + ) + +# Combine the signals from the two conditions +signal = signal_A + signal_B + +# Combine the stim functions +stimfunction = list(np.add(stimfunction_A, stimfunction_B)) # Create the noise volumes (using the default parameters noise = sim.generate_noise(dimensions=dimensions, @@ -82,5 +118,14 @@ brain = sim.mask_brain(volume) # Display the brain -sim.plot_brain(brain, - percentile=99.9) +fig = plt.figure() +for tr_counter in list(range(0, brain.shape[3])): + + # Get the axis to be plotted + ax = sim.plot_brain(fig, + brain[:, :, :, tr_counter], + percentile=99.9) + + # Wait for an input + logging.info(tr_counter) + plt.pause(0.5) \ No newline at end of file diff --git a/setup.py b/setup.py index 328f3cf89..b2912c9e4 100644 --- a/setup.py +++ b/setup.py @@ -100,6 +100,8 @@ def build_extensions(self): ext.extra_link_args = opts build_ext.build_extensions(self) +__pkgdata__ = {u'brainiak/utils/grey_matter_mask': [u'*.npy']} + setup( name='brainiak', version=__version__, @@ -120,5 +122,6 @@ def build_extensions(self): ext_modules=ext_modules, cmdclass={'build_ext': BuildExt}, packages=find_packages(), + package_data=__pkgdata__, zip_safe=False, ) diff --git a/tests/tda/test_tda.py b/tests/tda/test_tda.py deleted file mode 100644 index 9220f30bb..000000000 --- a/tests/tda/test_tda.py +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2016 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from brainiak import tda -import numpy as np - -def test_preprocess(): - n = 10 - input = np.ones(n * n).reshape(n, n) - - output = tda.preprocess(input) - assert sum(sum(output == 1)) == n * n, "Preprocessing failed" - - output = tda.preprocess(input, t_score=True) - assert sum(sum(output == 1)) == n * n, "t_score failed" - - output = tda.preprocess(np.random.randn(n * n).reshape(n, n), gauss_size=100) - assert np.std(output) < 0.1, "Smoothing failed" - - input = np.random.rand(n * n).reshape(n, n) - output = tda.preprocess(input, normalize=True) - assert abs(np.mean(output)) < 0.1, "Normalizing failed" - - -def test_convert_space(): - n = 10 - Input = np.repeat(list(range(0, n)), n, axis=0).reshape(n,n).T - - Output = tda.convert_space(Input) - assert sum(sum(Output>=0.99999)) == n*n, "Correlation failed" - - Output = tda.convert_space(Input, - selectionfunc=tda.SelectionFuncs.variance_score) - assert sum(sum(Output >= 0.99999)) == n * n, "Variance failed" - - Output = tda.convert_space(Input, - distancefunc=tda.DistanceFuncs.compute_euclidean_distance) - assert sum(sum(Output == 0)) == n * n, "Euclidean distance failed" - - Output = tda.convert_space(Input, run_mds=1, dimensions=3) - assert Output.shape[1] == 3, "MDS failed" - diff --git a/tests/utils/test_simulator.py b/tests/utils/test_simulator.py index 1c12310fa..927ad5fd5 100644 --- a/tests/utils/test_simulator.py +++ b/tests/utils/test_simulator.py @@ -23,132 +23,236 @@ from brainiak.utils import simulator as sim -# Inputs for generate_signal -dimensions = np.array([64, 64, 36]) # What is the size of the brain -feature_size = [2] -feature_type = ['cube'] -feature_coordinates = np.array( - [[32, 32, 18]]) -signal_magnitude = [30] - -# Generate a volume representing the location and quality of the signal -volume_static = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates, - feature_type=feature_type, - feature_size=feature_size, - signal_magnitude=signal_magnitude, - ) - -assert np.all(volume_static.shape == dimensions), "Check signal shape" -assert np.max(volume_static) == signal_magnitude, "Check signal magnitude" -assert np.sum(volume_static>0) == math.pow(feature_size[0], 3), "Check " \ - "feature size" -assert volume_static[32,32,18] == signal_magnitude, "Check signal location" -assert volume_static[32,32,10] == 0, "Check noise location" - -feature_coordinates = np.array( - [[32, 32, 18], [32, 28, 18], [28, 32, 18]]) - -volume_static = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates, - feature_type=['loop', 'cavity', 'sphere'], - feature_size=[9], - signal_magnitude=signal_magnitude, - ) -assert volume_static[32, 32, 18] == 0, "Loop is empty" -assert volume_static[32, 28, 18] == 0, "Cavity is empty" -assert volume_static[28, 32, 18] != 0, "Sphere is not empty" - -# Inputs for generate_stimfunction -onsets = [10, 30, 50, 70, 90] -event_durations = [6] -tr_duration = 2 -duration = 100 - -# Create the time course for the signal to be generated -stimfunction = sim.generate_stimfunction(onsets=onsets, - event_durations=event_durations, - total_time=duration, - tr_duration=tr_duration, - ) - -assert len(stimfunction) == duration / tr_duration, "stimfunction incorrect " \ - "length" -assert np.sum(stimfunction) == np.sum(event_durations * len(onsets)) / \ - tr_duration, "Event number" - - -# Create the signal function -signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, - ) -assert len(signal_function) == len(stimfunction), "The length did not change" - -onsets = [10] -stimfunction = sim.generate_stimfunction(onsets=onsets, - event_durations=event_durations, - total_time=duration, - tr_duration=tr_duration, - ) - -signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, - ) -assert np.sum(signal_function < 0) > 0, "No values below zero" - - -# Convolve the HRF with the stimulus sequence -signal = sim.apply_signal(signal_function=signal_function, - volume_static=volume_static, - ) -assert signal.shape == (dimensions[0], dimensions[1], dimensions[2], - duration / tr_duration), "The output is the wrong size" - -signal = sim.apply_signal(signal_function=stimfunction, - volume_static=volume_static, - ) - -assert np.any(signal == signal_magnitude), "The stimfunction is not binary" - -# Create the noise volumes (using the default parameters -noise = sim.generate_noise(dimensions=np.array([64, 64, 64]), - stimfunction=stimfunction, - tr_duration=tr_duration, - ) -assert signal.shape != noise.shape, "The dimensions of the noise aren't " \ - "being made" - -noise = sim.generate_noise(dimensions=dimensions, - stimfunction=stimfunction, - tr_duration=tr_duration, - ) - -assert signal.shape == noise.shape, "The dimensions of signal and noise the " \ - "same" - -assert np.mean(sim._z_score([-1, 0, 1])) == 0, "Z score did not work" - -Z_noise = sim._generate_noise_temporal(stimfunction, tr_duration, 1) -noise = sim._generate_noise_temporal(stimfunction, tr_duration, 0) - -assert np.std(Z_noise) < np.std(noise), "Z scoring is not working" - -# Combine the signal and the noise -volume = signal + noise - -assert np.std(signal) < np.std(noise), "Noise was not created" - -noise = sim.generate_noise(dimensions=dimensions, - stimfunction=stimfunction, - tr_duration=tr_duration, - noise_strength=[0, 0, 0] - ) - -assert np.sum(noise) == 0, "Noise strength could not be manipulated" -assert np.std(noise) == 0, "Noise strength could not be manipulated" - -# Mask the volume to be the same shape as a brain -brain = sim.mask_brain(volume) - -assert np.sum(brain != 0) < np.sum(volume != 0), "Masking did not work" -assert brain[0,0,0,0] == 0, "Masking did not work" -assert brain[32,32,18,0] != 0, "Masking did not work" +def test_generate_signal(): + + # Inputs for generate_signal + dimensions = np.array([64, 64, 36]) # What is the size of the brain + feature_size = [2] + feature_type = ['cube'] + feature_coordinates = np.array( + [[32, 32, 18]]) + signal_magnitude = [30] + + # Generate a volume representing the location and quality of the signal + volume_static = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + + assert np.all(volume_static.shape == dimensions), "Check signal shape" + assert np.max(volume_static) == signal_magnitude, "Check signal magnitude" + assert np.sum(volume_static>0) == math.pow(feature_size[0], 3), "Check " \ + "feature size" + assert volume_static[32,32,18] == signal_magnitude, "Check signal location" + assert volume_static[32,32,10] == 0, "Check noise location" + + feature_coordinates = np.array( + [[32, 32, 18], [32, 28, 18], [28, 32, 18]]) + + volume_static = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=['loop', 'cavity', 'sphere'], + feature_size=[9], + signal_magnitude=signal_magnitude, + ) + assert volume_static[32, 32, 18] == 0, "Loop is empty" + assert volume_static[32, 28, 18] == 0, "Cavity is empty" + assert volume_static[28, 32, 18] != 0, "Sphere is not empty" + + +def test_generate_stimfunction(): + + # Inputs for generate_stimfunction + onsets = [10, 30, 50, 70, 90] + event_durations = [6] + tr_duration = 2 + duration = 100 + + # Create the time course for the signal to be generated + stimfunction = sim.generate_stimfunction(onsets=onsets, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) + + assert len(stimfunction) == duration / tr_duration, "stimfunction incorrect " \ + "length" + assert np.sum(stimfunction) == np.sum(event_durations * len(onsets)) / \ + tr_duration, "Event number" + + + # Create the signal function + signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + ) + assert len(signal_function) == len(stimfunction), "The length did not change" + + onsets = [10] + stimfunction = sim.generate_stimfunction(onsets=onsets, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) + + signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + ) + assert np.sum(signal_function < 0) > 0, "No values below zero" + + +def test_apply_signal(): + + dimensions = np.array([64, 64, 36]) # What is the size of the brain + feature_size = [2] + feature_type = ['cube'] + feature_coordinates = np.array( + [[32, 32, 18]]) + signal_magnitude = [30] + + # Generate a volume representing the location and quality of the signal + volume_static = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + + # Inputs for generate_stimfunction + onsets = [10, 30, 50, 70, 90] + event_durations = [6] + tr_duration = 2 + duration = 100 + + # Create the time course for the signal to be generated + stimfunction = sim.generate_stimfunction(onsets=onsets, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) + + signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + ) + + # Convolve the HRF with the stimulus sequence + signal = sim.apply_signal(signal_function=signal_function, + volume_static=volume_static, + ) + + assert signal.shape == (dimensions[0], dimensions[1], dimensions[2], + duration / tr_duration), "The output is the wrong size" + + signal = sim.apply_signal(signal_function=stimfunction, + volume_static=volume_static, + ) + + assert np.any(signal == signal_magnitude), "The stimfunction is not binary" + + +def test_generate_noise(): + + + dimensions = np.array([64, 64, 36]) # What is the size of the brain + feature_size = [2] + feature_type = ['cube'] + feature_coordinates = np.array( + [[32, 32, 18]]) + signal_magnitude = [30] + + # Generate a volume representing the location and quality of the signal + volume_static = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + + # Inputs for generate_stimfunction + onsets = [10, 30, 50, 70, 90] + event_durations = [6] + tr_duration = 2 + duration = 100 + + # Create the time course for the signal to be generated + stimfunction = sim.generate_stimfunction(onsets=onsets, + event_durations=event_durations, + total_time=duration, + tr_duration=tr_duration, + ) + + signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + ) + # Convolve the HRF with the stimulus sequence + signal = sim.apply_signal(signal_function=signal_function, + volume_static=volume_static, + ) + + # Create the noise volumes (using the default parameters) + + noise = sim.generate_noise(dimensions=dimensions, + stimfunction=stimfunction, + tr_duration=tr_duration, + ) + + assert signal.shape == noise.shape, "The dimensions of signal " \ + "and noise the same" + + Z_noise = sim._generate_noise_temporal(stimfunction, tr_duration, 1) + noise = sim._generate_noise_temporal(stimfunction, tr_duration, 0) + + assert np.std(Z_noise) < np.std(noise), "Z scoring is not working" + + # Combine the signal and the noise + volume = signal + noise + + assert np.std(signal) < np.std(noise), "Noise was not created" + + noise = sim.generate_noise(dimensions=dimensions, + stimfunction=stimfunction, + tr_duration=tr_duration, + noise_strength=[0, 0, 0] + ) + + assert np.sum(noise) == 0, "Noise strength could not be manipulated" + assert np.std(noise) == 0, "Noise strength could not be manipulated" + + +def test_mask_brain(): + + # Inputs for generate_signal + dimensions = np.array([64, 64, 36]) # What is the size of the brain + feature_size = [2] + feature_type = ['cube'] + feature_coordinates = np.array( + [[32, 32, 18]]) + signal_magnitude = [30] + + # Generate a volume representing the location and quality of the signal + volume = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + + # Mask the volume to be the same shape as a brain + brain = sim.mask_brain(volume) + + assert np.sum(brain != 0) == np.sum(volume != 0), "Masking did not work" + assert brain[0,0,0,0] == 0, "Masking did not work" + assert brain[32,32,18,0] != 0, "Masking did not work" + + feature_coordinates = np.array( + [[3, 3, 3]]) + + volume = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + + # Mask the volume to be the same shape as a brain + brain = sim.mask_brain(volume) + + assert np.sum(brain != 0) < np.sum(volume != 0), "Masking did not work" \ No newline at end of file From 709baae642900e819e8b793832ef236219dba279 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Wed, 12 Oct 2016 18:24:33 -0400 Subject: [PATCH 09/25] Updated names, improved comments, changed load procedure for mask --- brainiak/utils/{simulator.py => fmrisim.py} | 16 +++++++++------- .../{simulator_example.py => fmrisim_example.py} | 12 +++++------- .../utils/{test_simulator.py => test_fmrisim.py} | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) rename brainiak/utils/{simulator.py => fmrisim.py} (99%) rename examples/utils/{simulator_example.py => fmrisim_example.py} (95%) rename tests/utils/{test_simulator.py => test_fmrisim.py} (99%) diff --git a/brainiak/utils/simulator.py b/brainiak/utils/fmrisim.py similarity index 99% rename from brainiak/utils/simulator.py rename to brainiak/utils/fmrisim.py index 7ea48f10d..1cce375a9 100644 --- a/brainiak/utils/simulator.py +++ b/brainiak/utils/fmrisim.py @@ -12,9 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Brain Simulator +"""fMRI Simulator -Simulate neural data for a single subject. +Simulate fMRI data for a single subject. This code provides a set of functions necessary to produce realistic simulations of neural data. @@ -963,7 +963,7 @@ def generate_noise(dimensions, def mask_brain(volume, - mask_name="grey_matter_mask.npy"): + mask_name=None): """ Mask the simulated volume Parameters @@ -981,16 +981,18 @@ def mask_brain(volume, The masked brain """ + # Load in the mask + if mask_name is None: + mask_raw = np.load(resource_stream(__name__, "grey_matter_mask.npy")) + else: + mask_raw = np.load(mask_name) + # If there is only one brain volume then make this a forth dimension if len(volume.shape) == 3: temp = np.zeros([volume.shape[0], volume.shape[1], volume.shape[2], 1]) temp[:, :, :, 0] = volume volume = temp - # Load in the mask - mask_raw = np.load(resource_stream(__name__, mask_name)) - # mask_raw = np.load(mask_name) - # Reshape the mask to be the size as the brain brain_dim = volume.shape mask_dim = mask_raw.shape diff --git a/examples/utils/simulator_example.py b/examples/utils/fmrisim_example.py similarity index 95% rename from examples/utils/simulator_example.py rename to examples/utils/fmrisim_example.py index bed034bf0..b1430f05f 100644 --- a/examples/utils/simulator_example.py +++ b/examples/utils/fmrisim_example.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Brain Simulator example script +"""fMRI Simulator example script Example script to generate a run of a participant's data. This generates data representing a pair of conditions that are then combined @@ -22,14 +22,12 @@ import logging import numpy as np -from brainiak.utils import simulator as sim +from brainiak.utils import fmrisim as sim import matplotlib.pyplot as plt -from mpl_toolkits.mplot3d import Axes3D as temp +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 logger = logging.getLogger(__name__) -temp.__module__ # Do in order to remove the pep8 error generated above - # Inputs for generate_signal dimensions = np.array([64, 64, 36]) # What is the size of the brain feature_size = [9, 4, 9, 9] @@ -83,14 +81,14 @@ tr_duration=tr_duration, ) -# Create the signal function +# Convolve the HRF with the stimulus sequence signal_function_A = sim.double_gamma_hrf(stimfunction=stimfunction_A, ) signal_function_B = sim.double_gamma_hrf(stimfunction=stimfunction_B, ) -# Convolve the HRF with the stimulus sequence +# Multiply the HRF timecourse with the signal signal_A = sim.apply_signal(signal_function=signal_function_A, volume_static=volume_static_A, ) diff --git a/tests/utils/test_simulator.py b/tests/utils/test_fmrisim.py similarity index 99% rename from tests/utils/test_simulator.py rename to tests/utils/test_fmrisim.py index 927ad5fd5..7b2821a15 100644 --- a/tests/utils/test_simulator.py +++ b/tests/utils/test_fmrisim.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Brain Simulator test script +"""fMRI Simulator test script Test script for generating a run of a participant's data. @@ -20,7 +20,7 @@ """ import numpy as np import math -from brainiak.utils import simulator as sim +from brainiak.utils import fmrisim as sim def test_generate_signal(): From 32ca9c8412435b30856474946594ed7fa71989a8 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Tue, 22 Nov 2016 22:24:00 -0500 Subject: [PATCH 10/25] Updated simulator --- brainiak/utils/fmrisim.py | 1003 +++++++++++++++++++++-------- examples/utils/fmrisim_example.py | 77 ++- 2 files changed, 810 insertions(+), 270 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 1cce375a9..865076dcc 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -27,12 +27,18 @@ generate_stimfunction Create a function to describe the stimulus onsets/durations +export_stimfunction: +Generate a three column timing file that can be used with software like FSL + double_gamma_hrf Convolve the stimulus function with the HRF to model when events are expected. apply_signal Combine the volume and the HRF +calc_noise +Estimate the noise properties of a given volume + generate_noise Create the noise for this run. This creates temporal, task and white noise. Various parameters can be tuned depending on need @@ -51,14 +57,19 @@ import numpy as np import scipy.ndimage as ndimage import math +from itertools import product +import nibabel from scipy import stats +import statsmodels.api as sm from pkg_resources import resource_stream __all__ = [ "generate_signal", "generate_stimfunction", + "export_stimfunction", "double_gamma_hrf", "apply_signal", + "calc_noise", "generate_noise", "mask_brain", "plot_brain", @@ -84,7 +95,8 @@ def _generate_feature(feature_type, feature_size, signal_magnitude): How big is the signal? signal_magnitude : float - What is the value of the signal voxels in the feature + Set the signal size, a value of 1 means the signal is one standard + deviation of the noise Returns ---------- @@ -119,8 +131,9 @@ def _generate_feature(feature_type, feature_size, signal_magnitude): xx, yy = np.meshgrid(seq, seq) # Make a disk corresponding to the whole mesh grid - disk = ((xx - ((feature_size - 1) / 2)) ** 2 - + (yy - ((feature_size - 1) / 2)) ** 2) + xxmesh = (xx - ((feature_size - 1) / 2)) ** 2 + yymesh = (yy - ((feature_size - 1) / 2)) ** 2 + disk = xxmesh + yymesh # What is the outer disk outer = disk < (feature_size - 1) @@ -241,7 +254,7 @@ def generate_signal(dimensions, feature_coordinates, feature_size, feature_type, - signal_magnitude, + signal_magnitude=[1], signal_constant=1, ): """Generate volume containing signal @@ -274,7 +287,9 @@ def generate_signal(dimensions, must be supplied or m values signal_magnitude : list, float - What is the (average) magnitude of the signal being generated? + What is the (average) magnitude of the signal being generated? A + value of 1 means that the signal is one standard deviation from the + noise signal_constant : list, bool Is the signal constant or is it a random pattern (with the same @@ -341,7 +356,8 @@ def generate_signal(dimensions, def generate_stimfunction(onsets, event_durations, total_time, - tr_duration, + weights=[1], + timing_file=None, ): """Return the function for the onset of events @@ -362,58 +378,156 @@ def generate_stimfunction(onsets, total_time : int How long is the experiment in total. - tr_duration : float - What is the TR duration, related to the precision of the boxcar. + weights : list, float + How large is the box car for each of the onsets. If there is + only one value then this will be assigned to all onsets + + timing_file : string + The filename (with path) to a three column timing file (FSL) to + make the events. Still requires tr_duration and total_time Returns ---------- - Iterable[bool] + Iterable[float] The time course of stimulus related activation """ + # If the timing file is supplied then use this to acquire the + if timing_file is not None: + + # Read in text file line by line + + with open(timing_file) as f: + text = f.readlines() # Pull out file as a an array + + # Preset list size + onsets = [0] * len(text) + event_durations = [0] * len(text) + weights = [0] * len(text) + + # Cycle through the lines of the text + for event_counter in list(range(0, len(text))): + + # Pull out the line + line = text[event_counter] + + # Pull out the onset time, set as a float + onsets[event_counter] = float(line[0:line.find('\t')]) + + # Subset the line + line = line[line.find('\t') + 1:] + + # Pull out the duration, set as a float + event_durations[event_counter] = float(line[0:line.find('\t')]) + + # Subset the line + line = line[line.find('\t') + 1:] + + # Pull out the weight, set as a float + weights[event_counter] = float(line[0:line.find('\t')]) + # If only one duration is supplied then duplicate it for the length of # the onset variable if len(event_durations) == 1: event_durations = event_durations * len(onsets) - if (event_durations[0] / tr_duration).is_integer() is False: - logging.warning('Event durations are not a multiple of the TR ' - 'duration, rounding down.') + if len(weights) == 1: + weights = weights * len(onsets) - if (onsets[0] / tr_duration).is_integer() is False: - logging.warning('Onsets are not a multiple of the TR duration, ' - 'rounding down.') + # How many elements per second are you modeling + temporal_resolution = 1000 - # Generate the time course as empty - stimfunction = [0] * round(total_time / tr_duration) + # Generate the time course as empty, each element is a millisecond + stimfunction = [0] * round(total_time * temporal_resolution) # Cycle through the onsets for onset_counter in list(range(0, len(onsets))): # Adjust for the resolution - onset_idx = int(np.floor(onsets[onset_counter] / tr_duration)) + onset_idx = int(np.floor(onsets[onset_counter] * temporal_resolution)) # Adjust for the resolution offset_idx = int(np.floor((onsets[onset_counter] + event_durations[ - onset_counter]) / tr_duration)) + onset_counter])) * temporal_resolution) - # For the appropriate indexes and duration, make this value 1 - idx_number = round(event_durations[onset_counter] / tr_duration) - stimfunction[onset_idx:offset_idx] = idx_number * [1] + # For the appropriate number of indexes and duration, make this value 1 + idx_n = round(event_durations[onset_counter] * temporal_resolution) + stimfunction[onset_idx:offset_idx] = [weights[onset_counter]] * idx_n - # Remove any indexes that are too long - if len(stimfunction) > total_time / tr_duration: - stimfunction = stimfunction[0:int(total_time / tr_duration)] + # Shorten the data if it's too long + if len(stimfunction) > total_time * temporal_resolution: + stimfunction = stimfunction[0:int(total_time * temporal_resolution)] return stimfunction +def export_stimfunction(stimfunction, + filename, + ): + """ Output a three column text file (onset time, event duration and weight) + + Useful if you want to run the simulated data through FEAT analyses + + Parameters + ---------- + stimfunction : list + The stimulus function describing the time course of events + + filename : str + The name of the three column text file to be output + + """ + + # Iterate through the stim function + stim_counter = 0 + event_counter = 0 + while stim_counter < len(stimfunction): + + # Is it an event? + if stimfunction[stim_counter] != 0: + + # When did the event start? + event_onset = str(stim_counter / 1000) + + # The weight of the stimulus + weight = str(stimfunction[stim_counter]) + + # Reset + event_duration = 0 + + # Is the event still ongoing? + while stimfunction[stim_counter] != 0 & stim_counter <= len( + stimfunction): + + # Add one millisecond to each duration + event_duration = event_duration + 1 + + # Increment + stim_counter = stim_counter + 1 + + # How long was the event in seconds + event_duration = str(event_duration / 1000) + + # Append this row to the data file + with open(filename, "a") as file: + file.write(event_onset + '\t' + event_duration + '\t' + + weight + '\n') + + # Increment the number of events + event_counter = event_counter + 1 + + # Increment + stim_counter = stim_counter + 1 + + def double_gamma_hrf(stimfunction, + tr_duration, response_delay=6, undershoot_delay=12, response_dispersion=0.9, undershoot_dispersion=0.9, + response_scale=1, undershoot_scale=0.035): """Return a double gamma HRF @@ -435,8 +549,11 @@ def double_gamma_hrf(stimfunction, undershoot_dispersion : float How wide is the undershoot dispersion + response_scale : float + How big is the response relative to the peak + undershoot_scale :float - How big is the undershoot relative to the peak + How big is the undershoot relative to the trough Returns ---------- @@ -461,33 +578,40 @@ def double_gamma_hrf(stimfunction, resp_exp = math.exp(-(hrf_counter - response_peak) / response_dispersion) - response_model = resp_pow * resp_exp + response_model = response_scale * resp_pow * resp_exp undershoot_pow = math.pow(hrf_counter / undershoot_peak, undershoot_delay) - undershoot_exp = math.exp(-(hrf_counter - undershoot_peak - / undershoot_dispersion)) + undershoot_exp = math.exp(-(hrf_counter - undershoot_peak / + undershoot_dispersion)) undershoot_model = undershoot_scale * undershoot_pow * undershoot_exp # For this time point find the value of the HRF hrf[hrf_counter] = response_model - undershoot_model + # Decimate the stim function so that it only has one element per TR + stimfunction = stimfunction[0::tr_duration * 1000] + # Convolve the hrf that was created with the boxcar input signal_function = np.convolve(stimfunction, hrf) # Cut off the HRF signal_function = signal_function[0:len(stimfunction)] + # Scale the function so that the peak response is 1 + signal_function = signal_function / np.max(signal_function) + return signal_function def apply_signal(signal_function, - volume_static): + volume_static, + ): """Apply the convolution and stimfunction Apply the convolution of the HRF and stimulus time course to the - volume. + volume. This requires discriti Parameters ---------- @@ -519,8 +643,251 @@ def apply_signal(signal_function, return signal -def _generate_noise_system(dimensions, - sigma=1.5, +def _calc_fwhm(volume, mask): + + """ Calculate the FWHM of a volume + Takes in a volume and mask and outputs the FWHM of each TR of this + volume for the non-masked voxels + + Parameters + ---------- + volume : multidimensional array + Functional data to have the FWHM measured. Can be 3d or 4d data + + mask : 4 dimensional array + A mask of the voxels to have the FWHM measured from + + Returns + ------- + + float, list + Returns the FWHM of each TR + + """ + + # What are the dimensions of the volume + dimensions = volume.shape + + # Identify the number of TRs + if len(dimensions) == 3: + trs = 1 + else: + trs = dimensions[3] + dimensions = dimensions[0:3] + volume_all = volume # Store for later + + # Preset size + fwhm = np.zeros(trs) + + # Iterate through the TRs, creating a FWHM for each TR + + for tr_counter in list(range(0, trs)): + + # Preset + sumSqDer = [0.0, 0.0, 0.0] + countSqDer = [0, 0, 0] + + # If there is more than one TR, just pull out that volume + if trs > 1: + volume = volume_all[:, :, :, tr_counter] + + # Pull out all the voxel coordinates + coordinates = list(product(range(dimensions[0]), + range(dimensions[1]), + range(dimensions[2]))) + + # Find the sum of squared error for the non-masked voxels in the brain + for i in list(range(len(coordinates))): + + # Pull out this coordinate + x, y, z = coordinates[i] + + # Is this within the mask? + if mask[x, y, z, tr_counter] > 0: + + # For each xyz dimension calculate the squared + # difference of this voxel and the next + + if x < dimensions[0] - 1 and mask[x + 1, y, z, + tr_counter] > 0: + sumSqDer[0] += (volume[x, y, z] - volume[x + 1, y, + z]) ** 2 + countSqDer[0] += + 1 + + if y < dimensions[1] - 1 and mask[x, y + 1, z, + tr_counter] > 0: + sumSqDer[1] += (volume[x, y, z] - volume[x, y + 1, + z]) ** 2 + countSqDer[1] += + 1 + + if z < dimensions[2] - 1 and mask[x, y, z + 1, + tr_counter] > 0: + sumSqDer[2] += (volume[x, y, z] - volume[x, y, + z + 1])\ + ** 2 + countSqDer[2] += + 1 + + # What is the FWHM for each dimension + fwhm3 = np.sqrt(np.divide(4 * np.log(2), np.divide(sumSqDer, + countSqDer))) + fwhm[tr_counter] = np.prod(fwhm3) ** (1 / 3) # Calculate the average + + return fwhm + + +def _calc_snr(volume, + mask, + ): + """ Calculate the SNR of a volume + This takes the middle of the volume and averages the signal within the + brain and compares to the std in the voxels outside the brain. + + Parameters + ---------- + volume : 4d array, float + Take a volume time series to extract the middle slice from the middle TR + + mask : 4d array, float + A mask the same size as the volume, specifying the mask (values=0 -> 1) + + Returns + ------- + + float + The snr of the volume (how much greater in activity the brain is from + the background) + + """ + + # What are the midpoints to be extracted + mid_x_idx = int(np.ceil(volume.shape[0] / 2)) + mid_tr_idx = int(np.ceil(volume.shape[3] / 2)) + + # Pull out the slices + slice_volume = volume[mid_x_idx, :, :, mid_tr_idx] + slice_mask = mask[mid_x_idx, :, :, mid_tr_idx] + + # Divide by the mask (if the middle slice was low in grey matter mass + # then you would have a lower mean signal by default) + mean_signal = (slice_volume[slice_mask > 0] / slice_mask[slice_mask > + 0]).mean() + + # What is the overall noise + overall_noise = float(slice_volume[slice_mask == 0].std()) + + # Calculate snr + snr = mean_signal / overall_noise + + # Convert from memmap + snr = float(snr) + + return overall_noise, snr + + +def _calc_autoregression(volume, + mask, + ar_order=1, + ): + """ Calculate the autoregressive sigma of the data. + + Parameters + ---------- + volume : 4d masarray, float + Input data to be calculate the autoregression + + mask : 4d array, float + What voxels of the input are within the brain + + ar_order : int + What order of the autoregression do you want to pull out + + Returns + ------- + float + A sigma of the autoregression in the data + + """ + + # Calculate the time course + timecourse = np.mean(volume[mask[:, :, :, 0] > 0], 0) + + # Pull out the AR values (depends on order). + # Don't worry about I or MA values. + model = sm.tsa.ARIMA(timecourse, (ar_order, 0, 0)) + + # Ignore the intercept, the first entry + auto_reg_sigma = model.fit().params[1:] + + # What is the size of the change in the time course + drift_sigma = timecourse.std().tolist() + + return auto_reg_sigma, drift_sigma + + +def calc_noise(volume, + mask=None, + ): + """ Calculates the noise properties of the volume supplied. + This estimates what noise properties the volume has. The absolute size of + the autoregression, drift and system noise is not critical but rather + the relative amounts (because all temporal noise is z scored in the + average and multiplied by the 'overall' parameter). + + Parameters + ---------- + volume : str or 4d numpy array, float + Take in a functional volume (either the file name or the numpy + array) to be used to estimate the noise properties of this + + mask : 4d numpy array, float + The mask to be used, the same size as the volume + + Returns + ------- + + dict + Return a dictionary of the calculated noise parameters of the provided + dataset + + """ + + # Preset + noise_dict = {} + + # If a string name is provided then load this file and pull out the + # nifti into a numpy array + if isinstance(volume, str): + nifti = nibabel.load(volume) # Load the file + volume = nifti.get_data() # Pull out the data + + # Create the mask + if mask is None: + mask = np.ones(volume.shape) + + # Since you are deriving the 'true' values then you want your noise to + # be set to that level + + # Calculate the overall noise and SNR of the volume + noise_dict['overall'], noise_dict['snr'] = _calc_snr(volume, mask) + + # Calculate the fwhm of the data and use the average as your spatial sigma + noise_dict['spatial_sigma'] = _calc_fwhm(volume, mask).mean() + + # Calculate the autoregressive and drift noise + auto_reg_sigma, drift_sigma = _calc_autoregression(volume, mask) + + noise_dict['auto_reg_sigma'] = auto_reg_sigma / noise_dict['overall'] + noise_dict['drift_sigma'] = drift_sigma / noise_dict['overall'] + + # Calculate the white noise + noise_dict['system_sigma'] = float(volume[mask == 0].std() / noise_dict[ + 'overall']) + + # Return the noise dictionary + return noise_dict + + +def _generate_noise_system(dimensions_tr, ): """Generate the scanner noise @@ -529,12 +896,9 @@ def _generate_noise_system(dimensions, Parameters ---------- - dimensions : n length array, int - What are the dimensions of the volume you wish to insert - noise into. This can be a volume of any size - - sigma : float - What is the standard deviation of this noise? + dimensions_tr : n length array, int + What are the dimensions of the volume you wish to insert + noise into. This can be a volume of any size Returns ---------- @@ -545,19 +909,21 @@ def _generate_noise_system(dimensions, """ # Generate the Rician noise - noise_rician = stats.rice.rvs(1, sigma, size=dimensions) + noise_rician = stats.rice.rvs(1, 1, size=dimensions_tr) # Apply the gaussian noise - noise_gaussian = np.random.normal(0, sigma, size=dimensions) + noise_gaussian = np.random.normal(0, 1, size=dimensions_tr) # Combine these two noise types noise_system = noise_rician + noise_gaussian + # Normalize + noise_system = stats.zscore(noise_system) + return noise_system -def _generate_noise_temporal_task(stimfunction, - motion_sigma, +def _generate_noise_temporal_task(stimfunction_tr, motion_noise='gaussian', ): """Generate the signal dependent noise @@ -568,13 +934,9 @@ def _generate_noise_temporal_task(stimfunction, Parameters ---------- - stimfunction : 1 Dimensional array - This is the timecourse of the stimuli in this experiment - - motion_sigma : float - - How much noise is left over after pre-processing has been - done. This is noise specifically on the task events + stimfunction_tr : 1 Dimensional array + This is the timecourse of the stimuli in this experiment, + each element represents a TR motion_noise : str What type of noise will you generate? Can be gaussian or rician @@ -587,25 +949,24 @@ def _generate_noise_temporal_task(stimfunction, """ - noise_task = [] + # Make the noise to be added if motion_noise == 'gaussian': - noise_task = stimfunction + (stimfunction * - np.random.normal(0, - motion_sigma, - size=len(stimfunction))) + noise = stimfunction_tr * np.random.normal(0, 1, size=len( + stimfunction_tr)) elif motion_noise == 'rician': - noise_task = stimfunction + (stimfunction * - stats.rice.rvs(0, - motion_sigma, - size=len(stimfunction))) + noise = stimfunction_tr * stats.rice.rvs(0, 1, size=len( + stimfunction_tr)) + + noise_task = stimfunction_tr + noise + + # Normalize + noise_task = stats.zscore(noise_task) return noise_task def _generate_noise_temporal_drift(trs, tr_duration, - drift_sigma, - timepoints, ): """Generate the drift noise @@ -623,11 +984,6 @@ def _generate_noise_temporal_drift(trs, tr_duration : float How long is each TR - drift_sigma : float - How large are the coefficients controlling drift - - timepoints : 1 Dimensional array - What time points are sampled by a TR Returns ---------- @@ -636,21 +992,26 @@ def _generate_noise_temporal_drift(trs, """ + # What time points are sampled by a TR? + timepoints = list(range(0, trs * tr_duration))[::tr_duration] + # Calculate the coefficients of the drift for a given function degree = round(trs * tr_duration / 150) + 1 - coefficients = np.random.normal(0, drift_sigma, size=degree) + coefficients = np.random.normal(0, 1, size=degree) # What are the values of this drift noise_drift = np.polyval(coefficients, timepoints) + # Normalize + noise_drift = stats.zscore(noise_drift) + # Return noise return noise_drift -def _generate_noise_temporal_autoregression(auto_reg_rho, - auto_reg_order, - auto_seg_sigma, - timepoints, +def _generate_noise_temporal_autoregression(timepoints, + auto_reg_order=1, + auto_reg_rho=[1], ): """Generate the autoregression noise @@ -658,16 +1019,16 @@ def _generate_noise_temporal_autoregression(auto_reg_rho, Parameters ---------- - auto_reg_sigma : float - + timepoints : 1 Dimensional array + What time points are sampled by a TR auto_reg_order : float - + How many timepoints ought to be taken into consideration for the + autoregression function auto_reg_rho : float - - timepoints : 1 Dimensional array - What time points are sampled by a TR + What is the scaling factor on the predictiveness of the previous + time point Returns ---------- @@ -684,7 +1045,7 @@ def _generate_noise_temporal_autoregression(auto_reg_rho, for tr_counter in list(range(0, len(timepoints))): if tr_counter == 0: - noise_autoregression.append(np.random.normal(0, auto_seg_sigma)) + noise_autoregression.append(np.random.normal(0, 1)) else: @@ -693,16 +1054,18 @@ def _generate_noise_temporal_autoregression(auto_reg_rho, if tr_counter - pCounter >= 0: past_trs = noise_autoregression[int(tr_counter - pCounter)] past_reg = auto_reg_rho[pCounter - 1] - random = np.random.normal(0, auto_seg_sigma) + random = np.random.normal(0, 1) temp.append(past_trs * past_reg + random) noise_autoregression.append(np.mean(temp)) + # Normalize + noise_autoregression = stats.zscore(noise_autoregression) + return noise_autoregression def _generate_noise_temporal_phys(timepoints, - physiological_sigma, resp_freq=0.2, heart_freq=1.17, ): @@ -714,10 +1077,6 @@ def _generate_noise_temporal_phys(timepoints, timepoints : 1 Dimensional array What time points are sampled by a TR - physiological_sigma : float - How variable is the signal as a result of physiology, - like heart beat and breathing - resp_freq : float What is the frequency of respiration @@ -738,114 +1097,17 @@ def _generate_noise_temporal_phys(timepoints, # Combine the two types of noise and append noise_phys.append(np.cos(resp_radians) + np.sin(heart_radians) + - np.random.normal(0, physiological_sigma)) - - return noise_phys + np.random.normal(0, 1)) + # Normalize + noise_phys = stats.zscore(noise_phys) -def _generate_noise_temporal(stimfunction, - tr_duration, - z_score=1, - motion_sigma=15, - drift_sigma=15, - auto_seg_sigma=15, - auto_reg_order=1, - auto_reg_rho=[1], - physiological_sigma=15, - ): - """Generate the signal dependent noise - - This noise depends on things like the signal or the timing of the - experiment. - - Parameters - ---------- - - stimfunction : 1 Dimensional array - This is the timecourse of the stimuli in this experiment - - tr_duration : int - How long is a TR, in seconds - - z_score : bool - Is the data to be normalized - - motion_sigma : float - - How much noise is left over after pre-processing has been - done. This is noise specifically on the task events - - drift_sigma : float - - What is the sigma on the distribution that coefficients are - randomly sampled from - - auto_reg_sigma : float - - - auto_reg_order : float - - - auto_reg_rho : float - - - physiological_sigma : float - - How variable is the signal as a result of physiology, - like heart beat and breathing - - Returns - ---------- - one dimensional array, float - Generates the temporal noise timecourse for these parameters - - - """ - - # Set up common parameters - # How many TRs are there - trs = len(stimfunction) - - # What time points are sampled by a TR? - timepoints = list(range(0, trs * tr_duration))[::tr_duration] - - # Make each noise type - noise_task = _generate_noise_temporal_task(stimfunction, - motion_sigma, - ) - - noise_drift = _generate_noise_temporal_drift(trs, - tr_duration, - drift_sigma, - timepoints, - ) - - noise_phys = _generate_noise_temporal_phys(timepoints, - physiological_sigma, - ) - - noise_autoregression = _generate_noise_temporal_autoregression( - auto_reg_rho, auto_reg_order, auto_seg_sigma, timepoints, ) - - # Do you want to z score it? - if z_score == 1: - noise_task = stats.zscore(noise_task) - noise_phys = stats.zscore(noise_phys) - noise_drift = stats.zscore(noise_drift) - noise_autoregression = stats.zscore(noise_autoregression) - - # add the noise (it would have been nice to just add all of them in a - # single line but this was causing formatting problems) - noise_temporal = noise_task - noise_temporal = noise_temporal + noise_phys - noise_temporal = noise_temporal + noise_drift - noise_temporal = noise_temporal + noise_autoregression - - return noise_temporal + return noise_phys def _generate_noise_spatial(dimensions, - sigma=-4.0, + mask=None, + spatial_sigma=-4.0, ): """Generate code for Gaussian Random Fields. @@ -859,17 +1121,27 @@ def _generate_noise_spatial(dimensions, Parameters ---------- - dimensions : tuple + dimensions : 3 length array, int What is the shape of the volume to be generated - sigma : float - What is the size of the standard deviation in the gaussian random - fields to generated + mask : 3d array + The mask describing the boundaries of the brain + + spatial_sigma : float + Approximately, what is the FWHM of the gaussian fields being + created. Use calc_fwhm to check this. + This is approximate for two reasons: firstly, although the + distribution that is being drawn from is set to this value, + this will manifest differently on every draw. Secondly, because of + the masking and dimensions of the generated volume, this does not + behave simply. For instance, values over 10 do not work well because + the size of the volume. Moreover, wrapping effects matter (the + outputs are closer to this value if you have no mask). Returns ---------- - multidimensional array, float + 3d array, float Generates the spatial noise volume for these parameters """ @@ -888,9 +1160,9 @@ def Pk2(idxs): # If all the indexes are zero then set the out put to zero if np.all(idxs == 0): return 0.0 - return np.sqrt((np.sqrt(np.sum(idxs ** 2))) ** sigma) + return np.sqrt(np.sqrt(np.sum(idxs ** 2)) ** (-1 * spatial_sigma)) - noise = np.fft.fft2(np.random.normal(size=dimensions)) + noise = np.fft.fftn(np.random.normal(size=dimensions)) amplitude = np.zeros(dimensions) for x, fft_x in enumerate(fftIndgen(dimensions[0])): @@ -899,94 +1171,190 @@ def Pk2(idxs): amplitude[x, y, z] = Pk2(np.array([fft_x, fft_y, fft_z])) # The output - noise_spatial = np.fft.ifft2(noise * amplitude) + noise_spatial = np.fft.ifftn(noise * amplitude) - return noise_spatial.real + # Mask or not, then z score + if mask is not None: + # Mask the output + noise_spatial = noise_spatial.real * mask -def generate_noise(dimensions, - stimfunction, - tr_duration, - noise_strength=[1]): - """ Generate the noise to be added to the signal + # Z score the specific to the brain + noise_spatial[mask > 0] = stats.zscore(noise_spatial[mask > 0]) + else: + noise_spatial = stats.zscore(noise_spatial.real) + + return noise_spatial + + +def _generate_noise_temporal(stimfunction, + tr_duration, + dimensions, + mask, + spatial_sigma, + motion_sigma, + drift_sigma, + auto_reg_sigma, + physiological_sigma, + ): + """Generate the signal dependent noise + + This noise depends on things like the signal or the timing of the + experiment. Parameters ---------- - dimensions : tuple - What is the shape of the volume to be generated - stimfunction : Iterable, bool - When do the stimuli events occur + stimfunction : 1 Dimensional array + This is the timecourse of the stimuli in this experiment - tr_duration : float - What is the duration, in seconds, of each TR? + tr_duration : int + How long is a TR, in seconds + + motion_sigma : float + + How much noise is left over after pre-processing has been + done. This is noise specifically on the task events - noise_strength : list, float - Either a one element list or a list of length 3 which varies - the size of the noise for temporal noise, spatial noise and - system noise + drift_sigma : float + + What is the sigma on the distribution that coefficients are + randomly sampled from + + auto_reg_sigma : float, list + How large is the sigma on the autocorrelation. Higher means more + variable over time. If there are multiple entries then this is + inferred as higher orders of the autoregression + + physiological_sigma : float + + How variable is the signal as a result of physiology, + like heart beat and breathing Returns ---------- + one dimensional array, float + Generates the temporal noise timecourse for these parameters - multidimensional array, float - Generates the noise volume for these parameters + """ - """ + # Set up common parameters + # How many TRs are there + trs = int(len(stimfunction) / (tr_duration * 1000)) - # Duplicate the noise strength if only one is supplied - if len(noise_strength) == 1: - noise_strength = noise_strength * 3 + # What time points are sampled by a TR? + timepoints = list(range(0, trs * tr_duration))[::tr_duration] - # What are the dimensions of the volume, including time - dimensions_tr = (dimensions[0], - dimensions[1], - dimensions[2], - len(stimfunction)) + noise_drift = _generate_noise_temporal_drift(trs, + tr_duration, + ) - # Generate the noise - noise_temporal = _generate_noise_temporal(stimfunction=stimfunction, - tr_duration=tr_duration, - ) * noise_strength[0] + noise_phys = _generate_noise_temporal_phys(timepoints, + ) - noise_spatial = _generate_noise_spatial(dimensions=dimensions, - ) * noise_strength[1] + noise_autoregression = _generate_noise_temporal_autoregression(timepoints, + ) - noise_system = _generate_noise_system(dimensions=dimensions_tr, - ) * noise_strength[2] + # Generate the volumes that will differ depending on the type of noise + # that it will be used for + volume_drift = _generate_noise_spatial(dimensions=dimensions, + spatial_sigma=spatial_sigma, + ) - # Find the outer product and add white noise - noise = np.multiply.outer(noise_spatial, noise_temporal) + noise_system + volume_phys = _generate_noise_spatial(dimensions=dimensions, + mask=mask, + spatial_sigma=spatial_sigma, + ) - return noise + volume_autoreg = _generate_noise_spatial(dimensions=dimensions, + mask=mask, + spatial_sigma=spatial_sigma, + ) + + # Multiply the noise by the spatial volume + noise_drift_volume = np.multiply.outer(volume_drift, noise_drift) + noise_phys_volume = np.multiply.outer(volume_phys, noise_phys) + noise_autoregression_volume = np.multiply.outer(volume_autoreg, + noise_autoregression) + + # Sum the noise (it would have been nice to just add all of them in a + # single line but this was causing formatting problems) + noise_temporal = noise_drift_volume * drift_sigma + noise_temporal = noise_temporal + (noise_phys_volume * physiological_sigma) + noise_temporal = noise_temporal + (noise_autoregression_volume * + auto_reg_sigma) + + # Only do this if you are making motion variance + if motion_sigma != 0 and np.sum(stimfunction) > 0: + # Make each noise type + stimfunction_tr = stimfunction[::(tr_duration * 1000)] + noise_task = _generate_noise_temporal_task(stimfunction_tr, + ) + volume_task = _generate_noise_spatial(dimensions=dimensions, + mask=mask, + spatial_sigma=spatial_sigma, + ) + noise_task_volume = np.multiply.outer(volume_task, noise_task) + noise_temporal = noise_temporal + (noise_task_volume * motion_sigma) + + return noise_temporal def mask_brain(volume, - mask_name=None): + mask_name=None, + mask_threshold=0.1, + ): """ Mask the simulated volume + This takes in a volume and will output the masked volume. if a one + dimensional array is supplied then the output will be a volume of the + dimensions specified in the array. The mask can be created from the + volume by averaging it. All masks will be bounded to the range of 0 to 1. Parameters ---------- volume : multidimensional array - The volume that has been simulated + Either numpy array of the volume that has been simulated or a tuple + describing the dimensions of the mask to be created mask_name : str - What is the path to the mask to be loaded? + What is the path to the mask to be loaded? If set to self then it + makes a mask from the volume supplied (by averaging across time + points and changing the range). If empty then it defaults to an + MNI152 grey matter mask. + + mask_threshold : float + What is the threshold (0 -> 1) for including a voxel in the mask? Returns ---------- - brain : multidimensional array, float + mask : multidimensional array, float The masked brain """ + # If the volume supplied is a 1d array then output a volume of the + # supplied dimensions + if len(volume.shape) == 1: + volume = np.ones(volume) + # Load in the mask if mask_name is None: mask_raw = np.load(resource_stream(__name__, "grey_matter_mask.npy")) + elif mask_name is 'self': + mask_raw = np.zeros([volume.shape[0], volume.shape[1], volume.shape[ + 2], 1]) + + if len(volume.shape) == 4: + mask_raw[:, :, :, 0] = np.mean(volume, 3) + else: + mask_raw[:, :, :, 0] = np.array(volume) else: mask_raw = np.load(mask_name) + # Make sure the mask values range from 0 to 1 + mask_raw = mask_raw / mask_raw.max() + # If there is only one brain volume then make this a forth dimension if len(volume.shape) == 3: temp = np.zeros([volume.shape[0], volume.shape[1], volume.shape[2], 1]) @@ -1006,18 +1374,138 @@ def mask_brain(volume, # You might get a warning but ignore it mask = ndimage.zoom(mask_raw, zoom_factor, order=2) - # Anything that is in the bottom 1% (presumably the exterior of the - # brain, make zero) - mask[mask < 0.01] = 0 + # Any proportion that is below threshold (presumably the exterior of the + # brain), make zero + mask[mask < mask_threshold] = 0 + + # create the mask in 4d + mask = np.ones(volume.shape) * mask + + return mask + + +def generate_noise(dimensions, + stimfunction, + tr_duration, + mask=None, + noise_dict={'overall': 0.1}, + ): + """ Generate the noise to be added to the signal. + Default noise parameters will create a noise volume with a standard + deviation of 0.1 (where the signal defaults to a value of 1). This has + built into estimates of how different types of noise mix. All noise + values can be set by the user + + Parameters + ---------- + dimensions : n length array, int + What is the shape of the volume to be generated + + stimfunction : Iterable, bool + When do the stimuli events occur - # Mask out the non grey matter regions - brain = volume * mask + tr_duration : float + What is the duration, in seconds, of each TR? - return brain + mask : 4d array, float + The mask of the brain volume, using + + noise_dict : dictionary, float + This is a dictionary that must contain the key: overall. If there + are no other variables provided then it will default values + + Returns + ---------- + + multidimensional array, float + Generates the noise volume for these parameters + + """ + + # Check what noise is in the dictionary and add if necessary. Numbers + # determine relative proportion of noise + + if 'overall' not in noise_dict: + noise_dict['overall'] = 0.1 + if 'motion_sigma' not in noise_dict: + noise_dict['motion_sigma'] = 0.1 + if 'drift_sigma' not in noise_dict: + noise_dict['drift_sigma'] = 0.5 + if 'auto_reg_sigma' not in noise_dict: + noise_dict['auto_reg_sigma'] = 1 + if 'physiological_sigma' not in noise_dict: + noise_dict['physiological_sigma'] = 0.1 + if 'system_sigma' not in noise_dict: + noise_dict['system_sigma'] = 1 + if 'snr' not in noise_dict: + noise_dict['snr'] = 30 + if 'spatial_sigma' not in noise_dict: + noise_dict['spatial_sigma'] = 0.015 / noise_dict['overall'] + + # Print the mixing of the noise + total_var = noise_dict['motion_sigma'] ** 2 + total_var += noise_dict['drift_sigma'] ** 2 + total_var += noise_dict['auto_reg_sigma'] ** 2 + total_var += noise_dict['physiological_sigma'] ** 2 + total_var += noise_dict['system_sigma'] ** 2 + + # print('Noise mixture\n') + # tmp = str(noise_dict['motion_sigma'] ** 2 / total_var * 100)[0:5] + # print('Task noise:\t\t\t\t' + tmp) + # tmp = str(noise_dict['drift_sigma'] ** 2 / total_var * 100)[0:5] + # print('Drift noise:\t\t\t' + tmp) + # tmp = str(noise_dict['auto_reg_sigma'] ** 2 / total_var * 100)[0:5] + # print('Autoregression noise:\t' + tmp) + # tmp = str(noise_dict['physiological_sigma'] ** 2 / total_var * 100)[0:5] + # print('Physiological noise:\t' + tmp) + # tmp = str(noise_dict['system_sigma'] ** 2 / total_var * 100)[0:5] + # print('System noise:\t\t\t' + tmp) + + # What are the dimensions of the volume, including time + dimensions_tr = (dimensions[0], + dimensions[1], + dimensions[2], + int(len(stimfunction) / (tr_duration * 1000))) + + # Get the mask of the brain and set it to be 3d + if mask is None: + mask = np.ones(dimensions) + + # Generate the noise + noise_temporal = _generate_noise_temporal(stimfunction=stimfunction, + tr_duration=tr_duration, + dimensions=dimensions, + mask=mask[:, :, :, 0], + spatial_sigma=noise_dict[ + 'spatial_sigma'], + motion_sigma=noise_dict[ + 'motion_sigma'], + drift_sigma=noise_dict[ + 'drift_sigma'], + auto_reg_sigma=noise_dict[ + 'auto_reg_sigma'], + physiological_sigma=noise_dict[ + 'physiological_sigma'], + ) + + noise_system = _generate_noise_system(dimensions_tr=dimensions_tr, + ) * noise_dict['system_sigma'] + + # Find the outer product for the brain and nonbrain and add white noise + noise = noise_temporal + noise_system + + # Z score the volume and multiply it by the overall noise + noise = stats.zscore(noise) * noise_dict['overall'] + + # Set the SNR of the brain + noise = noise + (mask * noise_dict['snr'] * noise_dict['overall']) + + return noise def plot_brain(fig, brain, + mask=None, percentile=99, ): """ Display the brain that has been generated with a given threshold @@ -1029,8 +1517,11 @@ def plot_brain(fig, The figure to be displayed, generated from matplotlib. import matplotlib.pyplot as plt; fig = plt.figure() - brain : multidimensional array - This is a 3d or 4d array with the neural data + brain : 3d array + This is a 3d array with the neural data + + mask : 3d array + A binary mask describing the location that you want to specify as percentile : float What percentage of voxels will be included? Based on the values @@ -1052,8 +1543,6 @@ def plot_brain(fig, # How many voxels exceed a threshold brain_threshold = np.where(np.abs(brain) > threshold) - brain_all = np.where(np.abs(brain) > 0) - # Clear the way ax.clear() @@ -1061,14 +1550,18 @@ def plot_brain(fig, ax.set_ylim(0, brain.shape[1]) ax.set_zlim(0, brain.shape[2]) - ax.scatter(brain_all[0], - brain_all[1], - brain_all[2], - zdir='z', - c='black', - s=10, - alpha=0.01) - + # If a mask is provided then plot this + if mask is not None: + mask_threshold = np.where(np.abs(mask) > 0) + ax.scatter(mask_threshold[0], + mask_threshold[1], + mask_threshold[2], + zdir='z', + c='black', + s=10, + alpha=0.01) + + # Plot the volume ax.scatter(brain_threshold[0], brain_threshold[1], brain_threshold[2], diff --git a/examples/utils/fmrisim_example.py b/examples/utils/fmrisim_example.py index b1430f05f..74d60ed5b 100644 --- a/examples/utils/fmrisim_example.py +++ b/examples/utils/fmrisim_example.py @@ -20,23 +20,23 @@ Authors: Cameron Ellis (Princeton) 2016 """ import logging - import numpy as np from brainiak.utils import fmrisim as sim import matplotlib.pyplot as plt -from mpl_toolkits.mplot3d import Axes3D # noqa: F401 +from mpl_toolkits.mplot3d import Axes3D # noqa: F401 +import nibabel logger = logging.getLogger(__name__) # Inputs for generate_signal -dimensions = np.array([64, 64, 36]) # What is the size of the brain +dimensions = np.array([64, 64, 36]) # What is the size of the brain feature_size = [9, 4, 9, 9] feature_type = ['loop', 'cube', 'cavity', 'sphere'] -feature_coordinates_A = np.array( +coordinates_A = np.array( [[32, 32, 18], [26, 32, 18], [32, 26, 18], [32, 32, 12]]) -feature_coordinates_B = np.array( +coordinates_B = np.array( [[32, 32, 18], [38, 32, 18], [32, 38, 18], [32, 32, 24]]) -signal_magnitude = [30, 30, 30, 30] +signal_magnitude = [1, 0.5, 0.25, -1] # Inputs for generate_stimfunction @@ -46,16 +46,19 @@ tr_duration = 2 duration = 100 +# Specify a name to save this generated volume. +savename = 'examples/utils/example.nii' + # Generate a volume representing the location and quality of the signal volume_static_A = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates_A, + feature_coordinates=coordinates_A, feature_type=feature_type, feature_size=feature_size, signal_magnitude=signal_magnitude, ) volume_static_B = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates_B, + feature_coordinates=coordinates_B, feature_type=feature_type, feature_size=feature_size, signal_magnitude=signal_magnitude, @@ -72,20 +75,20 @@ stimfunction_A = sim.generate_stimfunction(onsets=onsets_A, event_durations=event_durations, total_time=duration, - tr_duration=tr_duration, ) stimfunction_B = sim.generate_stimfunction(onsets=onsets_B, event_durations=event_durations, total_time=duration, - tr_duration=tr_duration, ) # Convolve the HRF with the stimulus sequence signal_function_A = sim.double_gamma_hrf(stimfunction=stimfunction_A, + tr_duration=tr_duration, ) signal_function_B = sim.double_gamma_hrf(stimfunction=stimfunction_B, + tr_duration=tr_duration, ) # Multiply the HRF timecourse with the signal @@ -103,17 +106,22 @@ # Combine the stim functions stimfunction = list(np.add(stimfunction_A, stimfunction_B)) +# Generate the mask of the signal +mask = sim.mask_brain(signal) + +# Mask the signal to the shape of a brain (attenuates signal according to grey +# matter likelihood) +signal *= mask + # Create the noise volumes (using the default parameters noise = sim.generate_noise(dimensions=dimensions, stimfunction=stimfunction, tr_duration=tr_duration, + mask=mask, ) # Combine the signal and the noise -volume = signal + noise - -# Mask the volume to be the same shape as a brain -brain = sim.mask_brain(volume) +brain = signal + noise # Display the brain fig = plt.figure() @@ -122,8 +130,47 @@ # Get the axis to be plotted ax = sim.plot_brain(fig, brain[:, :, :, tr_counter], + mask=mask[:, :, :, tr_counter], percentile=99.9) # Wait for an input logging.info(tr_counter) - plt.pause(0.5) \ No newline at end of file + plt.pause(0.5) + +# Save the volume +affine_matrix = np.diag([-1, 1, 1, 1]) # LR gets flipped +brain_nifti = nibabel.Nifti1Image(brain, affine_matrix) # Create a nifti brain +nibabel.save(brain_nifti, savename) + +# Load in the test dataset and generate a random volume based on it + +# Pull out the data and associated data +volume = nibabel.load(savename).get_data() +dimensions = volume.shape[0:3] +tr_duration = tr_duration # Can't be pulled out of nibabel +stimfunction = sim.generate_stimfunction(onsets=[], + event_durations=[0], + total_time=volume.shape[3] * + tr_duration, + ) + +# Calculate the mask +mask = sim.mask_brain(volume=volume, + mask_name='self', + ) + +# Calculate the noise parameters +noise_dict = sim.calc_noise(volume=volume, + mask=mask, + ) + +# Create the noise volumes (using the default parameters +noise = sim.generate_noise(dimensions=dimensions, + tr_duration=tr_duration, + stimfunction=stimfunction, + mask=mask, + noise_dict=noise_dict, + ) + +brain_noise = nibabel.Nifti1Image(noise, affine_matrix) # Create a nifti brain +nibabel.save(brain_noise, 'examples/utils/example2.nii') # Save From f0223ec483aa6c56512ef27212996a11cfd3c0cd Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Wed, 7 Dec 2016 09:43:47 -0500 Subject: [PATCH 11/25] Updated the way TDA features are generated --- brainiak/utils/fmrisim.py | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 865076dcc..aa18aca04 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -78,7 +78,10 @@ logger = logging.getLogger(__name__) -def _generate_feature(feature_type, feature_size, signal_magnitude): +def _generate_feature(feature_type, + feature_size, + signal_magnitude, + thickness=1): """Generate features corresponding to signal Generate signal in specific regions of the brain with for a single @@ -98,6 +101,9 @@ def _generate_feature(feature_type, feature_size, signal_magnitude): Set the signal size, a value of 1 means the signal is one standard deviation of the noise + thickness : int + How thick is the surface of the loop/cavity + Returns ---------- @@ -106,6 +112,10 @@ def _generate_feature(feature_type, feature_size, signal_magnitude): """ + # If the size is equal to or less than 2 then all features are the same + if feature_size <= 2: + feature_type = 'cube' + # What kind of signal is it? if feature_type == 'cube': @@ -135,11 +145,15 @@ def _generate_feature(feature_type, feature_size, signal_magnitude): yymesh = (yy - ((feature_size - 1) / 2)) ** 2 disk = xxmesh + yymesh + # What are the limits of the rings being made + outer_lim = disk[int((feature_size - 1) / 2), 0] + inner_lim = disk[int((feature_size - 1) / 2), thickness] + # What is the outer disk - outer = disk < (feature_size - 1) + outer = disk <= outer_lim # What is the inner disk - inner = disk < (feature_size - 1) / 2 + inner = disk <= inner_lim # Subtract the two disks to get a loop loop = outer != inner @@ -165,14 +179,21 @@ def _generate_feature(feature_type, feature_size, signal_magnitude): (yy - ((feature_size - 1) / 2)) ** 2 + (zz - ((feature_size - 1) / 2)) ** 2) + # What are the limits of the rings being made + outer_lim = signal[int((feature_size - 1) / 2), int((feature_size - + 1) / 2), 0] + inner_lim = signal[int((feature_size - 1) / 2), int((feature_size - + 1) / 2), + thickness] + # Is the signal a sphere or a cavity? if feature_type == 'sphere': - signal = signal < (feature_size - 1) + signal = signal <= outer_lim else: # Get the inner and outer sphere - outer = signal < (feature_size - 1) - inner = signal < (feature_size - 1) / 2 + outer = signal <= outer_lim + inner = signal <= inner_lim # Subtract the two disks to get a loop signal = outer != inner From e26bfa9ebd1a196ecedef691dc68ddce272560f3 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Thu, 8 Dec 2016 16:28:49 -0500 Subject: [PATCH 12/25] Updated tests for new simulator code --- brainiak/utils/fmrisim.py | 7 +++-- setup.py | 2 ++ tests/utils/test_fmrisim.py | 59 +++++++++++++++++++------------------ 3 files changed, 37 insertions(+), 31 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index aa18aca04..87e55502d 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -1461,7 +1461,10 @@ def generate_noise(dimensions, if 'snr' not in noise_dict: noise_dict['snr'] = 30 if 'spatial_sigma' not in noise_dict: - noise_dict['spatial_sigma'] = 0.015 / noise_dict['overall'] + if noise_dict['overall'] == 0: + noise_dict['spatial_sigma'] = 0.015 + else: + noise_dict['spatial_sigma'] = 0.015 / noise_dict['overall'] # Print the mixing of the noise total_var = noise_dict['motion_sigma'] ** 2 @@ -1490,7 +1493,7 @@ def generate_noise(dimensions, # Get the mask of the brain and set it to be 3d if mask is None: - mask = np.ones(dimensions) + mask = np.ones(dimensions_tr) # Generate the noise noise_temporal = _generate_noise_temporal(stimfunction=stimfunction, diff --git a/setup.py b/setup.py index 33552e9c9..998357186 100644 --- a/setup.py +++ b/setup.py @@ -123,9 +123,11 @@ def finalize_options(self): install_requires=[ 'cython', 'mpi4py', + 'nibabel', 'numpy', 'scikit-learn>=0.18', 'scipy', + 'statsmodels', 'pymanopt', 'theano', 'pybind11>=1.7', diff --git a/tests/utils/test_fmrisim.py b/tests/utils/test_fmrisim.py index 7b2821a15..8449a7aca 100644 --- a/tests/utils/test_fmrisim.py +++ b/tests/utils/test_fmrisim.py @@ -22,7 +22,6 @@ import math from brainiak.utils import fmrisim as sim - def test_generate_signal(): # Inputs for generate_signal @@ -53,7 +52,8 @@ def test_generate_signal(): volume_static = sim.generate_signal(dimensions=dimensions, feature_coordinates=feature_coordinates, - feature_type=['loop', 'cavity', 'sphere'], + feature_type=['loop', 'cavity', + 'sphere'], feature_size=[9], signal_magnitude=signal_magnitude, ) @@ -74,28 +74,29 @@ def test_generate_stimfunction(): stimfunction = sim.generate_stimfunction(onsets=onsets, event_durations=event_durations, total_time=duration, - tr_duration=tr_duration, ) - assert len(stimfunction) == duration / tr_duration, "stimfunction incorrect " \ + assert len(stimfunction) == duration * 1000, "stimfunction incorrect " \ "length" - assert np.sum(stimfunction) == np.sum(event_durations * len(onsets)) / \ - tr_duration, "Event number" + assert np.sum(stimfunction) == np.sum(event_durations * len(onsets)) * \ + 1000, "Event number" # Create the signal function signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + tr_duration=tr_duration, ) - assert len(signal_function) == len(stimfunction), "The length did not change" + assert len(signal_function) == len(stimfunction) / (tr_duration * 1000), \ + "The length did not change" onsets = [10] stimfunction = sim.generate_stimfunction(onsets=onsets, event_durations=event_durations, total_time=duration, - tr_duration=tr_duration, ) signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + tr_duration=tr_duration, ) assert np.sum(signal_function < 0) > 0, "No values below zero" @@ -127,10 +128,10 @@ def test_apply_signal(): stimfunction = sim.generate_stimfunction(onsets=onsets, event_durations=event_durations, total_time=duration, - tr_duration=tr_duration, ) signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + tr_duration=tr_duration, ) # Convolve the HRF with the stimulus sequence @@ -139,7 +140,8 @@ def test_apply_signal(): ) assert signal.shape == (dimensions[0], dimensions[1], dimensions[2], - duration / tr_duration), "The output is the wrong size" + duration / tr_duration), "The output is the " \ + "wrong size" signal = sim.apply_signal(signal_function=stimfunction, volume_static=volume_static, @@ -150,7 +152,6 @@ def test_apply_signal(): def test_generate_noise(): - dimensions = np.array([64, 64, 36]) # What is the size of the brain feature_size = [2] feature_type = ['cube'] @@ -176,10 +177,10 @@ def test_generate_noise(): stimfunction = sim.generate_stimfunction(onsets=onsets, event_durations=event_durations, total_time=duration, - tr_duration=tr_duration, ) signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, + tr_duration=tr_duration, ) # Convolve the HRF with the stimulus sequence @@ -187,30 +188,28 @@ def test_generate_noise(): volume_static=volume_static, ) - # Create the noise volumes (using the default parameters) + # Generate the mask of the signal + mask = sim.mask_brain(signal, mask_threshold=0.1) + + assert min(mask[mask > 0]) > 0.1, "Mask thresholding did not work" + # Create the noise volumes (using the default parameters) noise = sim.generate_noise(dimensions=dimensions, stimfunction=stimfunction, tr_duration=tr_duration, + mask=mask, ) - assert signal.shape == noise.shape, "The dimensions of signal " \ - "and noise the same" - - Z_noise = sim._generate_noise_temporal(stimfunction, tr_duration, 1) - noise = sim._generate_noise_temporal(stimfunction, tr_duration, 0) - - assert np.std(Z_noise) < np.std(noise), "Z scoring is not working" - - # Combine the signal and the noise - volume = signal + noise + assert signal.shape == noise.shape, "The dimensions of signal and noise " \ + "the same" assert np.std(signal) < np.std(noise), "Noise was not created" noise = sim.generate_noise(dimensions=dimensions, stimfunction=stimfunction, tr_duration=tr_duration, - noise_strength=[0, 0, 0] + mask=mask, + noise_dict={'overall': 0}, ) assert np.sum(noise) == 0, "Noise strength could not be manipulated" @@ -236,11 +235,12 @@ def test_mask_brain(): ) # Mask the volume to be the same shape as a brain - brain = sim.mask_brain(volume) + mask = sim.mask_brain(volume)[:,:,:,0] + brain = volume * mask > 0 assert np.sum(brain != 0) == np.sum(volume != 0), "Masking did not work" - assert brain[0,0,0,0] == 0, "Masking did not work" - assert brain[32,32,18,0] != 0, "Masking did not work" + assert brain[0, 0, 0] == 0, "Masking did not work" + assert brain[32, 32, 18] != 0, "Masking did not work" feature_coordinates = np.array( [[3, 3, 3]]) @@ -253,6 +253,7 @@ def test_mask_brain(): ) # Mask the volume to be the same shape as a brain - brain = sim.mask_brain(volume) + mask = sim.mask_brain(volume)[:,:,:,0] + brain = volume * mask > 0 - assert np.sum(brain != 0) < np.sum(volume != 0), "Masking did not work" \ No newline at end of file + assert np.sum(brain != 0) < np.sum(volume != 0), "Masking did not work" From 1f9de4efb9a48b5f8354a68030bdf9a15673cad6 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Fri, 9 Dec 2016 13:40:18 -0500 Subject: [PATCH 13/25] Updated fmrisim test, corrected error of deleting test_hpo --- brainiak/utils/fmrisim.py | 92 ++++++++++++++++++++------------- tests/hyperparamopt/test_hpo.py | 87 +++++++++++++++++++++++++++++++ tests/utils/test_fmrisim.py | 39 +++++++------- 3 files changed, 164 insertions(+), 54 deletions(-) create mode 100755 tests/hyperparamopt/test_hpo.py diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 87e55502d..8331d2a2d 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -240,15 +240,15 @@ def _insert_idxs(feature_centre, feature_size, dimensions): """ # Set up the indexes within which to insert the signal - x_idx = [int(feature_centre[0] - (feature_size / 2)), + x_idx = [int(feature_centre[0] - (feature_size / 2)) + 1, int(feature_centre[0] - (feature_size / 2) + - feature_size)] - y_idx = [int(feature_centre[1] - (feature_size / 2)), + feature_size) + 1] + y_idx = [int(feature_centre[1] - (feature_size / 2)) + 1, int(feature_centre[1] - (feature_size / 2) + - feature_size)] - z_idx = [int(feature_centre[2] - (feature_size / 2)), + feature_size) + 1] + z_idx = [int(feature_centre[2] - (feature_size / 2)) + 1, int(feature_centre[2] - (feature_size / 2) + - feature_size)] + feature_size) + 1] # Check for out of bounds # Min Boundary @@ -1405,41 +1405,19 @@ def mask_brain(volume, return mask -def generate_noise(dimensions, - stimfunction, - tr_duration, - mask=None, - noise_dict={'overall': 0.1}, - ): - """ Generate the noise to be added to the signal. - Default noise parameters will create a noise volume with a standard - deviation of 0.1 (where the signal defaults to a value of 1). This has - built into estimates of how different types of noise mix. All noise - values can be set by the user +def _noise_dict_update(noise_dict): + """ + Update the noise dictionary parameters, in case any were missing Parameters ---------- - dimensions : n length array, int - What is the shape of the volume to be generated + noise_dict : dict - stimfunction : Iterable, bool - When do the stimuli events occur - - tr_duration : float - What is the duration, in seconds, of each TR? - - mask : 4d array, float - The mask of the brain volume, using - - noise_dict : dictionary, float - This is a dictionary that must contain the key: overall. If there - are no other variables provided then it will default values + A dictionary specifying the types of noise in this experiment Returns - ---------- - - multidimensional array, float - Generates the noise volume for these parameters + ------- + Updated dictionary """ @@ -1485,6 +1463,50 @@ def generate_noise(dimensions, # tmp = str(noise_dict['system_sigma'] ** 2 / total_var * 100)[0:5] # print('System noise:\t\t\t' + tmp) + return noise_dict + + +def generate_noise(dimensions, + stimfunction, + tr_duration, + mask=None, + noise_dict={'overall': 0.1}, + ): + """ Generate the noise to be added to the signal. + Default noise parameters will create a noise volume with a standard + deviation of 0.1 (where the signal defaults to a value of 1). This has + built into estimates of how different types of noise mix. All noise + values can be set by the user + + Parameters + ---------- + dimensions : n length array, int + What is the shape of the volume to be generated + + stimfunction : Iterable, bool + When do the stimuli events occur + + tr_duration : float + What is the duration, in seconds, of each TR? + + mask : 4d array, float + The mask of the brain volume, using + + noise_dict : dictionary, float + This is a dictionary that must contain the key: overall. If there + are no other variables provided then it will default values + + Returns + ---------- + + multidimensional array, float + Generates the noise volume for these parameters + + """ + + # Take in the noise dictionary and determine whether + noise_dict = _noise_dict_update(noise_dict) + # What are the dimensions of the volume, including time dimensions_tr = (dimensions[0], dimensions[1], diff --git a/tests/hyperparamopt/test_hpo.py b/tests/hyperparamopt/test_hpo.py new file mode 100755 index 000000000..64b9b7eab --- /dev/null +++ b/tests/hyperparamopt/test_hpo.py @@ -0,0 +1,87 @@ +# Copyright 2016 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import pytest +import numpy as np +import scipy.stats as st +from brainiak.hyperparamopt.hpo import gmm_1d_distribution, fmin + + +def test_simple_gmm(): + x = np.array([1., 1., 2., 3., 1.]) + d = gmm_1d_distribution(x, min_limit=0., max_limit=4.) + assert d(1.1) > d(3.5), "GMM distribution not behaving correctly" + assert d(2.0) > d(3.0), "GMM distribution not behaving correctly" + assert d(-1.0) == 0, "GMM distribution out of bounds error" + assert d(9.0) == 0, "GMM distribution out of bounds error" + + samples = d.get_samples(n=25) + np.testing.assert_array_less(samples, 4.) + np.testing.assert_array_less(0., samples) + + +def test_simple_gmm_weights(): + x = np.array([1., 1., 2., 3., 1., 3.]) + d = gmm_1d_distribution(x) + + x2 = np.array([1., 2., 3.]) + w = np.array([3., 1., 2.]) + d2 = gmm_1d_distribution(x2, weights=w) + y2 = d2(np.array([1.1, 2.0])) + + assert d2(1.1) == y2[0],\ + "GMM distribution array & scalar results don't match" + assert np.abs(d(1.1) - d2(1.1)) < 1e-5,\ + "GMM distribution weights not handled correctly" + assert np.abs(d(2.0) - d2(2.0)) < 1e-5,\ + "GMM distribution weights not handled correctly" + + +def test_simple_hpo(): + + def f(args): + x = args['x'] + return x*x + + s = {'x': {'dist': st.uniform(loc=-10., scale=20), 'lo': -10., 'hi': 10.}} + trials = [] + + #Test fmin and ability to continue adding to trials + best = fmin(loss_fn=f, space=s, max_evals=40, trials=trials) + best = fmin(loss_fn=f, space=s, max_evals=10, trials=trials) + + assert len(trials) == 50, "HPO continuation trials not working" + + # Test verbose flag + best = fmin(loss_fn=f, space=s, max_evals=10, trials=trials) + + yarray = np.array([tr['loss'] for tr in trials]) + np.testing.assert_array_less(yarray, 100.) + + xarray = np.array([tr['x'] for tr in trials]) + np.testing.assert_array_less(np.abs(xarray), 10.) + + assert best['loss'] < 100., "HPO out of range" + assert np.abs(best['x']) < 10., "HPO out of range" + + #Test unknown distributions + s2 = {'x': {'dist': 'normal', 'mu': 0., 'sigma': 1.}} + trials2 = [] + with pytest.raises(ValueError) as excinfo: + best2 = fmin(loss_fn=f, space=s2, max_evals=40, trials=trials2) + assert "Unknown distribution type for variable" in str(excinfo.value) + + s3 = {'x': {'dist': st.norm(loc=0., scale=1.)}} + trials3 = [] + best3 = fmin(loss_fn=f, space=s3, max_evals=40, trials=trials3) + diff --git a/tests/utils/test_fmrisim.py b/tests/utils/test_fmrisim.py index 8449a7aca..9285716fe 100644 --- a/tests/utils/test_fmrisim.py +++ b/tests/utils/test_fmrisim.py @@ -22,14 +22,15 @@ import math from brainiak.utils import fmrisim as sim + def test_generate_signal(): # Inputs for generate_signal - dimensions = np.array([64, 64, 36]) # What is the size of the brain - feature_size = [2] + dimensions = np.array([10, 10, 10]) # What is the size of the brain + feature_size = [3] feature_type = ['cube'] feature_coordinates = np.array( - [[32, 32, 18]]) + [[5, 5, 5]]) signal_magnitude = [30] # Generate a volume representing the location and quality of the signal @@ -44,22 +45,22 @@ def test_generate_signal(): assert np.max(volume_static) == signal_magnitude, "Check signal magnitude" assert np.sum(volume_static>0) == math.pow(feature_size[0], 3), "Check " \ "feature size" - assert volume_static[32,32,18] == signal_magnitude, "Check signal location" - assert volume_static[32,32,10] == 0, "Check noise location" + assert volume_static[5, 5, 5] == signal_magnitude, "Check signal location" + assert volume_static[5, 5, 1] == 0, "Check noise location" feature_coordinates = np.array( - [[32, 32, 18], [32, 28, 18], [28, 32, 18]]) + [[5, 5, 5], [3, 3, 3], [7, 7, 7]]) volume_static = sim.generate_signal(dimensions=dimensions, feature_coordinates=feature_coordinates, feature_type=['loop', 'cavity', 'sphere'], - feature_size=[9], + feature_size=[3], signal_magnitude=signal_magnitude, ) - assert volume_static[32, 32, 18] == 0, "Loop is empty" - assert volume_static[32, 28, 18] == 0, "Cavity is empty" - assert volume_static[28, 32, 18] != 0, "Sphere is not empty" + assert volume_static[5, 5, 5] == 0, "Loop is empty" + assert volume_static[3, 3, 3] == 0, "Cavity is empty" + assert volume_static[7, 7, 7] != 0, "Sphere is not empty" def test_generate_stimfunction(): @@ -152,12 +153,12 @@ def test_apply_signal(): def test_generate_noise(): - dimensions = np.array([64, 64, 36]) # What is the size of the brain + dimensions = np.array([10, 10, 10]) # What is the size of the brain feature_size = [2] feature_type = ['cube'] feature_coordinates = np.array( - [[32, 32, 18]]) - signal_magnitude = [30] + [[5, 5, 5]]) + signal_magnitude = [1] # Generate a volume representing the location and quality of the signal volume_static = sim.generate_signal(dimensions=dimensions, @@ -219,11 +220,11 @@ def test_generate_noise(): def test_mask_brain(): # Inputs for generate_signal - dimensions = np.array([64, 64, 36]) # What is the size of the brain + dimensions = np.array([10, 10, 10]) # What is the size of the brain feature_size = [2] feature_type = ['cube'] feature_coordinates = np.array( - [[32, 32, 18]]) + [[4, 4, 4]]) signal_magnitude = [30] # Generate a volume representing the location and quality of the signal @@ -236,14 +237,14 @@ def test_mask_brain(): # Mask the volume to be the same shape as a brain mask = sim.mask_brain(volume)[:,:,:,0] - brain = volume * mask > 0 + brain = volume * (mask > 0) assert np.sum(brain != 0) == np.sum(volume != 0), "Masking did not work" assert brain[0, 0, 0] == 0, "Masking did not work" - assert brain[32, 32, 18] != 0, "Masking did not work" + assert brain[4, 4, 4] != 0, "Masking did not work" feature_coordinates = np.array( - [[3, 3, 3]]) + [[1, 1, 1]]) volume = sim.generate_signal(dimensions=dimensions, feature_coordinates=feature_coordinates, @@ -254,6 +255,6 @@ def test_mask_brain(): # Mask the volume to be the same shape as a brain mask = sim.mask_brain(volume)[:,:,:,0] - brain = volume * mask > 0 + brain = volume * (mask > 0) assert np.sum(brain != 0) < np.sum(volume != 0), "Masking did not work" From 25929fa77d3a8b6b3f2cd5cc13ba7f09aba96b8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mihai=20Capot=C4=83?= Date: Fri, 9 Dec 2016 12:04:17 -0800 Subject: [PATCH 14/25] No need to make any change to hyperparamopt --- tests/hyperparamopt/test_hpo.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 tests/hyperparamopt/test_hpo.py diff --git a/tests/hyperparamopt/test_hpo.py b/tests/hyperparamopt/test_hpo.py old mode 100755 new mode 100644 From 65ebfaaf1fd7a88badfff7a41cc7eea16d14ad6b Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Tue, 13 Dec 2016 13:15:56 -0500 Subject: [PATCH 15/25] Updated doc string --- brainiak/utils/fmrisim.py | 20 ++++++++------------ tests/utils/test_fmrisim.py | 4 ++-- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 8331d2a2d..da2427849 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -60,7 +60,7 @@ from itertools import product import nibabel from scipy import stats -import statsmodels.api as sm +import nitime.algorithms.autoregressive as ar from pkg_resources import resource_stream __all__ = [ @@ -807,7 +807,7 @@ def _calc_snr(volume, def _calc_autoregression(volume, mask, - ar_order=1, + ar_order=2, ): """ Calculate the autoregressive sigma of the data. @@ -832,12 +832,8 @@ def _calc_autoregression(volume, # Calculate the time course timecourse = np.mean(volume[mask[:, :, :, 0] > 0], 0) - # Pull out the AR values (depends on order). - # Don't worry about I or MA values. - model = sm.tsa.ARIMA(timecourse, (ar_order, 0, 0)) - - # Ignore the intercept, the first entry - auto_reg_sigma = model.fit().params[1:] + # Pull out the AR values (depends on order) + auto_reg_sigma = ar.AR_est_YW(timecourse, ar_order)[0][1] # What is the size of the change in the time course drift_sigma = timecourse.std().tolist() @@ -849,10 +845,10 @@ def calc_noise(volume, mask=None, ): """ Calculates the noise properties of the volume supplied. - This estimates what noise properties the volume has. The absolute size of - the autoregression, drift and system noise is not critical but rather - the relative amounts (because all temporal noise is z scored in the - average and multiplied by the 'overall' parameter). + This estimates what noise properties the volume has. For instance it + determines the spatial smoothness, the autoregressive noise, system + noise etc. Read the doc string for generate_noise to understand how + these different types of noise interact. Parameters ---------- diff --git a/tests/utils/test_fmrisim.py b/tests/utils/test_fmrisim.py index 9285716fe..c7a2c8563 100644 --- a/tests/utils/test_fmrisim.py +++ b/tests/utils/test_fmrisim.py @@ -104,11 +104,11 @@ def test_generate_stimfunction(): def test_apply_signal(): - dimensions = np.array([64, 64, 36]) # What is the size of the brain + dimensions = np.array([10, 10, 10]) # What is the size of the brain feature_size = [2] feature_type = ['cube'] feature_coordinates = np.array( - [[32, 32, 18]]) + [[5, 5, 5]]) signal_magnitude = [30] # Generate a volume representing the location and quality of the signal From 88961c868ba0c731223af421f676e995b6d8a935 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Tue, 13 Dec 2016 15:30:47 -0500 Subject: [PATCH 16/25] Conforming to PEP8 --- brainiak/utils/fmrisim.py | 5 ++- setup.py | 3 +- tests/utils/test_fmrisim.py | 86 ++++++++++++++++++------------------- 3 files changed, 48 insertions(+), 46 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index da2427849..328b47cec 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -486,7 +486,10 @@ def generate_stimfunction(onsets, def export_stimfunction(stimfunction, filename, ): - """ Output a three column text file (onset time, event duration and weight) + """ Output a tab separated timing file + + This produces a three column tab separated text file, with the three + columns representing onset time, event duration and weight, respectively Useful if you want to run the simulated data through FEAT analyses diff --git a/setup.py b/setup.py index 998357186..fc4445ad6 100644 --- a/setup.py +++ b/setup.py @@ -111,6 +111,7 @@ def finalize_options(self): ]) + setup( name='brainiak', use_scm_version=True, @@ -124,10 +125,10 @@ def finalize_options(self): 'cython', 'mpi4py', 'nibabel', + 'nitime', 'numpy', 'scikit-learn>=0.18', 'scipy', - 'statsmodels', 'pymanopt', 'theano', 'pybind11>=1.7', diff --git a/tests/utils/test_fmrisim.py b/tests/utils/test_fmrisim.py index c7a2c8563..05c75140a 100644 --- a/tests/utils/test_fmrisim.py +++ b/tests/utils/test_fmrisim.py @@ -26,7 +26,7 @@ def test_generate_signal(): # Inputs for generate_signal - dimensions = np.array([10, 10, 10]) # What is the size of the brain + dimensions = np.array([10, 10, 10]) # What is the size of the brain feature_size = [3] feature_type = ['cube'] feature_coordinates = np.array( @@ -34,33 +34,32 @@ def test_generate_signal(): signal_magnitude = [30] # Generate a volume representing the location and quality of the signal - volume_static = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates, - feature_type=feature_type, - feature_size=feature_size, - signal_magnitude=signal_magnitude, - ) - - assert np.all(volume_static.shape == dimensions), "Check signal shape" - assert np.max(volume_static) == signal_magnitude, "Check signal magnitude" - assert np.sum(volume_static>0) == math.pow(feature_size[0], 3), "Check " \ - "feature size" - assert volume_static[5, 5, 5] == signal_magnitude, "Check signal location" - assert volume_static[5, 5, 1] == 0, "Check noise location" + volume = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) + + assert np.all(volume.shape == dimensions), "Check signal shape" + assert np.max(volume) == signal_magnitude, "Check signal magnitude" + assert np.sum(volume>0) == math.pow(feature_size[0], 3), "Check feature " \ + "size" + assert volume[5, 5, 5] == signal_magnitude, "Check signal location" + assert volume[5, 5, 1] == 0, "Check noise location" feature_coordinates = np.array( [[5, 5, 5], [3, 3, 3], [7, 7, 7]]) - volume_static = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates, - feature_type=['loop', 'cavity', - 'sphere'], - feature_size=[3], - signal_magnitude=signal_magnitude, - ) - assert volume_static[5, 5, 5] == 0, "Loop is empty" - assert volume_static[3, 3, 3] == 0, "Cavity is empty" - assert volume_static[7, 7, 7] != 0, "Sphere is not empty" + volume = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=['loop', 'cavity', 'sphere'], + feature_size=[3], + signal_magnitude=signal_magnitude, + ) + assert volume[5, 5, 5] == 0, "Loop is empty" + assert volume[3, 3, 3] == 0, "Cavity is empty" + assert volume[7, 7, 7] != 0, "Sphere is not empty" def test_generate_stimfunction(): @@ -78,10 +77,9 @@ def test_generate_stimfunction(): ) assert len(stimfunction) == duration * 1000, "stimfunction incorrect " \ - "length" - assert np.sum(stimfunction) == np.sum(event_durations * len(onsets)) * \ - 1000, "Event number" - + "length" + eventNumber = np.sum(event_durations * len(onsets)) * 1000 + assert np.sum(stimfunction) == eventNumber, "Event number" # Create the signal function signal_function = sim.double_gamma_hrf(stimfunction=stimfunction, @@ -104,7 +102,7 @@ def test_generate_stimfunction(): def test_apply_signal(): - dimensions = np.array([10, 10, 10]) # What is the size of the brain + dimensions = np.array([10, 10, 10]) # What is the size of the brain feature_size = [2] feature_type = ['cube'] feature_coordinates = np.array( @@ -112,12 +110,12 @@ def test_apply_signal(): signal_magnitude = [30] # Generate a volume representing the location and quality of the signal - volume_static = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates, - feature_type=feature_type, - feature_size=feature_size, - signal_magnitude=signal_magnitude, - ) + volume = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) # Inputs for generate_stimfunction onsets = [10, 30, 50, 70, 90] @@ -137,7 +135,7 @@ def test_apply_signal(): # Convolve the HRF with the stimulus sequence signal = sim.apply_signal(signal_function=signal_function, - volume_static=volume_static, + volume_static=volume, ) assert signal.shape == (dimensions[0], dimensions[1], dimensions[2], @@ -145,7 +143,7 @@ def test_apply_signal(): "wrong size" signal = sim.apply_signal(signal_function=stimfunction, - volume_static=volume_static, + volume_static=volume, ) assert np.any(signal == signal_magnitude), "The stimfunction is not binary" @@ -161,12 +159,12 @@ def test_generate_noise(): signal_magnitude = [1] # Generate a volume representing the location and quality of the signal - volume_static = sim.generate_signal(dimensions=dimensions, - feature_coordinates=feature_coordinates, - feature_type=feature_type, - feature_size=feature_size, - signal_magnitude=signal_magnitude, - ) + volume = sim.generate_signal(dimensions=dimensions, + feature_coordinates=feature_coordinates, + feature_type=feature_type, + feature_size=feature_size, + signal_magnitude=signal_magnitude, + ) # Inputs for generate_stimfunction onsets = [10, 30, 50, 70, 90] @@ -186,7 +184,7 @@ def test_generate_noise(): # Convolve the HRF with the stimulus sequence signal = sim.apply_signal(signal_function=signal_function, - volume_static=volume_static, + volume_static=volume, ) # Generate the mask of the signal From 8bfa0c51f6ff3d2b3b226e538b9e6c6025fcffa5 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Tue, 13 Dec 2016 16:31:54 -0500 Subject: [PATCH 17/25] Removed nibabel --- brainiak/utils/fmrisim.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 328b47cec..6c6a5709e 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -54,14 +54,13 @@ """ import logging -import numpy as np -import scipy.ndimage as ndimage -import math from itertools import product -import nibabel -from scipy import stats import nitime.algorithms.autoregressive as ar +import math +import numpy as np from pkg_resources import resource_stream +from scipy import stats +import scipy.ndimage as ndimage __all__ = [ "generate_signal", @@ -855,7 +854,7 @@ def calc_noise(volume, Parameters ---------- - volume : str or 4d numpy array, float + volume : 4d numpy array, float Take in a functional volume (either the file name or the numpy array) to be used to estimate the noise properties of this @@ -874,12 +873,6 @@ def calc_noise(volume, # Preset noise_dict = {} - # If a string name is provided then load this file and pull out the - # nifti into a numpy array - if isinstance(volume, str): - nifti = nibabel.load(volume) # Load the file - volume = nifti.get_data() # Pull out the data - # Create the mask if mask is None: mask = np.ones(volume.shape) From f2c2c604c5b46bf4eae1f9bb9b8adfe340bcae47 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Fri, 16 Dec 2016 11:59:26 -0500 Subject: [PATCH 18/25] Increased test coverage --- tests/utils/test_fmrisim.py | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/tests/utils/test_fmrisim.py b/tests/utils/test_fmrisim.py index 05c75140a..654bf89eb 100644 --- a/tests/utils/test_fmrisim.py +++ b/tests/utils/test_fmrisim.py @@ -256,3 +256,50 @@ def test_mask_brain(): brain = volume * (mask > 0) assert np.sum(brain != 0) < np.sum(volume != 0), "Masking did not work" + + +def test_calc_noise(): + + # Inputs for functions + onsets = [10, 30, 50, 70, 90] + event_durations = [6] + tr_duration = 2 + duration = 100 + dimensions_tr = np.array([10, 10, 10, duration/tr_duration]) + + # Preset the noise dict + nd_orig = {'auto_reg_sigma': 1, + 'drift_sigma': 0.5, + 'overall': 0.1, + 'snr': 30, + 'spatial_sigma': 0.15, + 'system_sigma': 1, + } + + # Create the time course for the signal to be generated + stimfunction = sim.generate_stimfunction(onsets=onsets, + event_durations=event_durations, + total_time=duration, + ) + + # Mask the volume to be the same shape as a brain + mask = sim.mask_brain(dimensions_tr) + noise = sim.generate_noise(dimensions=dimensions_tr[0:3], + stimfunction=stimfunction, + tr_duration=tr_duration, + mask=mask, + noise_dict=nd_orig, + ) + + # Calculate the noise + nd_calc = sim.calc_noise(noise, mask) + + assert abs(nd_calc['overall'] - nd_orig['overall']) < 0.1, 'overall ' \ + 'calculated ' \ + 'incorrectly' + + assert abs(nd_calc['snr'] - nd_orig['snr']) < 10, 'snr calculated ' \ + 'incorrectly' + + assert abs(nd_calc['system_sigma'] - nd_orig['system_sigma']) < 1, \ + 'snr calculated incorrectly' From 7a04a24d5eba2601ffdb18b19fbfdb6e0f7fe93f Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Sat, 24 Dec 2016 22:16:00 +1300 Subject: [PATCH 19/25] Updated for PEP8 --- brainiak/utils/fmrisim.py | 103 +++++++++++++------------------- examples/utils/requirements.txt | 1 + setup.py | 1 - 3 files changed, 41 insertions(+), 64 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 6c6a5709e..997c5c12d 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -382,7 +382,9 @@ def generate_stimfunction(onsets, """Return the function for the onset of events When do stimuli onset, how long for and to what extent should you - resolve the fMRI time course + resolve the fMRI time course. There are two ways to create this, either + by supplying onset, duration and weight information or by supplying a + timing file (in the three column format) Parameters ---------- @@ -418,35 +420,20 @@ def generate_stimfunction(onsets, if timing_file is not None: # Read in text file line by line - with open(timing_file) as f: text = f.readlines() # Pull out file as a an array - # Preset list size - onsets = [0] * len(text) - event_durations = [0] * len(text) - weights = [0] * len(text) - - # Cycle through the lines of the text - for event_counter in list(range(0, len(text))): - - # Pull out the line - line = text[event_counter] - - # Pull out the onset time, set as a float - onsets[event_counter] = float(line[0:line.find('\t')]) - - # Subset the line - line = line[line.find('\t') + 1:] - - # Pull out the duration, set as a float - event_durations[event_counter] = float(line[0:line.find('\t')]) - - # Subset the line - line = line[line.find('\t') + 1:] + # Preset + onsets = list() + event_durations = list() + weights = list() - # Pull out the weight, set as a float - weights[event_counter] = float(line[0:line.find('\t')]) + # Pull out the onsets, weights and durations, set as a float + for line in text: + onset, duration, weight = line.strip().split() + onsets.append(float(onset)) + event_durations.append(float(duration)) + weights.append(float(weight)) # If only one duration is supplied then duplicate it for the length of # the onset variable @@ -463,7 +450,7 @@ def generate_stimfunction(onsets, stimfunction = [0] * round(total_time * temporal_resolution) # Cycle through the onsets - for onset_counter in list(range(0, len(onsets))): + for onset_counter in list(range(len(onsets))): # Adjust for the resolution onset_idx = int(np.floor(onsets[onset_counter] * temporal_resolution)) @@ -634,7 +621,7 @@ def apply_signal(signal_function, """Apply the convolution and stimfunction Apply the convolution of the HRF and stimulus time course to the - volume. This requires discriti + volume. Parameters ---------- @@ -648,9 +635,7 @@ def apply_signal(signal_function, Returns ---------- multidimensional array, float - Generates the spatial noise volume for these parameters - - """ + Generates the spatial noise volume for these parameters """ # Preset volume signal = np.ndarray([volume_static.shape[0], volume_static.shape[ @@ -666,8 +651,9 @@ def apply_signal(signal_function, return signal -def _calc_fwhm(volume, mask): - +def _calc_fwhm(volume, + mask, + ): """ Calculate the FWHM of a volume Takes in a volume and mask and outputs the FWHM of each TR of this volume for the non-masked voxels @@ -684,9 +670,7 @@ def _calc_fwhm(volume, mask): ------- float, list - Returns the FWHM of each TR - - """ + Returns the FWHM of each TR """ # What are the dimensions of the volume dimensions = volume.shape @@ -707,7 +691,7 @@ def _calc_fwhm(volume, mask): for tr_counter in list(range(0, trs)): # Preset - sumSqDer = [0.0, 0.0, 0.0] + sum_sq_der = [0.0, 0.0, 0.0] countSqDer = [0, 0, 0] # If there is more than one TR, just pull out that volume @@ -733,25 +717,25 @@ def _calc_fwhm(volume, mask): if x < dimensions[0] - 1 and mask[x + 1, y, z, tr_counter] > 0: - sumSqDer[0] += (volume[x, y, z] - volume[x + 1, y, + sum_sq_der[0] += (volume[x, y, z] - volume[x + 1, y, z]) ** 2 countSqDer[0] += + 1 if y < dimensions[1] - 1 and mask[x, y + 1, z, tr_counter] > 0: - sumSqDer[1] += (volume[x, y, z] - volume[x, y + 1, + sum_sq_der[1] += (volume[x, y, z] - volume[x, y + 1, z]) ** 2 countSqDer[1] += + 1 if z < dimensions[2] - 1 and mask[x, y, z + 1, tr_counter] > 0: - sumSqDer[2] += (volume[x, y, z] - volume[x, y, + sum_sq_der[2] += (volume[x, y, z] - volume[x, y, z + 1])\ ** 2 - countSqDer[2] += + 1 + countSqDer[2] += 1 # What is the FWHM for each dimension - fwhm3 = np.sqrt(np.divide(4 * np.log(2), np.divide(sumSqDer, + fwhm3 = np.sqrt(np.divide(4 * np.log(2), np.divide(sum_sq_der, countSqDer))) fwhm[tr_counter] = np.prod(fwhm3) ** (1 / 3) # Calculate the average @@ -1317,6 +1301,7 @@ def _generate_noise_temporal(stimfunction, def mask_brain(volume, mask_name=None, mask_threshold=0.1, + mask_self=0, ): """ Mask the simulated volume This takes in a volume and will output the masked volume. if a one @@ -1332,14 +1317,16 @@ def mask_brain(volume, describing the dimensions of the mask to be created mask_name : str - What is the path to the mask to be loaded? If set to self then it - makes a mask from the volume supplied (by averaging across time - points and changing the range). If empty then it defaults to an + What is the path to the mask to be loaded? If empty then it defaults to an MNI152 grey matter mask. mask_threshold : float What is the threshold (0 -> 1) for including a voxel in the mask? + mask_self : bool + If set to 1 then it makes a mask from the volume supplied (by + averaging across time points and changing the range). + Returns ---------- mask : multidimensional array, float @@ -1354,7 +1341,11 @@ def mask_brain(volume, # Load in the mask if mask_name is None: mask_raw = np.load(resource_stream(__name__, "grey_matter_mask.npy")) - elif mask_name is 'self': + else: + mask_raw = np.load(mask_name) + + # Is the mask based on the volume + if mask_self is 1: mask_raw = np.zeros([volume.shape[0], volume.shape[1], volume.shape[ 2], 1]) @@ -1362,8 +1353,6 @@ def mask_brain(volume, mask_raw[:, :, :, 0] = np.mean(volume, 3) else: mask_raw[:, :, :, 0] = np.array(volume) - else: - mask_raw = np.load(mask_name) # Make sure the mask values range from 0 to 1 mask_raw = mask_raw / mask_raw.max() @@ -1443,18 +1432,6 @@ def _noise_dict_update(noise_dict): total_var += noise_dict['physiological_sigma'] ** 2 total_var += noise_dict['system_sigma'] ** 2 - # print('Noise mixture\n') - # tmp = str(noise_dict['motion_sigma'] ** 2 / total_var * 100)[0:5] - # print('Task noise:\t\t\t\t' + tmp) - # tmp = str(noise_dict['drift_sigma'] ** 2 / total_var * 100)[0:5] - # print('Drift noise:\t\t\t' + tmp) - # tmp = str(noise_dict['auto_reg_sigma'] ** 2 / total_var * 100)[0:5] - # print('Autoregression noise:\t' + tmp) - # tmp = str(noise_dict['physiological_sigma'] ** 2 / total_var * 100)[0:5] - # print('Physiological noise:\t' + tmp) - # tmp = str(noise_dict['system_sigma'] ** 2 / total_var * 100)[0:5] - # print('System noise:\t\t\t' + tmp) - return noise_dict @@ -1462,7 +1439,7 @@ def generate_noise(dimensions, stimfunction, tr_duration, mask=None, - noise_dict={'overall': 0.1}, + noise_dict=None, ): """ Generate the noise to be added to the signal. Default noise parameters will create a noise volume with a standard @@ -1526,8 +1503,8 @@ def generate_noise(dimensions, 'physiological_sigma'], ) - noise_system = _generate_noise_system(dimensions_tr=dimensions_tr, - ) * noise_dict['system_sigma'] + noise_system = _generate_noise_system(dimensions_tr=dimensions_tr) * \ + noise_dict['system_sigma'] # Find the outer product for the brain and nonbrain and add white noise noise = noise_temporal + noise_system diff --git a/examples/utils/requirements.txt b/examples/utils/requirements.txt index 6ccafc3f9..2951e8bf2 100644 --- a/examples/utils/requirements.txt +++ b/examples/utils/requirements.txt @@ -1 +1,2 @@ matplotlib +nibabel diff --git a/setup.py b/setup.py index fc4445ad6..bad9318f0 100644 --- a/setup.py +++ b/setup.py @@ -124,7 +124,6 @@ def finalize_options(self): install_requires=[ 'cython', 'mpi4py', - 'nibabel', 'nitime', 'numpy', 'scikit-learn>=0.18', From c60a98b46216de9ca58b3607c1c6fdb8afd8a946 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Wed, 11 Jan 2017 18:06:54 -0500 Subject: [PATCH 20/25] Updated for pep8 --- brainiak/utils/fmrisim.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 997c5c12d..f277810ff 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -717,21 +717,20 @@ def _calc_fwhm(volume, if x < dimensions[0] - 1 and mask[x + 1, y, z, tr_counter] > 0: - sum_sq_der[0] += (volume[x, y, z] - volume[x + 1, y, - z]) ** 2 + temp = (volume[x, y, z] - volume[x + 1, y, z]) ** 2 + sum_sq_der[0] += temp countSqDer[0] += + 1 if y < dimensions[1] - 1 and mask[x, y + 1, z, tr_counter] > 0: - sum_sq_der[1] += (volume[x, y, z] - volume[x, y + 1, - z]) ** 2 + temp = (volume[x, y, z] - volume[x, y + 1, z]) ** 2 + sum_sq_der[1] += temp countSqDer[1] += + 1 if z < dimensions[2] - 1 and mask[x, y, z + 1, tr_counter] > 0: - sum_sq_der[2] += (volume[x, y, z] - volume[x, y, - z + 1])\ - ** 2 + temp = (volume[x, y, z] - volume[x, y, z + 1]) ** 2 + sum_sq_der[2] += temp countSqDer[2] += 1 # What is the FWHM for each dimension @@ -1317,8 +1316,8 @@ def mask_brain(volume, describing the dimensions of the mask to be created mask_name : str - What is the path to the mask to be loaded? If empty then it defaults to an - MNI152 grey matter mask. + What is the path to the mask to be loaded? If empty then it defaults + to an MNI152 grey matter mask. mask_threshold : float What is the threshold (0 -> 1) for including a voxel in the mask? From 1ab5d9f92356c607f6db9a0c7795d13d1a9b7952 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Thu, 12 Jan 2017 09:10:57 -0500 Subject: [PATCH 21/25] Updated for pep8 --- brainiak/utils/fmrisim.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index f277810ff..903047c99 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -1502,8 +1502,8 @@ def generate_noise(dimensions, 'physiological_sigma'], ) - noise_system = _generate_noise_system(dimensions_tr=dimensions_tr) * \ - noise_dict['system_sigma'] + noise_system = _generate_noise_system(dimensions_tr) * noise_dict[ + 'system_sigma'] # Find the outer product for the brain and nonbrain and add white noise noise = noise_temporal + noise_system From 63514bf56b5ed2d083f1e17e548ddb175bc0b858 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Thu, 12 Jan 2017 09:31:44 -0500 Subject: [PATCH 22/25] Updated pep8 --- brainiak/utils/fmrisim.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 903047c99..4878f70ad 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -1502,8 +1502,8 @@ def generate_noise(dimensions, 'physiological_sigma'], ) - noise_system = _generate_noise_system(dimensions_tr) * noise_dict[ - 'system_sigma'] + noise_system = (_generate_noise_system(dimensions_tr=dimensions_tr) + * noise_dict['system_sigma']) # Find the outer product for the brain and nonbrain and add white noise noise = noise_temporal + noise_system From 0614cca41b4b56ad17875dc5eb42da2593b59a25 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Thu, 12 Jan 2017 13:04:19 -0500 Subject: [PATCH 23/25] Edited the tests --- brainiak/utils/fmrisim.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 4878f70ad..0c76eb314 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -1400,6 +1400,9 @@ def _noise_dict_update(noise_dict): Updated dictionary """ + # Change to be an empty dictionary if it is None + if noise_dict is None: + noise_dict = {} # Check what noise is in the dictionary and add if necessary. Numbers # determine relative proportion of noise From 4403f1ea181057e9c615af3adf25437896589342 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Thu, 12 Jan 2017 15:04:24 -0500 Subject: [PATCH 24/25] Complexity tests updating --- brainiak/utils/fmrisim.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/brainiak/utils/fmrisim.py b/brainiak/utils/fmrisim.py index 0c76eb314..a1c93d8fd 100644 --- a/brainiak/utils/fmrisim.py +++ b/brainiak/utils/fmrisim.py @@ -1400,9 +1400,6 @@ def _noise_dict_update(noise_dict): Updated dictionary """ - # Change to be an empty dictionary if it is None - if noise_dict is None: - noise_dict = {} # Check what noise is in the dictionary and add if necessary. Numbers # determine relative proportion of noise @@ -1475,6 +1472,10 @@ def generate_noise(dimensions, """ + # Change to be an empty dictionary if it is None + if noise_dict is None: + noise_dict = {} + # Take in the noise dictionary and determine whether noise_dict = _noise_dict_update(noise_dict) From 77f736f348bd0652dc05f1cabe7f8f884c5627f1 Mon Sep 17 00:00:00 2001 From: CameronTEllis Date: Thu, 19 Jan 2017 19:41:03 -0500 Subject: [PATCH 25/25] Updated tests --- tests/utils/test_fmrisim.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/utils/test_fmrisim.py b/tests/utils/test_fmrisim.py index 654bf89eb..0cd44f287 100644 --- a/tests/utils/test_fmrisim.py +++ b/tests/utils/test_fmrisim.py @@ -265,7 +265,8 @@ def test_calc_noise(): event_durations = [6] tr_duration = 2 duration = 100 - dimensions_tr = np.array([10, 10, 10, duration/tr_duration]) + tr_number = int(np.floor(duration / tr_duration)) + dimensions_tr = np.array([10, 10, 10, tr_number]) # Preset the noise dict nd_orig = {'auto_reg_sigma': 1,