Nodes

Data

class mesmerize.pyqtgraphCore.flowchart.library.Data.DropNa(*args, **kwargs)[source]

Drop NaNs from the DataFrame

class mesmerize.pyqtgraphCore.flowchart.library.Data.LoadFile(name)[source]

Load Transmission data object from pickled file

class mesmerize.pyqtgraphCore.flowchart.library.Data.LoadProjDF(name)[source]

Load raw project DataFrames as Transmission

class mesmerize.pyqtgraphCore.flowchart.library.Data.Merge(name)[source]

Merge transmissions

class mesmerize.pyqtgraphCore.flowchart.library.Data.NormRaw(name, ui=None, terminals=None, **kwargs)[source]

Normalize between raw min and max values.

class mesmerize.pyqtgraphCore.flowchart.library.Data.PadArrays(name, ui=None, terminals=None, **kwargs)[source]

Pad 1-D numpy arrays in a particular column

class mesmerize.pyqtgraphCore.flowchart.library.Data.Save(name)[source]

Save Transmission data object

class mesmerize.pyqtgraphCore.flowchart.library.Data.SelectColumns(name, ui=None, terminals=None, **kwargs)[source]
class mesmerize.pyqtgraphCore.flowchart.library.Data.SelectRows(name, ui=None, terminals=None, **kwargs)[source]
class mesmerize.pyqtgraphCore.flowchart.library.Data.SpliceArrays(name, ui=None, terminals=None, **kwargs)[source]

Splice 1-D numpy arrays in a particular column.

class mesmerize.pyqtgraphCore.flowchart.library.Data.TextFilter(name, ui=None, terminals=None, **kwargs)[source]

Simple string filtering in a specified column

class mesmerize.pyqtgraphCore.flowchart.library.Data.ViewHistory(*args, **kwargs)[source]

View History Trace of the input Transmission

class mesmerize.pyqtgraphCore.flowchart.library.Data.ViewTransmission(name)[source]

View transmission using the spyder object editor

class mesmerize.pyqtgraphCore.flowchart.library.Data.iloc(name, ui=None, terminals=None, **kwargs)[source]

Pass only one or multiple DataFrame Indices

Display

class mesmerize.pyqtgraphCore.flowchart.library.Display.AnalysisGraph(name)[source]

Graph of the analysis log

class mesmerize.pyqtgraphCore.flowchart.library.Display.BeeswarmPlots(name)[source]

Beeswarm and Violin plots

class mesmerize.pyqtgraphCore.flowchart.library.Display.CrossCorr(name)[source]

Cross Correlation

class mesmerize.pyqtgraphCore.flowchart.library.Display.FrequencyDomainMagnitude(name, ui=None, terminals=None, **kwargs)[source]

Plot Frequency vs. Frequency Domain Magnitude

class mesmerize.pyqtgraphCore.flowchart.library.Display.Heatmap(name)[source]

Stack 1-D arrays and plot visually like a heatmap

class mesmerize.pyqtgraphCore.flowchart.library.Display.Plot(name)[source]

Plot curves and/or scatter points

class mesmerize.pyqtgraphCore.flowchart.library.Display.Proportions(name)[source]

Plot proportions of one categorical column vs another

class mesmerize.pyqtgraphCore.flowchart.library.Display.ScatterPlot(name)[source]

Scatter Plot, useful for visualizing transformed data and clusters

class mesmerize.pyqtgraphCore.flowchart.library.Display.SpaceMap(name)[source]

Visualize spatial maps of a categorical variable

class mesmerize.pyqtgraphCore.flowchart.library.Display.Timeseries(name)[source]

Seaborn Timeseries plot

Signal

class mesmerize.pyqtgraphCore.flowchart.library.Signal.ButterWorth(name, ui=None, terminals=None, **kwargs)[source]

Butterworth Filter

class mesmerize.pyqtgraphCore.flowchart.library.Signal.Normalize(name, ui=None, terminals=None, **kwargs)[source]

Normalize a column containing 1-D arrays such that values in each array are normalized between 0 and 1

Output Column -> Input Column

class mesmerize.pyqtgraphCore.flowchart.library.Signal.PeakDetect(name, **kwargs)[source]

