bmtk.simulator.filternet.lgnmodel package¶
Submodules¶
bmtk.simulator.filternet.lgnmodel.cellmetrics module¶
- class bmtk.simulator.filternet.lgnmodel.cellmetrics.SubclassMetricsCache(saved_metrics_dir=None)[source]¶
Bases:
object
Used to calc optimized parameteres for different types of cells using existing data that contains cell responses to different types of stimulus. The existing data should be stored in a single directory with a csv file for reach cell type.
- usage:
subcell_metrics = SubclassMetricsCache(‘/path/to/observations/’)
- get_metrics(subclass_type)[source]¶
Calculates various parameters for a given cell class, using observations stored in saved_metrics_dir
- Parameters:
subclass_type – name of cell subclass types
- Returns:
A dictionary of parameters for various types of inputs
- property saved_metrics_dir¶
bmtk.simulator.filternet.lgnmodel.cellmodel module¶
- class bmtk.simulator.filternet.lgnmodel.cellmodel.LGNOnOffCell(on_filter, off_filter, transfer_function=<bmtk.simulator.filternet.lgnmodel.transferfunction.MultiTransferFunction object>)[source]¶
Bases:
MultiLNUnit
A cell model for a OnOff cell
- class bmtk.simulator.filternet.lgnmodel.cellmodel.OffUnit(linear_filter, transfer_function)[source]¶
Bases:
LNUnit
- class bmtk.simulator.filternet.lgnmodel.cellmodel.OnUnit(linear_filter, transfer_function)[source]¶
Bases:
LNUnit
- class bmtk.simulator.filternet.lgnmodel.cellmodel.TwoSubfieldLinearCell(dominant_filter, nondominant_filter, subfield_separation=10, onoff_axis_angle=45, dominant_subfield_location=(30, 40), transfer_function=<bmtk.simulator.filternet.lgnmodel.transferfunction.MultiTransferFunction object>)[source]¶
Bases:
MultiLNUnit
bmtk.simulator.filternet.lgnmodel.cursor module¶
- class bmtk.simulator.filternet.lgnmodel.cursor.FilterCursor(spatiotemporal_filter, movie, threshold=0)[source]¶
Bases:
KernelCursor
- class bmtk.simulator.filternet.lgnmodel.cursor.KernelCursor(kernel, movie)[source]¶
Bases:
object
A class that takes care of the convolution of the (non-separable) spatial-temporal linear filter with the move.
- property col_range¶
- property frame_rate¶
- property row_range¶
- property t_range¶
- class bmtk.simulator.filternet.lgnmodel.cursor.LNUnitCursor(lnunit, movie, threshold=0)[source]¶
Bases:
KernelCursor
A class that takes care of applying a linear-nonlinear filter to a movie. Parent class is used to apply the spatial-termporal filter convolution to the movie, when then the lnunit non-linear transfer function is applied.
- class bmtk.simulator.filternet.lgnmodel.cursor.MultiLNUnitCursor(multi_lnunit, movie, threshold=0)[source]¶
Bases:
object
- class bmtk.simulator.filternet.lgnmodel.cursor.MultiLNUnitMultiMovieCursor(multi_lnunit, movie_list, threshold=0.0)[source]¶
Bases:
MultiLNUnitCursor
- class bmtk.simulator.filternet.lgnmodel.cursor.SeparableKernelCursor(spatial_kernel, temporal_kernel, movie)[source]¶
Bases:
object
A class for applying a spatial-temporal convolution to a movie. Unlike the KernelCursor the spatial-temporal filter is broken up into its components, spatial filter is applied then followed by a temporal filter convolution.
- class bmtk.simulator.filternet.lgnmodel.cursor.SeparableMultiLNUnitCursor(multilnunit, movie)[source]¶
Bases:
object
- class bmtk.simulator.filternet.lgnmodel.cursor.SeparableSpatioTemporalFilterCursor(spatiotemporal_filter, movie)[source]¶
Bases:
SeparableKernelCursor
bmtk.simulator.filternet.lgnmodel.fitfuns module¶
bmtk.simulator.filternet.lgnmodel.gaborfilter module¶
- class bmtk.simulator.filternet.lgnmodel.gaborfilter.GaborFilter(translate=4.0, sigma=1.0, theta=0.0, Lambda=1.0, psi=0.0, gamma=1.0)[source]¶
Bases:
object
bmtk.simulator.filternet.lgnmodel.kernel module¶
- class bmtk.simulator.filternet.lgnmodel.kernel.Kernel1D(t_range, kernel_array, threshold=0.0, reverse=False)[source]¶
Bases:
object
- class bmtk.simulator.filternet.lgnmodel.kernel.Kernel2D(row_range, col_range, row_inds, col_inds, kernel)[source]¶
Bases:
object
- class bmtk.simulator.filternet.lgnmodel.kernel.Kernel3D(row_range, col_range, t_range, row_inds, col_inds, t_inds, kernel)[source]¶
Bases:
object
bmtk.simulator.filternet.lgnmodel.lattice_unit_constructor module¶
- bmtk.simulator.filternet.lgnmodel.lattice_unit_constructor.make_lattice_unit(lattice_unit_center=None)[source]¶
- bmtk.simulator.filternet.lgnmodel.lattice_unit_constructor.make_overlapping_onoff_cell_list(lattice_unit_center)[source]¶
- bmtk.simulator.filternet.lgnmodel.lattice_unit_constructor.make_sOFF_cell_list(lattice_unit_center)[source]¶
- bmtk.simulator.filternet.lgnmodel.lattice_unit_constructor.make_sON_cell_list(lattice_unit_center)[source]¶
- bmtk.simulator.filternet.lgnmodel.lattice_unit_constructor.make_separate_onoff_cell_list(lattice_unit_center)[source]¶
bmtk.simulator.filternet.lgnmodel.lgnmodel1 module¶
bmtk.simulator.filternet.lgnmodel.linearfilter module¶
bmtk.simulator.filternet.lgnmodel.lnunit module¶
- class bmtk.simulator.filternet.lgnmodel.lnunit.LNUnit(linear_filter, transfer_function, amplitude=1.0)[source]¶
Bases:
object
bmtk.simulator.filternet.lgnmodel.make_cell_list module¶
- bmtk.simulator.filternet.lgnmodel.make_cell_list.evaluate_cell_and_plot(input_cell, input_movie, ax, show=False)[source]¶
- bmtk.simulator.filternet.lgnmodel.make_cell_list.make_on_off_cell_list(number_of_cells=None, lattice_unit_center=None, weights_on=None, weights_off=None, kpeaks_on=None, kpeaks_off=None, delays_on=None, delays_off=None, amplitude_on=None, amplitude_off=None, sigma_on=None, sigma_off=None, subfield_separation=None, ang=None, dominant_subunit=None, width=5, transfer_function_str='Heaviside(x)*x + Heaviside(y)*y')[source]¶
bmtk.simulator.filternet.lgnmodel.movie module¶
- class bmtk.simulator.filternet.lgnmodel.movie.FullFieldFlashMovie(row_range, col_range, t_on, t_off, max_intensity=1, frame_rate=24)[source]¶
Bases:
FullFieldMovie
- class bmtk.simulator.filternet.lgnmodel.movie.FullFieldMovie(f, rows, cols, frame_rate=24.0)[source]¶
Bases:
Movie
- property data¶
- property frame_rate¶
- class bmtk.simulator.filternet.lgnmodel.movie.GratingMovie(row_size, col_size, frame_rate=1000.0)[source]¶
Bases:
Movie
- create_movie(t_min=0, t_max=1, gray_screen_dur=0, cpd=0.05, temporal_f=4, theta=45, phase=0.0, contrast=1.0, row_size_new=None, col_size_new=None)[source]¶
Create the grating movie with the desired parameters
- Parameters:
t_min – start time in seconds
t_max – end time in seconds
gray_screen_dur – Duration of gray screen before grating stimulus starts
cpd – cycles per degree
temporal_f – in Hz
theta – orientation angle, in degrees
phase – temporal phase, in degrees
contrast – the maximum constrast, must be between 0 and 1.0
row_size_new – Use to truncate screen, by default leaves original row dimension
col_size_new – Use to truncate screen, by default leaves original col dimension
- Returns:
Movie object of grating with desired parameters
- class bmtk.simulator.filternet.lgnmodel.movie.LoomingMovie(row_size, col_size, frame_rate=1000.0)[source]¶
Bases:
Movie
- class bmtk.simulator.filternet.lgnmodel.movie.Movie(data, row_range=None, col_range=None, labels=('time', 'y', 'x'), units=('second', 'pixel', 'pixel'), frame_rate=None, t_range=None)[source]¶
Bases:
object
- static normalize_matrix(m_data, domain=None)[source]¶
Attempts to take a numpy matrix “movie” and normalize the contrast values to range [-1.0, 1.0].
- Parameters:
m_data – A numpy matrix TxRxC containing an original “movie” data
domain – If A tuple of values [min_contrast, max_contrast], will use those values to normalize. Otherwise will attempt to determine original contrast range from the m_data.
- Returns:
m_data that has been normalized
- play(interval=None, skip=None, playback_speed=1.0, cmap=None, vmin=-1.0, vmax=1.0, save_as=None, show=True)[source]¶
- Parameters:
interval –
skip – skip every Nth frame, useful for very large data sets
playback_speed –
cmap – color map, default to gray
save_as – If set to a valid (mp4 file) path animation will be saved. Otherwise it won’t
show – display the animation, default True
- property ranges¶
bmtk.simulator.filternet.lgnmodel.poissongeneration module¶
- bmtk.simulator.filternet.lgnmodel.poissongeneration.generate_inhomogenous_poisson(t_range, y_range, seed=None)[source]¶
- bmtk.simulator.filternet.lgnmodel.poissongeneration.generate_poisson_rescaling(t, y, seed=None)[source]¶
bmtk.simulator.filternet.lgnmodel.singleunitcell module¶
bmtk.simulator.filternet.lgnmodel.spatialfilter module¶
- class bmtk.simulator.filternet.lgnmodel.spatialfilter.GaussianSpatialFilter(translate=(0.0, 0.0), sigma=(1.0, 1.0), rotation=0, origin='center')[source]¶
Bases:
object
bmtk.simulator.filternet.lgnmodel.temporalfilter module¶
- class bmtk.simulator.filternet.lgnmodel.temporalfilter.ArrayTemporalFilter(mask, t_support)[source]¶
Bases:
TemporalFilter
bmtk.simulator.filternet.lgnmodel.transferfunction module¶
bmtk.simulator.filternet.lgnmodel.util_fns module¶
- bmtk.simulator.filternet.lgnmodel.util_fns.check_optim_results_against_bounds(bounds, opt_wts, opt_kpeaks)[source]¶
- bmtk.simulator.filternet.lgnmodel.util_fns.chunks(l, n)[source]¶
Yield successive n-sized chunks from l.
- bmtk.simulator.filternet.lgnmodel.util_fns.create_ff_mov(frame_rate, tst, tend, xrng, yrng)[source]¶
bmtk.simulator.filternet.lgnmodel.utilities module¶
- bmtk.simulator.filternet.lgnmodel.utilities.convert_tmin_tmax_framerate_to_trange(t_min, t_max, frame_rate)[source]¶
- bmtk.simulator.filternet.lgnmodel.utilities.get_convolution(t, frame_rate, flipped_t_inds, kernel, data)[source]¶
- bmtk.simulator.filternet.lgnmodel.utilities.get_convolution_ind(curr_fi, flipped_t_inds, kernel, data)[source]¶