PKd*B@spykeutils-0.3.0/examples.html Examples — spykeutils 0.3.0 documentation

Examples

These examples demonstrate the usage of some functions in spykeutils. This includes the creation of a small Neo object hierarchy with toy data.

Creating the sample data

The functions in spykeutils work on electrophysiological data that is represented in Neo object hierarchies. Usually, you would load these objects from a file, but for the purpose of this demonstration we will manually create an object hierarchy to illustrate their structure. Note that most functions in spykeutils will also work with separate Neo data objects that are not contained in a complete hierarchy. First, we import the modules we will use:

>>> import quantities as pq
>>> import neo
>>> import scipy as sp
>>> import spykeutils.spike_train_generation as stg

We start with some container objects: two segments that represent trials and three units (representing neurons) that produced the spike trains:

>>> segments = [neo.Segment('Trial 1'), neo.Segment('Trial 2')]
>>> units = []
>>> units.append(neo.Unit('Regular intervals'))
>>> units.append(neo.Unit('Homogeneous Poisson'))
>>> units.append(neo.Unit('Modulated Poisson'))

We create some spike trains from regular intervals, a homogeneous Poisson process and a modulated Poisson process:

>>> trains = []
>>> trains.append(neo.SpikeTrain(sp.linspace(0, 10, 40) * pq.s, 10 * pq.s))
>>> trains.append(neo.SpikeTrain(sp.linspace(0, 10, 60) * pq.s, 10 * pq.s))
>>> trains.append(stg.gen_homogeneous_poisson(5 * pq.Hz, t_stop=10 * pq.s))
>>> trains.append(stg.gen_homogeneous_poisson(7 * pq.Hz, t_stop=10 * pq.s))
>>> modulation = lambda t: sp.sin(3 * sp.pi * t / 10.0 / pq.s) / 2.0 + 0.5
>>> trains.append(stg.gen_inhomogeneous_poisson(modulation, 10 * pq.Hz, t_stop=10*pq.s))
>>> trains.append(stg.gen_inhomogeneous_poisson(modulation, 10 * pq.Hz, t_stop=10*pq.s))

Next, we create analog signals using the spike trains. First, we convolve all spike times with a mock spike waveform.

>>> spike = sp.sin(-sp.linspace(0, 2 * sp.pi, 16))
>>> binned_trains = (sp.histogram(trains[0], bins=160000, range=(0,10))[0] +
...                  sp.histogram(trains[2], bins=160000, range=(0,10))[0] +
...                  sp.histogram(trains[4], bins=160000, range=(0,10))[0])
>>> train_waves = [sp.convolve(binned_trains, spike)]
>>> binned_trains = (sp.histogram(trains[1], bins=160000, range=(0,10))[0] +
...                  sp.histogram(trains[3], bins=160000, range=(0,10))[0] +
...                  sp.histogram(trains[5], bins=160000, range=(0,10))[0])
>>> train_waves.append(sp.convolve(binned_trains, spike))

Now we add Gaussian noise and create four signals in each segment:

>>> for i in range(8):
...     sig = train_waves[i%2] + 0.2 * sp.randn(train_waves[i%2].shape[0])
...     signal = neo.AnalogSignal(sig * pq.uV, sampling_rate=16 * pq.kHz)
...     signal.segment = segments[i%2]
...     segments[i%2].analogsignals.append(signal)

Now we create the relationships between the spike trains and container objects. Each unit has two spike trains, one in each segment:

>>> segments[0].spiketrains = [trains[0], trains[2], trains[4]]
>>> segments[1].spiketrains = [trains[1], trains[3], trains[5]]
>>> units[0].spiketrains = trains[:2]
>>> units[1].spiketrains = trains[2:4]
>>> units[2].spiketrains = trains[4:6]
>>> for s in segments:
...     for st in s.spiketrains:
...         st.segment = s
>>> for u in units:
...     for st in u.spiketrains:
...         st.unit = u

Now that our sample data is ready, we will use some of the function from spykeutils to analyze it.

PSTH and ISI

To create a peri stimulus time histogram from our spike trains, we call spykeutils.rate_estimation.psth(). This function can create multiple PSTHs and takes a dicionary of lists of spike trains. Since our spike trains were generated by three units, we will create three histograms, one for each unit:

>>> import spykeutils.rate_estimation
>>> st_dict = {}
>>> st_dict[units[0]] = units[0].spiketrains
>>> st_dict[units[1]] = units[1].spiketrains
>>> st_dict[units[2]] = units[2].spiketrains
>>> spykeutils.rate_estimation.psth(st_dict, 400 * pq.ms)[0] 
{<neo.core.unit.Unit object at 0x...>: array([ 6.25,  5.  ,  5.  ,  5.  ,  3.75, ...

spykeutils.rate_estimation.psth() returns two values: A dictionary with the resulting histograms and a Quantity 1D with the bin edges.

If guiqwt is installed, we can also use the spykeutils.plot package to create a PSTH plot from our data (in this case we want a bar histogram and therefore only use spike trains from one unit):

>>> import spykeutils.plot
>>> spykeutils.plot.psth({units[2]: units[2].spiketrains}, bin_size=400 * pq.ms, bar_plot=True) 

Similiarily, we can create an interspike interval histogram plot with:

>>> spykeutils.plot.isi({units[2]: units[2].spiketrains}, bin_size=30 * pq.ms, cut_off=300 * pq.ms, bar_plot=True)

This will open a plot window like the following:

_images/isi.png

Spike Density Estimation

Similar to a PSTH, a spike density estimation gives an esimate of the instantaneous firing rate. Instead of binning, it is based on a kernel convolution which results in a smoother estimate. Creating and SDE with spykeutils works very similar to creating a PSTH. Instead of manually choosing the size of the Gaussian kernel, spykeutils.rate_estimation.spike_density_estimation() also supports finding the optimal kernel size automatically for each unit:

>>> kernel_sizes = sp.logspace(2, 3.3, 100) * pq.ms
>>> spykeutils.rate_estimation.spike_density_estimation(st_dict, optimize_steps=kernel_sizes)[0] 
{<neo.core.unit.Unit object at 0x...>: array([ ...

As with the PSTH, there is also a plot function for creating a spike density estimation. Here, we use both units because the function produces a line plot where both units can be shown at the same time:

>>> spykeutils.plot.sde(st_dict, maximum_kernel=3000*pq.ms, optimize_steps=100) 

The resulting plot will look like the following:

_images/sde.png

While spike density estimations are preferable to PSTHs in many cases, the picture also shows an important weakness: The estimation will generally be too low on margins. The areas where this happens become larger with kernel size, which is clearly visible from the rounded shape of the purple and pink curves (which should be flat because of the constant rate of the spike trains) with their very large kernel size.

Signal Plot

As a final example, we will again use the spykeutils.plot package to create a plot of the signals we created. This plot will also display the spike timings one of our spike trains.

>>> spykeutils.plot.signals(segments[0].analogsignals, spike_trains=[segments[0].spiketrains[2]], show_waveforms=False) 
_images/signal.png

The plot shows all four signals from the first segments as well as the spike times of the inhomogeneous poisson process in the same segment.

Project Versions

Table Of Contents

Previous topic

Requirements

Next topic

API reference

This Page

PKd*BM'E6E6spykeutils-0.3.0/intro.html Requirements — spykeutils 0.3.0 documentation

Requirements

Spykeutils is a pure Python package and therefore easy to install. It depends on the following additional packages:

  • Python >= 2.7
  • neo >= 0.2.1
  • scipy
  • guiqwt >= 2.1.4 (Optional, for plotting)
  • tables (Optional, for analysis results data management. Also known as PyTables.)
  • scikit-learn (Optional, for spike sorting quality analysis using Gaussian cluster overlap.)

Please see the respective websites for instructions on how to install them if they are not present on your computer. If you use Linux, you might not have access rights to your Python package installation directory, depending on your configuration. In this case, you will have to execute all shell commands in this section with administrator privileges, e.g. by using sudo.

Download and Installation

The easiest way to get spykeutils is from the Python Package Index. If you have pip installed:

$ pip install spykeutils

Alternatively, if you have setuptools:

$ easy_install spykeutils

Users of NeuroDebian or its repositories (available for Debian and Ubuntu) can also install spykeutils using the package manager instead of pip:

$ sudo apt-get install python-spykeutils

Alternatively, you can get the latest version directly from GitHub at https://github.com/rproepp/spykeutils.

The master branch always contains the current stable version. If you want the latest development version, use the develop branch (selected by default). You can download the repository from the GitHub page or clone it using git and then install from the resulting folder:

$ python setup.py install

Usage

For the most part, spykeutils is a collection of functions that work on Neo objects. Many functions also take quantities as parameters. Therefore, make sure to get an overview of neo and quantities before using spykeutils. Once you are familiar with these packages, have a look at the Examples or head to the API reference to browse the contents of spykeutils.

Project Versions

Table Of Contents

Previous topic

Welcome to the documentation of spykeutils!

Next topic

Examples

This Page

PKd*B:'!^y0y0spykeutils-0.3.0/index.html Welcome to the documentation of spykeutils! — spykeutils 0.3.0 documentation

Welcome to the documentation of spykeutils!

Based on the Neo framework, spykeutils is a Python library for analyzing and plotting neurophysiological data. It can be used by itself or in conjunction with Spyke Viewer, a multi-platform GUI application for navigating electrophysiological datasets.

A mailinglist for discussion and support is available at https://groups.google.com/d/forum/spyke-viewer

Contents:

Indices and tables

Project Versions

Table Of Contents

Next topic

Requirements

This Page

PKd*B>AXUXUspykeutils-0.3.0/searchindex.jsSearch.setIndex({objects:{"":{spykeutils:[2,0,1,""]},"spykeutils.plugin.data_provider":{DataProvider:[3,2,1,""]},"spykeutils.spike_train_metrics":{st_inner:[2,3,1,""],victor_purpura_dist:[2,3,1,""],st_norm:[2,3,1,""],schreiber_similarity:[2,3,1,""],cs_dist:[2,3,1,""],norm_dist:[2,3,1,""],van_rossum_multiunit_dist:[2,3,1,""],event_synchronization:[2,3,1,""],van_rossum_dist:[2,3,1,""],hunter_milton_similarity:[2,3,1,""],victor_purpura_multiunit_dist:[2,3,1,""]},spykeutils:{conversions:[2,0,1,""],plot:[4,0,1,""],rate_estimation:[2,0,1,""],stationarity:[2,0,1,""],spike_train_generation:[2,0,1,""],sorting_quality_assesment:[2,0,1,""],correlations:[2,0,1,""],progress_indicator:[2,0,1,""],signal_processing:[2,0,1,""],spike_train_metrics:[2,0,1,""],SpykeException:[2,2,1,""],tools:[2,0,1,""],plugin:[3,0,1,""]},"spykeutils.plot":{spike_waveforms:[4,0,1,""],analog_signals:[4,0,1,""],helper:[4,0,1,""],correlogram:[4,0,1,""],rasterplot:[4,0,1,""],guiqwt_tools:[4,0,1,""],sde:[4,0,1,""],peri_stimulus_histogram:[4,0,1,""],dialog:[4,0,1,""],interspike_intervals:[4,0,1,""],spike_amp_hist:[4,0,1,""]},"spykeutils.progress_indicator.ProgressIndicator":{step:[2,1,1,""],done:[2,1,1,""],begin:[2,1,1,""],set_ticks:[2,1,1,""],set_status:[2,1,1,""]},"spykeutils.plot.peri_stimulus_histogram":{psth:[4,3,1,""]},"spykeutils.plot.analog_signals":{signals:[4,3,1,""]},"spykeutils.plot.guiqwt_tools.HomeTool":{activate_command:[4,1,1,""]},"spykeutils.plot.guiqwt_tools.HelpTool":{activate_command:[4,1,1,""]},"spykeutils.signal_processing.LaplacianKernel":{evaluate:[2,4,1,""],boundary_enclosing_at_least:[2,1,1,""],normalization_factor:[2,1,1,""],summed_dist_matrix:[2,1,1,""]},"spykeutils.conversions":{analog_signal_array_to_analog_signals:[2,3,1,""],spikes_to_spike_train:[2,3,1,""],epoch_array_to_epochs:[2,3,1,""],spike_train_to_spikes:[2,3,1,""],event_array_to_events:[2,3,1,""]},"spykeutils.plugin.analysis_plugin":{AnalysisPlugin:[3,2,1,""]},"spykeutils.spike_train_generation":{gen_inhomogeneous_poisson:[2,3,1,""],gen_homogeneous_poisson:[2,3,1,""]},"spykeutils.plugin.analysis_plugin.AnalysisPlugin":{load:[3,1,1,""],get_parameters:[3,1,1,""],configure:[3,1,1,""],get_name:[3,1,1,""],start:[3,1,1,""],set_parameters:[3,1,1,""],save:[3,1,1,""]},"spykeutils.plot.sde":{sde:[4,3,1,""]},"spykeutils.signal_processing.SymmetricKernel":{summed_dist_matrix:[2,1,1,""],is_symmetric:[2,1,1,""]},"spykeutils.signal_processing.RectangularKernel":{evaluate:[2,4,1,""],boundary_enclosing_at_least:[2,1,1,""],normalization_factor:[2,1,1,""]},"spykeutils.plugin.data_provider.DataProvider":{analog_signals:[3,1,1,""],analog_signals_by_channel_and_segment:[3,1,1,""],data_dict:[3,1,1,""],refresh_view:[3,1,1,""],spike_trains_by_segment_and_unit:[3,1,1,""],epochs:[3,1,1,""],analog_signal_arrays:[3,1,1,""],analog_signal_arrays_by_channelgroup_and_segment:[3,1,1,""],segments:[3,1,1,""],analog_signals_by_segment_and_channel:[3,1,1,""],spike_trains_by_unit:[3,1,1,""],spikes_by_unit:[3,1,1,""],recording_channel_groups:[3,1,1,""],spike_trains:[3,1,1,""],analog_signal_arrays_by_segment_and_channelgroup:[3,1,1,""],from_data:[3,6,1,""],analog_signals_by_channel:[3,1,1,""],units:[3,1,1,""],spike_trains_by_segment:[3,1,1,""],events:[3,1,1,""],recording_channels:[3,1,1,""],blocks:[3,1,1,""],spikes_by_segment_and_unit:[3,1,1,""],epoch_arrays:[3,1,1,""],analog_signal_arrays_by_segment:[3,1,1,""],spike_trains_by_unit_and_segment:[3,1,1,""],labeled_epochs:[3,1,1,""],spikes_by_unit_and_segment:[3,1,1,""],spikes:[3,1,1,""],spikes_by_segment:[3,1,1,""],analog_signal_arrays_by_channelgroup:[3,1,1,""],event_arrays:[3,1,1,""],analog_signals_by_segment:[3,1,1,""],selection_blocks:[3,1,1,""],labeled_events:[3,1,1,""]},"spykeutils.plot.dialog":{PlotDialog:[4,2,1,""]},"spykeutils.correlations":{correlogram:[2,3,1,""]},"spykeutils.plot.rasterplot":{raster:[4,3,1,""]},"spykeutils.progress_indicator":{ProgressIndicator:[2,2,1,""],ignores_cancel:[2,3,1,""],CancelException:[2,5,1,""]},"spykeutils.signal_processing.TriangularKernel":{evaluate:[2,4,1,""],boundary_enclosing_at_least:[2,1,1,""],normalization_factor:[2,1,1,""]},"spykeutils.stationarity":{spike_amplitude_histogram:[2,3,1,""]},"spykeutils.plot.spike_waveforms":{spikes:[4,3,1,""]},"spykeutils.rate_estimation":{collapsed_spike_trains:[2,3,1,""],spike_density_estimation:[2,3,1,""],optimal_gauss_kernel_size:[2,3,1,""],binned_spike_trains:[2,3,1,""],aligned_spike_trains:[2,3,1,""],psth:[2,3,1,""],minimum_spike_train_interval:[2,3,1,""],gauss_kernel:[2,3,1,""]},"spykeutils.plot.helper":{add_spikes:[4,3,1,""],add_events:[4,3,1,""],make_window_legend:[4,3,1,""],set_color_scheme:[4,3,1,""],add_epochs:[4,3,1,""],get_color:[4,3,1,""],get_object_color:[4,3,1,""]},"spykeutils.plugin":{data_provider:[3,0,1,""],analysis_plugin:[3,0,1,""],gui_data:[3,0,1,""]},"spykeutils.signal_processing.Kernel":{boundary_enclosing_at_least:[2,1,1,""],normalization_factor:[2,1,1,""],is_symmetric:[2,1,1,""],summed_dist_matrix:[2,1,1,""]},"spykeutils.plot.dialog.PlotDialog":{add_custom_curve_tools:[4,1,1,""],add_y_synchronization_option:[4,1,1,""],add_custom_image_tools:[4,1,1,""],add_option:[4,1,1,""],add_x_synchronization_option:[4,1,1,""],set_background_color:[4,1,1,""],add_legend_option:[4,1,1,""],set_plot_title:[4,1,1,""],add_unit_color:[4,1,1,""],replace_colors:[4,1,1,""],add_custom_label:[4,1,1,""],add_color_legend:[4,1,1,""],add_plot_widget:[4,1,1,""]},"spykeutils.plot.interspike_intervals":{isi:[4,3,1,""]},"spykeutils.signal_processing.CausalDecayingExpKernel":{evaluate:[2,4,1,""],boundary_enclosing_at_least:[2,1,1,""],normalization_factor:[2,1,1,""]},"spykeutils.tools":{bin_spike_trains:[2,3,1,""],apply_to_dict:[2,3,1,""],remove_from_hierarchy:[2,3,1,""],maximum_spike_train_interval:[2,3,1,""],concatenate_spike_trains:[2,3,1,""],extract_spikes:[2,3,1,""],minimum_spike_train_interval:[2,3,1,""]},"spykeutils.plot.spike_amp_hist":{spike_amplitude_histogram:[4,3,1,""]},"spykeutils.signal_processing.KernelFromFunction":{is_symmetric:[2,1,1,""]},"spykeutils.sorting_quality_assesment":{get_refperiod_violations:[2,3,1,""],overlap_fp_fn:[2,3,1,""],calculate_overlap_fp_fn:[2,3,1,""],calculate_refperiod_fp:[2,3,1,""],variance_explained:[2,3,1,""]},"spykeutils.signal_processing.GaussianKernel":{evaluate:[2,4,1,""],boundary_enclosing_at_least:[2,1,1,""],normalization_factor:[2,1,1,""]},"spykeutils.plot.guiqwt_tools":{HomeTool:[4,2,1,""],PanTool:[4,2,1,""],HelpTool:[4,2,1,""]},"spykeutils.plot.correlogram":{cross_correlogram:[4,3,1,""]},"spykeutils.signal_processing":{Kernel:[2,2,1,""],CausalDecayingExpKernel:[2,2,1,""],GaussianKernel:[2,2,1,""],LaplacianKernel:[2,2,1,""],SymmetricKernel:[2,2,1,""],RectangularKernel:[2,2,1,""],smooth:[2,3,1,""],discretize_kernel:[2,3,1,""],KernelFromFunction:[2,2,1,""],TriangularKernel:[2,2,1,""],as_kernel_of_size:[2,3,1,""],st_convolve:[2,3,1,""]}},terms:{represent:2,all:[2,4,5,6,3],code:[2,4,3],edg:6,illustr:6,symmetrickernel:2,min_plot_height:4,four:6,known:[2,5],scalar:[2,4],correl:2,t_stop:[2,6],skip:[2,6],follow:[2,4,5,6,3],sould:4,research:7,row:4,millisecond:[2,3],filter_area_fract:2,accur:2,depend:[2,5,3],waveform:[2,6,4],sensit:2,neurodebian:5,binning_param:2,deviat:2,calculate_refperiod_fp:2,titl:[2,4],recording_channel_group:3,under:[2,4],wintitl:4,norm:2,hill:2,sourc:[2,4,3],everi:[2,3],string:[2,4,3],fals:[2,4,6,3],caught:2,account:2,discretize_kernel:2,util:[4,1],consider_guiparam:3,ident:[2,4],veri:[2,6],affect:[4,3],brows:5,s00521:2,max_rat:2,tri:4,deserialize_paramet:3,border_correct:[2,4],analog_signal_arrays_by_channelgroup:3,epoch_arrai:[2,3],level:2,independ:2,gui:[0,2,3],list:[2,4,6,3],iter:2,correct:[2,4],"try":[2,4],item:4,vector:2,convolv:[2,6],fewer:2,section:5,small:[4,6,1],analogsignalarrai:[2,1,3],refer:[0,5,2,3],round:6,pleas:[2,5],causaldecayingexpkernel:2,slower:2,unnorm:2,natur:2,seper:4,direct:2,show_lin:4,rate:[2,6,4],cost:2,pass:2,download:[0,5],further:[2,3],interspik:[4,6],durat:2,click:4,append:6,victor:2,even:2,neo:[0,1,2,3,4,5,6],what:[4,3],anti_alia:4,hide:4,appear:1,compar:2,defin:[2,3],neg:[2,4],sum:2,calcul:[2,4,1],spikes_by_unit:3,uniform:[2,4],current:[2,5,3],delet:2,version:[0,5,1],spykeview:3,analog_signal_arrays_by_segment_and_channelgroup:3,"new":[2,4,1,3],shimazaki:2,train_wav:6,method:[2,4,1,3],acesss:3,widget:4,full:2,hash:4,gener:[2,6,1],unmodifi:4,boolitem:3,len:2,middl:[4,1],let:2,ubuntu:5,reinsert:2,coincid:2,vertic:4,legend:[4,1],valu:[2,4,6,3],convert:[2,1,3],mailinglist:0,convers:2,forum:0,hdf5:3,shift:2,correlogram:[2,4],larger:[2,6],gaussiankernel:2,precis:2,overlap_fp_fn:2,add_ev:4,doctest:6,poisson:[2,6,1],extrem:2,implement:[2,4,1,7,3],some_tim:3,overrid:3,entity_id:4,tau:2,appli:[2,4],modul:[0,1,2,3,4,6],refresh_view:3,prefer:6,apt:5,index2:2,bin_siz:[2,6,4],visibl:[2,6,4],marker:4,instal:[0,4,5,6,3],total:[2,4],causal:2,unit:[2,4,6,3],encapsul:3,jan:7,from:[1,2,3,4,5,6],describ:2,would:[2,6,1],memori:2,peri:[2,6,4],shinomoto:2,dure:2,set_background_color:4,implic:2,process:[2,7,6,3],call:[4,6,3],shortest:2,spike:[0,1,2,3,4,5,6,7],dict:[2,4,3],type:[2,3],start:[2,4,6,3],minor:4,more:[2,3],sort:[2,5,1],presort:2,desir:[2,4],get_nam:3,progressind:[2,4,3],relat:2,no_unit:3,instanc:2,berlin:7,train:[1,2,3,4,6,7],indic:[0,4,2,3],cs_dist:2,neurosci:[2,7],obj:2,easiest:5,must:2,max_spik:2,none:[2,4,3],analyt:2,data_provid:[2,3],restor:3,setup:5,work:[2,5,6,3],annot:[2,4],minimum:[2,4,1],can:[0,1,2,3,4,5,6],learn:[2,5],norm_dist:2,purpos:[6,3],def:3,instantan:[2,6,4],control:2,cancelexcept:2,legend_str:4,give:[2,4,6,3],superposit:2,sudo:5,share:2,accept:[2,4],high:2,calculate_overlap_fp_fn:2,want:[2,5,6,3],serial:3,made:3,occur:[2,4],add_color_legend:4,delai:2,alwai:[2,5],commandtool:4,spike_density_estim:[2,6],end:[2,4],newlin:4,divid:2,anoth:2,data_dir:3,length:2,write:3,how:5,sig:6,pure:5,instead:[2,5,6,3],simpl:2,axes_styl:4,updat:3,pink:6,product:2,kernel_func:2,dialog:[2,4],referenc:2,sorting_quality_asses:2,clone:5,earlier:[2,4],synchroni:2,"long":2,rate_estim:[2,6],befor:[2,5],ff0000:4,mai:2,multipl:[2,6,3],varianc:[2,1],data:[0,3,2,4,5,6],averag:2,mous:[4,1],analog_sign:3,practic:2,third:2,spyke:[0,1,7,2,3],classmethod:3,"pr\u00f6pper":7,minim:2,paiva:2,correspond:[2,4],assign:2,maximum_kernel:[4,6],inform:[2,7,3],environ:3,allow:[2,4],exclus:2,first:[2,4,6,3],order:2,unique_id:4,includ:[2,4,6,3],oper:[2,3],checkbox:4,help:4,plot_id:4,over:[2,4],move:2,rang:[2,6,4],addit:[2,4,5,3],outer:[2,4],report:[2,4,3],paper:2,privileg:5,same:[2,4,6,3],left:[2,4],hierarchi:[2,1,6,3],boundary_enclosing_at_least:2,still:2,dynam:2,paramet:[2,4,1,5,3],perfect:2,style:4,concatenate_spike_train:2,group:[0,7,2],directli:[2,5,3],exact:2,ignores_cancel:2,qdialog:4,relev:3,neurotechnolog:2,platform:0,window:[4,6],complex:2,opposit:2,decai:2,cross:[2,4],main:3,might:[2,5],pixel:4,weber:2,descend:2,non:3,scipi:[2,5,6],"return":[2,4,1,6,3],greater:2,thei:[2,4,5,3],python:[0,5,3],hunter:2,overestim:2,initi:[4,1],spike_height:4,st_convolv:2,facilit:4,spike_amplitude_histogram:[2,4],half:[2,3],now:[6,1],discuss:0,assess:[2,4,1],max_lag:[2,4],administr:5,sampling_r:[2,6],changelog:[0,1],off:2,spike_train_to_spik:2,refresh:[1,3],linspac:6,separ:[2,6,4],easili:3,unitquant:2,mode:[2,4],each:[2,6,4],debug:2,found:2,complet:[2,6],button:[4,1],mean:[2,1],domain:2,just:[2,3],weight:2,analog_signals_by_segment_and_channel:3,replac:4,best:2,selection_block:3,gaussian:[2,4,5,6,1],wrap:2,set_statu:2,"static":2,significantli:1,dauwel:2,our:6,happen:6,extract:[2,3],event:[2,4,3],special:2,as_kernel_of_s:2,shown:[2,6,4],matrix:2,space:2,area_fract:2,crosscorrelogram:2,robert:7,remove_half_orphan:2,content:[0,5],suitabl:3,print:3,formula:2,prewhiten:[2,1],matric:2,integr:2,add_spik:4,lag:[2,4],navig:[0,4],advanc:2,get_refperiod_viol:2,given:[2,4,3],standard:2,cross_correlogram:4,base:[0,4,6,2,3],york:2,dictionari:[2,4,6,3],latest:5,releas:1,index1:2,interactivetool:4,baseplot:4,thrown:2,raster:4,"0x6467690":2,set_color_schem:4,save_guiparam:3,argument:2,frequenc:2,could:[2,4],script:[1,3],synchron:[2,4],refperiod:2,filter:2,isi:[0,4,6,1],rais:2,variance_explain:2,pantool:4,gauss_kernel:2,plotmanag:4,plot_widget:4,origin:2,dimens:2,major:[4,1],render:2,kernel:[2,4,6,1],onc:[2,5],arrai:[2,6,3],bar_plot:[4,6],qualiti:[2,5,1],number:[2,4],system:2,instruct:5,alreadi:[2,3],done:2,messag:4,stabl:5,open:[6,3],spiketrain:[2,4,6,3],size:[2,4,6,1],differ:[2,4,3],subplot_nam:4,returnd:3,exponenti:2,associ:3,top:4,smoother:6,sometim:2,construct:2,stimulu:[2,6,4],attach:[2,3],toi:6,master:5,demonstr:6,white:[2,4],scheme:4,cite:2,store:3,inner:[2,4],subplot:4,maximum_spike_train_interv:2,consol:[2,3],option:[2,4,5,3],relationship:[2,6],especi:2,tool:[2,4,1],scikit:5,park:2,specifi:[2,3],part:[5,3],enclos:2,too:[2,6,1],mostli:[2,3],kept:2,exactli:2,than:[2,4],remove_from_hierarchi:2,milton:2,serv:3,serialize_paramet:3,stg:6,signal_process:2,whenev:4,provid:[2,4,1,3],remov:[2,1,3],neural:[2,7],second:[2,4,3],structur:6,horizont:4,purpura:2,epoch_array_to_epoch:2,major_grid:4,str:[2,4,3],were:[2,6],posit:[2,4],get_color:4,unittim:2,half_width:2,"function":[1,2,3,4,5,6],comput:[2,5,7,4],no_seg:3,viewer:[0,7,2,3],respons:2,few:2,packag:[0,3,2,4,5,6],is_symmetr:2,shell:5,have:[2,1,5,3],tabl:[0,5,3],need:[2,4,3],been:[2,3],"import":[6,3],element:[2,4,3],border:2,timelag:[2,4],squar:2,callback:4,moreov:2,aligned_spike_train:2,rproepp:5,note:[2,6],also:[2,5,6,3],discret:2,take:[2,5,6],which:[2,4,6,3],tupl:[2,4],shortli:2,van_rossum_multiunit_dist:2,better:3,noth:2,singl:[2,4],gen_homogeneous_poisson:[2,6],therefor:[2,5,6],begin:2,copi:[2,3],distribut:2,num_spik:2,normal:2,setuptool:5,rectangularkernel:2,object:[1,2,3,4,5,6],spykeplugin:[1,3],most:[2,5,6,3],spike_train:[2,4,6,3],regular:[6,3],time_unit:4,pair:2,histogram:[2,6,4],segment:[2,4,6,3],"class":[2,4,3],homogen:[2,6],doi:2,neuro:2,later:[2,4],cover:2,spikes_by_unit_and_seg:3,spike_trains_by_seg:3,dummi:[2,3],cortex:2,determin:[2,4,3],effect:2,propos:2,boundari:2,contribut:7,victor_purpura_multiunit_dist:2,index:[0,4,5,2,3],show:[2,4,6,1],text:4,event_array_to_ev:2,area:[2,6,4],max_plot_height:4,font:4,find:[2,6,4],involv:1,absolut:2,onli:[2,4,1,6,3],slow:2,randn:6,nois:[2,6],explain:[2,1],configur:[5,3],activ:4,analog_signal_arrays_by_seg:3,data_provider_neo:3,should:[2,4,6,3],optimal_gauss_kernel_s:2,analog_signals_by_channel_and_seg:3,black:4,analyz:[0,6],spikes_by_segment_and_unit:3,factor:2,include_array_ev:3,folder:[5,3],psth:[0,4,6,2],data_dict:3,visual:[2,3],add_opt:4,count:[2,4],st_norm:2,variou:[4,1],get:[2,5],familiar:5,express:2,stop:[2,4],cheaper:2,next:6,cannot:3,num_step:2,progress:[2,4,3],increas:2,houghton:2,recalcul:[2,4],symmetr:2,requir:[0,5,2],bar:[4,6,1],cut_off:[4,6],densiti:[0,4,1,6,2],minimum_kernel:4,yield:2,"public":1,remot:3,statist:2,contain:[2,4,5,6,3],where:[2,4,6,3],spike_trains_by_unit:3,view:[1,3],conform:3,autocorrel:2,set:[2,4,3],schreiber:2,sampl:[0,6,2],kernelfromfunct:2,maximum:[2,4],datatyp:3,eviron:3,see:[2,5],result:[2,4,5,6,3],arg:[2,4],close:[2,3],gen_inhomogeneous_poisson:[2,6],becaus:[6,3],analog:[2,4,6,3],afterward:[2,3],statu:2,hunter_milton_similar:2,kei:[2,4,3],magicmock:4,pattern:2,review:2,inaccur:2,label:[2,4,3],state:4,add_unit_color:4,between:[2,6,4],drawn:4,kreuz:2,change_callback:4,attribut:3,altern:5,assumpt:2,parent:[2,4],numer:2,weak:6,conjunct:0,popul:2,analysisplugin:3,labeled_ev:3,here:[2,6],otherwis:[2,4],recording_channel:3,purpl:6,summed_dist_matrix:2,get_object_color:4,add_custom_image_tool:4,both:[2,6,3],last:[2,4],get_paramet:3,plugin:[2,1,3],x_unit:4,equal:2,tempor:2,aronov:2,triangularkernel:2,set_plot_titl:4,mani:[2,5,6],sklearn:2,com:[0,5],"default":[2,4,1,5,3],load:[6,3],spike_train_metr:2,binned_spike_train:2,point:[2,4,3],instanti:3,overview:5,period:2,height:4,arbitrarili:4,empti:[2,4,3],suppli:3,bin_spike_train:2,respect:[2,5,3],add_epoch:4,assum:[2,4],esim:6,quit:2,vialatt:2,becom:[6,1],evalu:2,event_arrai:[2,3],numpi:2,invers:2,laplacian:2,sinc:6,much:2,besid:2,toolbar:4,certain:[2,3],spike_train_gener:[2,6],templat:2,valueerror:2,regul:2,spike_trains_by_unit_and_seg:3,fire:[2,6],make_window_legend:4,imag:4,persist:3,logspac:6,search:0,ani:2,spikes_by_seg:3,togeth:2,func:[2,4],input:2,analog_signals_by_channel:3,spykeutil:[0,3,2,4,5,6],add_custom_label:4,present:[2,4,5,3],"case":[2,5,6,4],refractori:2,multi:[0,2],novel:2,look:[5,6],guidata:3,quantiti:[2,5,6,4],include_waveform:2,properti:[2,4],kwarg:4,easier:2,euclidean:2,"while":[2,6],pairwis:2,abov:2,add_custom_curve_tool:4,pytabl:[5,3],exist:[2,4,3],per:2,margin:6,bin:[2,4,6,1],file:[6,3],helper:[2,4],readi:[6,3],dataproviderneo:3,metric:[2,7,1],neuron:[2,6],them:5,physic:2,cluster:[2,5,1],floatitem:3,no_channel:3,new_statu:2,show_opt:4,sever:2,st_dict:6,decor:2,proport:2,develop:5,welcom:0,trial:[2,6],perform:[2,4,3],make:5,belong:[2,3],eventarrai:[2,3],sqrt:2,analog_signals_by_seg:3,member:[2,3],uniform_y_scal:[2,4],spykeexcept:2,html:4,spike_width:4,split:4,document:[0,1],pan:[4,1],higher:[2,4],http:[0,5],closest:2,again:[2,6],optim:[2,4,6,1],antialias:4,covari:2,toolbar_id:4,consid:[2,4,3],hometool:4,user:[2,5,4],improv:1,typic:[2,4],recent:3,subpackag:[0,2],lower:[2,3],appropri:3,least:2,center:7,framework:0,whole:2,thu:2,well:[2,6],inherit:3,without:[2,1,3],use_subplot:4,exampl:[0,5,6,2,3],command:[4,5,3],thi:[2,4,5,6,3],choos:6,signal_stat:4,academ:2,dimension:2,usual:[2,6],interpret:2,collapsed_spike_train:2,distanc:[2,4],identifi:3,entri:[2,4,3],execut:[5,3],less:[2,4],when:[2,4,1,3],obtain:[2,3],rest:4,overridden:3,align:[2,4],shape:[2,6],apply_to_dict:2,simultan:2,speed:1,cut:2,easi:5,rasterplot:4,except:2,param:3,normalization_factor:2,color:[4,1],add:[4,6],other:[2,3],win:4,els:4,ffffff:4,save:3,st_inner:2,applic:[0,2],ensure_unit_area:2,measur:2,read:3,regard:2,print_mor:3,stationar:2,sweep:2,arrari:2,grid:[4,1],know:2,background:4,press:[2,4],apart:3,tick:2,name:[2,4,3],insert:2,guiqwt_tool:[2,4],like:[2,6,4],specif:2,rossum:2,signal:[0,4,6,2,3],arbitrari:[4,3],manual:6,zoom:4,integ:3,server:3,collect:5,princip:2,api:[0,5,2],victor_purpura_dist:2,schwarz:2,show_waveform:[4,6],fill:2,reassign:2,downward:2,interpol:2,page:[0,5],two:[2,4,6,3],encount:2,spikes_to_spike_train:2,right:[4,5],often:2,dataprovid:[1,3],interv:[2,6,4],linux:5,minor_grid:4,stat:4,self:3,shallow:2,intern:3,sure:5,plugin_framework:3,flatten:2,proper:4,home:1,extract_spik:2,analog_signal_arrays_by_channelgroup_and_seg:3,librari:0,trust:2,lead:[2,3],channel:[2,4],event_synchron:2,binned_train:6,definit:3,minimum_spike_train_interv:2,overlap:[2,5],intact:2,grassberg:2,analog_signal_arrai:3,progress_ind:[2,4,3],larg:[2,6],select:[4,5,3],necessari:3,three:[2,6],violat:2,include_array_epoch:3,either:2,gosmann:7,core:[2,4,6,3],add_legend_opt:4,run:2,dataitem:3,plot:[0,1,2,4,5,6],journal:2,usag:[0,5,6],recordingchannelgroup:3,who:2,step:2,cauchi:2,analog_signal_array_to_analog_sign:2,repositori:5,offset:4,subtract:2,van_rossum_dist:2,after:[2,4,1],panel:4,microvolt:2,comparison:2,about:2,actual:2,similiarili:6,column:4,electrophysiolog:[0,6],manag:[4,5],binless:2,estim:[0,4,1,6,2],recordingchannel:3,guiqwt:[4,5,6],inhomogen:[2,6],produc:[4,6],block:[2,3],add_plot_widget:4,rate_correct:[2,4],own:3,effici:2,"final":6,convolut:6,"float":[2,4,3],easy_instal:5,automat:[2,4,6,1],dataset:[0,3],down:3,ellipsi:6,num_bin:[2,4],sampleplugin:3,whiten:2,ensur:3,chang:[2,4,1,3],mark:4,error:2,your:[2,5,3],conversion_mod:3,kernel_funct:4,websit:5,git:5,van:2,wai:[2,5],pictur:6,min_plot_width:4,add_x_synchronization_opt:4,support:[0,7,6,3],transform:2,fast:2,avail:[0,4,5,1],width:[2,4],interfac:3,low:6,fraction:2,acknowledg:[0,7],gui_data:[2,3],cichocki:2,cancel:2,lambda:6,analysi:[2,5,3],head:5,creation:[4,6],form:2,offer:[4,3],some:[2,4,6,3],recommend:3,triangular:2,t_start:2,defaulttoolbarid:4,github:5,sde:[4,6],schreiber_similar:2,link:2,y_offset:4,delta:2,renam:1,line:[2,4,1,6,3],"true":[2,4,6,3],faster:2,info:3,concaten:2,optimize_step:[2,6,4],consist:[2,1],possibl:[2,4,1],whether:4,access:[5,3],smooth:2,displai:[4,6],record:[2,4],below:2,toggl:4,helptool:4,activate_command:4,problem:2,similar:[2,6],no_channelgroup:3,activate_zoom:4,clearli:6,curv:[4,6],khz:6,analysis_plugin:[2,3],constant:[2,6],creat:[0,3,2,4,6,7],flat:6,"int":[2,4,3],smoothing_filt:2,"abstract":3,kernel_s:[2,6,4],censor:2,repres:6,bernstein:7,decreas:2,plotdialog:4,pip:5,inf:2,doe:[2,4],set_tick:2,check:4,probabl:2,incorrect:2,denot:2,equat:2,googl:0,laplaciankernel:2,analogsign:[2,4,1,6,3],total_tim:2,detail:2,reassignment_cost:2,dicionari:[6,3],signal_arrai:2,valid:[2,4,3],bool:[2,4,3],branch:5,epoch:[2,4,3],test:7,quiroga:2,you:[2,5,6,3],spike_trains_by_segment_and_unit:3,grk:7,mock:[4,6],draw:4,fulli:2,epocharrai:[2,3],sequenc:[2,4,3],neurophysiolog:[0,2],add_y_synchronization_opt:4,drift:[2,4],ndarrai:[2,4],scale:[2,4],embed:2,amplitud:[2,4],kernel_discretization_param:2,debian:5,network:2,axi:[2,4],longer:[2,4],algorithm:2,directori:[5,3],align_tim:2,suit:3,replace_list:4,descript:2,set_paramet:3,scroll:1,itself:0,ignor:[2,3],usefult:4,time:[2,4,6,3],sin:6,labeled_epoch:3,from_data:3,replace_color:4},objtypes:{"0":"py:module","1":"py:method","2":"py:class","3":"py:function","4":"py:staticmethod","5":"py:exception","6":"py:classmethod"},titles:["Welcome to the documentation of spykeutils!","Changelog","API reference","plugin Package","spykeutils.plot package","Requirements","Examples","Acknowledgements"],objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","class","Python class"],"3":["py","function","Python function"],"4":["py","staticmethod","Python static method"],"5":["py","exception","Python exception"],"6":["py","classmethod","Python class method"]},filenames:["index","changelog","apidoc/spykeutils","apidoc/spykeutils.plugin","apidoc/spykeutils.plot","intro","examples","acknowledgements"]})PK\*BJW'W'&spykeutils-0.3.0/acknowledgements.html Acknowledgements — spykeutils 0.3.0 documentation

Acknowledgements

Spyke Viewer was created by Robert Pröpper [1], supported by the Research Training Group GRK 1589/1. Jan Gosmann [2] contributed and tested the spike train metric implementations.

[1]Neural Information Processing Group, TU Berlin
[2]Bernstein Center for Computational Neuroscience, Berlin

Project Versions

Previous topic

Changelog

This Page

PKd*BIspykeutils-0.3.0/genindex.html Index — spykeutils 0.3.0 documentation

Index

A | B | C | D | E | F | G | H | I | K | L | M | N | O | P | R | S | T | U | V

A

activate_command() (HelpTool method)
(HomeTool method)
add_color_legend() (PlotDialog method)
add_custom_curve_tools() (PlotDialog method)
add_custom_image_tools() (PlotDialog method)
add_custom_label() (PlotDialog method)
add_epochs() (in module spykeutils.plot.helper)
add_events() (in module spykeutils.plot.helper)
add_legend_option() (PlotDialog method)
add_option() (PlotDialog method)
add_plot_widget() (PlotDialog method)
add_spikes() (in module spykeutils.plot.helper)
add_unit_color() (PlotDialog method)
add_x_synchronization_option() (PlotDialog method)
add_y_synchronization_option() (PlotDialog method)
aligned_spike_trains() (in module spykeutils.rate_estimation)
analog_signal_array_to_analog_signals() (in module spykeutils.conversions)
analog_signal_arrays() (DataProvider method)
analog_signal_arrays_by_channelgroup() (DataProvider method)
analog_signal_arrays_by_channelgroup_and_segment() (DataProvider method)
analog_signal_arrays_by_segment() (DataProvider method)
analog_signal_arrays_by_segment_and_channelgroup() (DataProvider method)
analog_signals() (DataProvider method)
analog_signals_by_channel() (DataProvider method)
analog_signals_by_channel_and_segment() (DataProvider method)
analog_signals_by_segment() (DataProvider method)
analog_signals_by_segment_and_channel() (DataProvider method)
AnalysisPlugin (class in spykeutils.plugin.analysis_plugin)
apply_to_dict() (in module spykeutils.tools)
as_kernel_of_size() (in module spykeutils.signal_processing)

B

begin() (ProgressIndicator method)
bin_spike_trains() (in module spykeutils.tools)
binned_spike_trains() (in module spykeutils.rate_estimation)
blocks() (DataProvider method)
boundary_enclosing_at_least() (CausalDecayingExpKernel method)
(GaussianKernel method)
(Kernel method)
(LaplacianKernel method)
(RectangularKernel method)
(TriangularKernel method)

C

calculate_overlap_fp_fn() (in module spykeutils.sorting_quality_assesment)
calculate_refperiod_fp() (in module spykeutils.sorting_quality_assesment)
CancelException
CausalDecayingExpKernel (class in spykeutils.signal_processing)
collapsed_spike_trains() (in module spykeutils.rate_estimation)
concatenate_spike_trains() (in module spykeutils.tools)
configure() (AnalysisPlugin method)
correlogram() (in module spykeutils.correlations)
cross_correlogram() (in module spykeutils.plot.correlogram)
cs_dist() (in module spykeutils.spike_train_metrics)

D

data_dict() (DataProvider method)
DataProvider (class in spykeutils.plugin.data_provider)
discretize_kernel() (in module spykeutils.signal_processing)
done() (ProgressIndicator method)

E

epoch_array_to_epochs() (in module spykeutils.conversions)
epoch_arrays() (DataProvider method)
epochs() (DataProvider method)
evaluate() (CausalDecayingExpKernel static method)
(GaussianKernel static method)
(LaplacianKernel static method)
(RectangularKernel static method)
(TriangularKernel static method)
event_array_to_events() (in module spykeutils.conversions)
event_arrays() (DataProvider method)
event_synchronization() (in module spykeutils.spike_train_metrics)
events() (DataProvider method)
extract_spikes() (in module spykeutils.tools)

F

from_data() (spykeutils.plugin.data_provider.DataProvider class method)

G

gauss_kernel() (in module spykeutils.rate_estimation)
GaussianKernel (class in spykeutils.signal_processing)
gen_homogeneous_poisson() (in module spykeutils.spike_train_generation)
gen_inhomogeneous_poisson() (in module spykeutils.spike_train_generation)
get_color() (in module spykeutils.plot.helper)
get_name() (AnalysisPlugin method)
get_object_color() (in module spykeutils.plot.helper)
get_parameters() (AnalysisPlugin method)
get_refperiod_violations() (in module spykeutils.sorting_quality_assesment)

H

HelpTool (class in spykeutils.plot.guiqwt_tools)
HomeTool (class in spykeutils.plot.guiqwt_tools)
hunter_milton_similarity() (in module spykeutils.spike_train_metrics)

I

ignores_cancel() (in module spykeutils.progress_indicator)
is_symmetric() (Kernel method)
(KernelFromFunction method)
(SymmetricKernel method)
isi() (in module spykeutils.plot.interspike_intervals)

K

Kernel (class in spykeutils.signal_processing)
KernelFromFunction (class in spykeutils.signal_processing)

L

labeled_epochs() (DataProvider method)
labeled_events() (DataProvider method)
LaplacianKernel (class in spykeutils.signal_processing)
load() (AnalysisPlugin method)

M

make_window_legend() (in module spykeutils.plot.helper)
maximum_spike_train_interval() (in module spykeutils.tools)
minimum_spike_train_interval() (in module spykeutils.rate_estimation)
(in module spykeutils.tools)

N

norm_dist() (in module spykeutils.spike_train_metrics)
normalization_factor() (CausalDecayingExpKernel method)
(GaussianKernel method)
(Kernel method)
(LaplacianKernel method)
(RectangularKernel method)
(TriangularKernel method)

O

optimal_gauss_kernel_size() (in module spykeutils.rate_estimation)
overlap_fp_fn() (in module spykeutils.sorting_quality_assesment)

P

PanTool (class in spykeutils.plot.guiqwt_tools)
PlotDialog (class in spykeutils.plot.dialog)
ProgressIndicator (class in spykeutils.progress_indicator)
psth() (in module spykeutils.plot.peri_stimulus_histogram)
(in module spykeutils.rate_estimation)

R

raster() (in module spykeutils.plot.rasterplot)
recording_channel_groups() (DataProvider method)
recording_channels() (DataProvider method)
RectangularKernel (class in spykeutils.signal_processing)
refresh_view() (DataProvider method)
remove_from_hierarchy() (in module spykeutils.tools)
replace_colors() (PlotDialog method)

S

save() (AnalysisPlugin method)
schreiber_similarity() (in module spykeutils.spike_train_metrics)
sde() (in module spykeutils.plot.sde)
segments() (DataProvider method)
selection_blocks() (DataProvider method)
set_background_color() (PlotDialog method)
set_color_scheme() (in module spykeutils.plot.helper)
set_parameters() (AnalysisPlugin method)
set_plot_title() (PlotDialog method)
set_status() (ProgressIndicator method)
set_ticks() (ProgressIndicator method)
signals() (in module spykeutils.plot.analog_signals)
smooth() (in module spykeutils.signal_processing)
spike_amplitude_histogram() (in module spykeutils.plot.spike_amp_hist)
(in module spykeutils.stationarity)
spike_density_estimation() (in module spykeutils.rate_estimation)
spike_train_to_spikes() (in module spykeutils.conversions)
spike_trains() (DataProvider method)
spike_trains_by_segment() (DataProvider method)
spike_trains_by_segment_and_unit() (DataProvider method)
spike_trains_by_unit() (DataProvider method)
spike_trains_by_unit_and_segment() (DataProvider method)
spikes() (DataProvider method)
(in module spykeutils.plot.spike_waveforms)
spikes_by_segment() (DataProvider method)
spikes_by_segment_and_unit() (DataProvider method)
spikes_by_unit() (DataProvider method)
spikes_by_unit_and_segment() (DataProvider method)
spikes_to_spike_train() (in module spykeutils.conversions)
SpykeException (class in spykeutils)
spykeutils (module)
spykeutils.conversions (module)
spykeutils.correlations (module)
spykeutils.plot (module)
spykeutils.plot.analog_signals (module)
spykeutils.plot.correlogram (module)
spykeutils.plot.dialog (module)
spykeutils.plot.guiqwt_tools (module)
spykeutils.plot.helper (module)
spykeutils.plot.interspike_intervals (module)
spykeutils.plot.peri_stimulus_histogram (module)
spykeutils.plot.rasterplot (module)
spykeutils.plot.sde (module)
spykeutils.plot.spike_amp_hist (module)
spykeutils.plot.spike_waveforms (module)
spykeutils.plugin (module)
spykeutils.plugin.analysis_plugin (module)
spykeutils.plugin.data_provider (module)
spykeutils.plugin.gui_data (module)
spykeutils.progress_indicator (module)
spykeutils.rate_estimation (module)
spykeutils.signal_processing (module)
spykeutils.sorting_quality_assesment (module)
spykeutils.spike_train_generation (module)
spykeutils.spike_train_metrics (module)
spykeutils.stationarity (module)
spykeutils.tools (module)
st_convolve() (in module spykeutils.signal_processing)
st_inner() (in module spykeutils.spike_train_metrics)
st_norm() (in module spykeutils.spike_train_metrics)
start() (AnalysisPlugin method)
step() (ProgressIndicator method)
summed_dist_matrix() (Kernel method)
(LaplacianKernel method)
(SymmetricKernel method)
SymmetricKernel (class in spykeutils.signal_processing)

T

TriangularKernel (class in spykeutils.signal_processing)

U

units() (DataProvider method)

V

van_rossum_dist() (in module spykeutils.spike_train_metrics)
van_rossum_multiunit_dist() (in module spykeutils.spike_train_metrics)
variance_explained() (in module spykeutils.sorting_quality_assesment)
victor_purpura_dist() (in module spykeutils.spike_train_metrics)
victor_purpura_multiunit_dist() (in module spykeutils.spike_train_metrics)

Project Versions

This Page

PKd*B..spykeutils-0.3.0/changelog.html Changelog — spykeutils 0.3.0 documentation

Changelog

Version 0.3.0

  • Added implementations for various spike train metrics.
  • Added generation functions for poisson spike trains
  • Added tools module with various utility functions, e.g. binning spike trains or removing objects from Neo hierarchies.
  • Added explained variance function to spike sorting quality assessment.
  • Improved legends for plots involving colored lines.
  • Plots now have a minimum size and scroll bars appear if the plots would become too small.
  • Renamed plot.ISI to plot.isi for consistency

Version 0.2.1

  • Added “Home” and “Pan” tools for plots (useful when no middle mouse button is available).
  • Changed default grid in plots to show only major grid.
  • Added a method to DataProvider for refreshing views after object hierarchy changed.
  • New parameter for DataProvider AnalogSignal methods: AnalogSignalArrays can be automatically converted and returned.
  • Significantly improved speed of spike density estimation and optimal kernel size calculation.
  • Spike sorting quality assessment using gaussian clusters is now possible without prewhitening spikes or providing prewhitened means.
  • Renamed “spyke-plugin” script to “spykeplugin”

Version 0.2.0

Initial documented public release.

Project Versions

Table Of Contents

Previous topic

plugin Package

Next topic

Acknowledgements

This Page

PKd*BL0՚""spykeutils-0.3.0/search.html Search — spykeutils 0.3.0 documentation

Search

Please activate JavaScript to enable the search functionality.

From here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.

Project Versions

This Page

PKd*B=spykeutils-0.3.0/.buildinfo# Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. config: 1e131a08f44e88a30755e0ac7f8d1d3b tags: fbb0d17656682115ca4d033fb2f83ba1 PKd*BQCspykeutils-0.3.0/objects.inv# Sphinx inventory version 2 # Project: spykeutils # Version: 0.3 # The remainder of this file is compressed using zlib. x\K8Wjsvs-n*USUhc"cjc$)T*cӷ9ByxNEEE9l>[x%5?{i~z Ww;mkF1l}mx#/L\>_uYu&$喳JLA͊'c7ݗJ>˒`f/ !Sɥ(;Ơ l3y) |ɞ(V8+JAmEFn= M|\Gz*i~c]Y,i1%̨$*a. muVDS`Gx>vjpM2%9"#ωܨ"}$C`,nRLێpC#S7,~uCJxU>BSRuWZiF ݞda>iU|:`|!櫊feHF BY!C_2^X*yblsI T͗yXK\ ,@pUڝk[@X/Y [ H|]1mē8dZSHmإut]H1YIS(٢@Pw0&ɚ-& HC~~;r-kQ)8d]ujZiw9SoαspNOC<KL+1M)IMWZ3qC|4-*x.E yX,TYRl"tZ¥*5"/.a-֐LvzEH}A5໇HbaTbVJ#GK"jIkC*9UƱؘQaD\&sD$qKv*#>9V{qKz; 9#D+~Ch~ v01&5>yI:v3NSzM*ń5MǞ$6Q 9is"@xچGn Nӱ9ޅɄBSY~sc }]87=NH(,aQ:׽̂CE%T#P} C.TMzԼ sp#rk4K/nu49#m:WtV~}aew,,UD$s"r>/PKd*B\^;;!spykeutils-0.3.0/py-modindex.html Python Module Index — spykeutils 0.3.0 documentation PK@*BkuFpp)spykeutils-0.3.0/_static/down-pressed.pngPNG  IHDRasRGBbKGDC pHYs B(xtIME -vF#IDAT8!OAJ, ++@I vbÿ@W7F HN#48646TMvv޼7Dsax1U q;< E-f)j%po4xF78G>)- EYm4%7YTk-Qa"NWAo-yeq,) Ypt\hqmszG]Nar߶s^l vh\2%0EeRvIENDB`PK@*B4"spykeutils-0.3.0/_static/jquery.js/*! * jQuery JavaScript Library v1.4.2 * http://jquery.com/ * * Copyright 2010, John Resig * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * Includes Sizzle.js * http://sizzlejs.com/ * Copyright 2010, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * * Date: Sat Feb 13 22:33:48 2010 -0500 */ (function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& (d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== "find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a"; var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, "_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== "="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); (function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= {},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== "string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== 1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, ""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", ""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, "border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== "string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? "&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== 1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== "json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== "number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
"; a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": "pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); PK@*Bhkk!spykeutils-0.3.0/_static/down.pngPNG  IHDRasRGBbKGDC pHYs B(xtIME"U{IDAT8ҡNCAJ, ++@4>/U^,~T&3M^^^PM6ٹs*RJa)eG*W<"F Fg78G>q OIp:sAj5GنyD^+yU:p_%G@D|aOs(yM,"msx:.b@D|`Vٟ۲иeKſ/G!IENDB`PK6*B:66!spykeutils-0.3.0/_static/icon.ico h& (  ```(PPP%%%vvv'___...jjjooo777BBBF%b^^ɟᕓkge(""-ccdPPPFPNNsʤɤΐ USQuӾӴblddմbͷ *t]\{eɾ{\\\̱sIDD1}{{ϣԁob^`PՆxIQlhDŸ̂ߖwYzcbXqe^R?WIxhXͰG3J-"&ss]].~zzEusssd==ff7%aaeQ|jjv ~~*1FcϏ w\\G$( @ ^^^TTT222 ccc]]]777 NNNllleee<<< ZZZ}}}uuummmCCC dddAAA|||wwwHHHoooHHH###NNNxxxRRR,,, A"1-+732:64300*'%LyyyZZZ555}NJIۑXTT.*(ʏfff555 UOMKڹ`\Z0+)vǐ鸸/ ~c`__`cqqr(w_̭dֵdۺd޿d޿dۺdַdέd_w( [ҿbβdغddgdddddۺḓdbƿICC$da`¦\aa`aiS䠆aaaaaaϰa\~zy000 !X[ZYXW`NpWWWWWWWаWXOKItqpҽlU^nًQNk[YIqbNNNNNNNЏgZ5n鏌111M˘sIfZpdbVXKvESDn_PBFEEFb]JZCY>Z9M&ԓC> -'su::F&%Fvv}==vv_6*$,,]::F!!zgS%A5/+a\Z10|m#(PPQppHH.#dd.T ֿ߯ Կ 꿪 ̲ [4//6z ]YYzZZQQ1)۶۶۶Ԫ& SSU,||uuZZxx4+#@@@##%`IBBIQ&&)Qiih``[[ԃ90'9~|JII@6,$6ԡ224vߨXX=,3/'Z⨧* jrrwi  Fffg ť\\]669u""%a##&_000pUUXлpmiKhhhnȱidd8??G?+?9?1?1???=??PK@*B' 5w *spykeutils-0.3.0/_static/comment-close.pngPNG  IHDRa OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs  tIME!,IDAT8e_Hu?}s3y˕U2MvQ֊FE.łĊbE$DDZF5b@Q":2{n.s<_ y?mwV@tR`}Z _# _=_@ w^R%6gC-έ(K>| ${}