Detect peaks & bases by finding local maxima & minima. Use this after the Derivative Filter

class mesmerize.pyqtgraphCore.flowchart.library.Signal.PeakFeatures(*args, **kwargs)[source]

Extract peak features after peak detection

class mesmerize.pyqtgraphCore.flowchart.library.Signal.PowerSpectralDensity(name, ui=None, terminals=None, **kwargs)[source]

Return the Power Spectral Density of a curve.

class mesmerize.pyqtgraphCore.flowchart.library.Signal.RFFT(name, ui=None, terminals=None, **kwargs)[source]

Uses fftpack.rfft, ‘Discrete Fourier transform of a real sequence.

https://docs.scipy.org/doc/scipy/reference/generated/scipy.fftpack.rfft.html#scipy.fftpack.rfft

class mesmerize.pyqtgraphCore.flowchart.library.Signal.Resample(name, ui=None, terminals=None, **kwargs)[source]
Resample 1D data, uses scipy.signal.resample. “Rs”: New sampling rate in “Tu” units of time.
If “Tu” = 1, then Rs is the new sampling rate in Hertz

Output Column -> Input Column

class mesmerize.pyqtgraphCore.flowchart.library.Signal.SavitzkyGolay(name, ui=None, terminals=None, **kwargs)[source]

Savitzky-Golay filter.

class mesmerize.pyqtgraphCore.flowchart.library.Signal.ScalerMeanVariance(name, ui=None, terminals=None, **kwargs)[source]

Scaler for time series. Scales time series so that their mean (resp. standard deviation) in each dimension is mu (resp. std).

See https://tslearn.readthedocs.io/en/latest/gen_modules/preprocessing/tslearn.preprocessing.TimeSeriesScalerMeanVariance.html#tslearn.preprocessing.TimeSeriesScalerMeanVariance

class mesmerize.pyqtgraphCore.flowchart.library.Signal.SigmaMAD(name, ui=None, terminals=None, **kwargs)[source]
class mesmerize.pyqtgraphCore.flowchart.library.Signal.iRFFT(name, ui=None, terminals=None, **kwargs)[source]

Uses fftpack.irfft, ‘Return inverse discrete Fourier transform of real sequence.’

https://docs.scipy.org/doc/scipy/reference/generated/scipy.fftpack.irfft.html#scipy.fftpack.irfft

Input must have an _RFFT column from the RFFT node.

Math

class mesmerize.pyqtgraphCore.flowchart.library.Math.AbsoluteValue(name, ui=None, terminals=None, **kwargs)[source]

Performs numpy.abs(<input>). Returns root-mean-square value if <input> is complex

class mesmerize.pyqtgraphCore.flowchart.library.Math.ArgGroupStat(name, ui=None, terminals=None, **kwargs)[source]

Group by a certain column and return value of another column based on a data column statistic

class mesmerize.pyqtgraphCore.flowchart.library.Math.ArrayStats(name, ui=None, terminals=None, **kwargs)[source]

Perform various statistical functions

class mesmerize.pyqtgraphCore.flowchart.library.Math.Derivative(name, ui=None, terminals=None, **kwargs)[source]

Return the Derivative of a curve.

class mesmerize.pyqtgraphCore.flowchart.library.Math.Integrate(name, ui=None, terminals=None, **kwargs)[source]
class mesmerize.pyqtgraphCore.flowchart.library.Math.LinRegress(name, ui=None, terminals=None, **kwargs)[source]

Linear Regression

class mesmerize.pyqtgraphCore.flowchart.library.Math.LogTransform(name, ui=None, terminals=None, **kwargs)[source]

Can perform various log transforms

class mesmerize.pyqtgraphCore.flowchart.library.Math.TVDiff(name, ui=None, terminals=None, **kwargs)[source]

Total Variation Regularized Numerical Differentiation, Chartrand 2011 method

class mesmerize.pyqtgraphCore.flowchart.library.Math.XpowerY(name, ui=None, terminals=None, **kwargs)[source]

Raise each element of arrays in data column to the exponent Y

class mesmerize.pyqtgraphCore.flowchart.library.Math.ZScore(name, ui=None, terminals=None, **kwargs)[source]

Z-Score the input data. Uses scipy.stats.zscore. Computes over sub-DataFrames that are created according to the “group_by” column parameter

Biology

class mesmerize.pyqtgraphCore.flowchart.library.Biology.DetrendDFoF(name, ui=None, terminals=None, **kwargs)[source]

Uses detrend_df_f from Caiman library.

class mesmerize.pyqtgraphCore.flowchart.library.Biology.ExtractStim(name, ui=None, terminals=None, **kwargs)[source]

Extract portions of curves according to stimulus maps

class mesmerize.pyqtgraphCore.flowchart.library.Biology.ManualDFoF(name, ui=None, terminals=None, **kwargs)[source]

Set Fo for dF/Fo using a particular time period. Useful for looking at stimulus responses

class mesmerize.pyqtgraphCore.flowchart.library.Biology.StaticDFoFo(name, ui=None, terminals=None, **kwargs)[source]

Perform (F - Fo / Fo) without a rolling window to find Fo

Clustering

class mesmerize.pyqtgraphCore.flowchart.library.Clustering.KMeans(name, ui=None, terminals=None, **kwargs)[source]

KMeans clustering https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

Output column -> KMEANS_CLUSTER_<data_column>
class mesmerize.pyqtgraphCore.flowchart.library.Clustering.KShape(name)[source]

k-Shape clustering

Hierarchical

class mesmerize.pyqtgraphCore.flowchart.library.Hierarchical.FCluster(name, **kwargs)[source]

Basically scipy.cluster.hierarchy.fcluster. Form flat clusters from the hierarchical clustering defined by the given linkage matrix.

class mesmerize.pyqtgraphCore.flowchart.library.Hierarchical.Inconsistent(name)[source]

Calculate inconsistency statistics on a linkage matrix. Returns inconsistency matrix

class mesmerize.pyqtgraphCore.flowchart.library.Hierarchical.Linkage(name, ui=None, terminals=None, **kwargs)[source]

Basically scipy.cluster.hierarchy.linkage Compute a linkage matrix for Hierarchical clustering

class mesmerize.pyqtgraphCore.flowchart.library.Hierarchical.MaxIncStat(name, **kwargs)[source]

Return the maximum statistic for each non-singleton cluster and its children.

class mesmerize.pyqtgraphCore.flowchart.library.Hierarchical.MaxInconsistent(name, **kwargs)[source]

Return the maximum inconsistency coefficient for each non-singleton cluster and its children.

Transform

class mesmerize.pyqtgraphCore.flowchart.library.Transform.LDA(name, **kwargs)[source]

Linear Discriminant Analysis, uses sklearn

class mesmerize.pyqtgraphCore.flowchart.library.Transform.Manifold(name, ui=None, terminals=None, **kwargs)[source]

Manifold learning

class mesmerize.pyqtgraphCore.flowchart.library.Transform.PCA(name, ui=None, terminals=None, **kwargs)[source]

Principal component analysis. Uses sklearn.decomposition.PCA

CtrlNode

Base for all nodes

class mesmerize.pyqtgraphCore.flowchart.library.common.CtrlNode(name, ui=None, terminals=None, **kwargs)[source]

Abstract class for nodes with auto-generated control UI

ctrlWidget()[source]

Return this Node’s control widget.

By default, Nodes have no control widget. Subclasses may reimplement this method to provide a custom widget. This method is called by Flowcharts when they are constructing their Node list.

process(**kwargs)[source]

Process data through this node. This method is called any time the flowchart wants the node to process data. It will be called with one keyword argument corresponding to each input terminal, and must return a dict mapping the name of each output terminal to its new value.

This method is also called with a ‘display’ keyword argument, which indicates whether the node should update its display (if it implements any) while processing this data. This is primarily used to disable expensive display operations during batch processing.

saveState()[source]

Return a dictionary representing the current state of this node (excluding input / output values). This is used for saving/reloading flowcharts. The default implementation returns this Node’s position, bypass state, and information about each of its terminals.

Subclasses may want to extend this method, adding extra keys to the returned dict.

restoreState(state)[source]

Restore the state of this node from a structure previously generated by saveState().