UnfoldMakie.cart3d_to_spherical — Methodconvert x/y/z electrode montage positions to spherical coordinate representation. output is a matrixUnfoldMakie.config_kwargs! — MethodTakes a kwargs named tuple of Key => NamedTuple and merges the fields with the defaults
UnfoldMakie.df_timebin — Methoddf_timebin(df, Δbin; col_y=:erp, fun=mean, grouping=[])Split or combine dataframe according to equally spaced time bins
dfAbstractTable with columns:timeandcol_y(default:erp), and all columns ingrouping;Δbinbin size in:timeunits;col_ydefault :erp, the column to combine over (withfun);funfunction to combine, default ismean;grouping(vector of symbols/strings) default empty vector, columns to group the data by before aggregating. Values ofnothingare ignored.
UnfoldMakie.eeg_matrix_to_dataframe — MethodHelper function converting a matrix (channel x times) to a tidy dataframe with columns :estimate, :time and :label
UnfoldMakie.eeg_topoplot_series! — Methodeegtopoplotseries!(fig, data::DataFrame, Δbin; kwargs..) In place plotting of topoplot series see eegtopoplotseries(data, Δbin) for help
UnfoldMakie.eeg_topoplot_series — Methodfunction eegtopoplotseries(data::DataFrame, Δbin; y=:estimate, label=:label, col=:time, row=nothing, figure = NamedTuple(), combinefun=mean, rowlabels = false, collabels = false, topoplot_attributes... )
Plot a series of topoplots. The function automatically takes the combinefun=mean over the :time column of data in Δbin steps.
- The data frame
dataneeds the columns:timeandy(=:erp), andlabel(=:label). Ifdatais a matrix, it is automatically cast to a dataframe, time bins are in samples, labels arestring.(1:size(data,1)). - Δbin in
:timeunits, specifying the time steps. All other keyword arguments are passed to the EEG_TopoPlot recipe. In most cases, the user should specify the electrode positions withpositions=pos. - The
colandrowarguments specify the field to be divided into columns and rows. The default iscol=:timeto split by the time field androw=nothing. Useful to split by a condition, e.g....(..., col=:time, row=:condition)would result in multiple (as many as different values in df.condition) rows of topoplot series. - The
figureoption allows you to include information for plotting the figure. Alternatively, you can pass a fig objecteeg_topoplot_series!(fig, data::DataFrame, Δbin; kwargs..). row_labelsandcol_labelsindicate whether there should be labels in the plots in the first column to indicate the row value and in the last row to indicate the time (typically timerange).
Examples
Desc
julia > df = DataFrame(:erp => repeat(1:63, 100), :time => repeat(1:20, 5 * 63), :label => repeat(1:63, 100)) # fake data
julia > pos = [(1:63) ./ 63 .* (sin.(range(-2 * pi, 2 * pi, 63))) (1:63) ./ 63 .* cos.(range(-2 * pi, 2 * pi, 63))] .* 0.5 .+ 0.5 # fake electrode positions
julia > pos = [Point2.(pos[k, 1], pos[k, 2]) for k in 1:size(pos, 1)]
julia > eeg_topoplot_series(df, 5; positions=pos)UnfoldMakie.plot_butterfly — MethodPlot a butterfly plot plotbutterfly(plotdata::DataFrame; positions=nothing)
kwargs (...; ...):
positions(Array,[]): if specified, adds a topoplot as an inset legend to the provided channel positions. Must be the same length asplot_data. To change the colors of the channel lines use thetopoposition_to_colorfunction.topolegend(bool, default=true): show an inlay topoplot with corresponding electrodes. Requirespositionsto be provided.topomarkersize(Real, default=10): change the size of the markers, topoplot-inlay electrodes.topowidth(Real, default=0.25): change the size of the inlay topoplot width.topoheigth(Real, default=0.25): change the size of the inlay topoplot height.topopositions_to_color(function, ´x -> posToColorRomaO(x)´): change the colors of the channel lines.
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "Time [s]", ylabel = "Voltage [µV]", yticklabelsize = 14) - use kwargs... of Makie.Axis
layout = (show_legend = false, legend_position = :right, xlabelFromMapping = :x, ylabelFromMapping = :y, use_colorbar = false, hidespines = (:r, :t), hidedecorations = Dict{Symbol, Bool}(:label => 0, :ticks => 0, :ticklabels => 0))
mapping = (x = (:time,), y = (:estimate, :yhat, :y), color = (:channel, :channels, :trial, :trials), positions = (:pos, :positions, :position, :topo_positions, :x, nothing), labels = (:labels, :label, :topoLabels, :sensor, nothing))
visual = (colormap = :roma,) - use kwargs... of $Makie.lines$
legend = (orientation = :vertical, tellwidth = true, tellheight = false, framevisible = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false) - use kwargs... of AlgebraOfGraphics.colobar!
see also plot_erp
UnfoldMakie.plot_channelimage — Methodplot_channelimage!(f::Union{GridPosition, GridLayout, Figure}, data::Matrix{<:Real}, position::Vector{Point{2,Float32}}, ch_names::Vector{String}; kwargs...)
plot_channelimage(data::Matrix{<:Real}, position::Vector{Point{2,Float32}}, ch_names::Vector{String}; kwargs...)Channel image
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure, GridLayout or GridPosition that the plot should be drawn into.data::DataFrame: DataFrame with data.position(Vector{Point{2,Float32}}): a vector with EEG layout coordinates.ch_names(Vector{String}): vector with channel names.
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "Time [s]", ylabel = "Channels", yticklabelsize = 14) - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = :x, ylabelFromMapping = :y, use_colorbar = false)
mapping = (x = (:time,), y = (:estimate, :yhat, :y))
visual = (colormap = Makie.Reverse{String}("RdBu"),) - use kwargs... of $Makie.heatmap$
legend = (orientation = :vertical, tellwidth = true, tellheight = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false, label = "Voltage [µV]", labelrotation = 4.7) - use kwargs... of Makie.Colorbar
Return Value:
A figure displaying channel image
UnfoldMakie.plot_circulareegtopoplot — Methodplot_circulareegtopoplot!(f, data::DataFrame; kwargs...)
plot_circulareegtopoplot(data::DataFrame; kwargs...)Plot a circular EEG topoplot.
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure, GridLayout or GridPosition that the plot should be drawn intodata::DataFrame: DataFrame with keys for data (looks for:y, :yhat, :estimate), and :position (looks for:pos, :position, :positions),predictor(optional; default:predictor): the circular predictor value, defines position of topoplot, is mapped aroundpredictor_boundspredictor_bounds(default:[0,360]): the bounds of the predictor. This is relevant for the axis labels.positions(default:nothing): positions for theplot_topoplotcenter_label(default: ""): the text in the center of the criclelabels(default:nothing): labels for theplot_topoplotkwargs...: additional styling behavior, see below.
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "", aspect = Makie.DataAspect(), label = "") - use kwargs... of Makie.Axis
layout = (show_legend = false, legend_position = :right, xlabelFromMapping = nothing, ylabelFromMapping = nothing, use_colorbar = true, hidespines = (), hidedecorations = Dict{Symbol, Bool}(:label => 0))
mapping = (x = (nothing,), y = (:estimate, :yhat, :y), positions = (:pos, :positions, :position, nothing), labels = (:labels, :label, :sensor, nothing))
visual = (colormap = Makie.Reverse{Symbol}(:RdBu), contours = (color = :white, linewidth = 2), label_scatter = true, label_text = true, bounding_geometry = GeometryBasics.Circle) - use kwargs... of $Topoplot.eeg_topoplot$
legend = (orientation = :vertical, tellwidth = true, tellheight = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false, flipaxis = true, labelrotation = -1.5707963267948966, label = "Voltage [µV]", colormap = Makie.Reverse{Symbol}(:RdBu)) - use kwargs... of Makie.Colorbar
Return Value:
A figure containing the circular topoplot at given layout position
UnfoldMakie.plot_designmatrix — Methodplot_designmatrix!(f::Union{GridPosition, GridLayout, Figure}, data::Unfold.DesignMatrix; kwargs...)
plot_designmatrix(data::Unfold.DesignMatrix; kwargs...)Plot a designmatrix.
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure or GridPosition (e.g. f[2, 3]) in which the plot will be placed into. A new axis is created.data::Unfold.DesignMatrix: data for the plot visualization.
kwargs
standardize_data(bool, default:true): indicates whether the data is standardized by pointwise division of the data with its sampled standard deviation.sort_data(bool, default:true): indicates whether the data is sorted; using sortslices() of Base Julia.xticks(Num,default:nothing): returns the number of labels on the x-axis. Behavior is set in the configuration:xticks= 0: no labels are placed.xticks= 1: first possible label is placed.xticks= 2: first and last possible labels are placed.- 2 <
xticks<number of labels: equally distribute the labels. xticks≥number of labels: all labels are placed.
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xticklabelrotation = 0.39269908169872414,) - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = nothing, ylabelFromMapping = nothing, use_colorbar = true)
mapping = (x = (:time,), y = (:estimate, :yhat, :y))
visual = (colormap = :roma,) - use kwargs... of $Makie.heatmap$
legend = (orientation = :vertical, tellwidth = true, tellheight = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false) - use kwargs... of Makie.Colorbar
Return Value:
A figure displaying the designmatrix.
UnfoldMakie.plot_erp — Methodplot_erp!(f::Union{GridPosition, GridLayout, Figure}, plot_data::DataFrame; kwargs...)
plot_erp(plot_data::DataFrame; kwargs...)Plot an ERP plot.
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure, GridLayout or GridPosition that the plot should be drawn into.plot_data::DataFrame: Data for the line plot visualization.kwargs...: Additional styling behavior. Often used:plot_erp(df; mapping=(; color=:coefname, col=:conditionA)).
kwargs (...; ...):
categorical_color(bool, default=true): in case of numeric:colorcolumn, treat:coloras continuous or categorical variable.categorical_group(bool, default=true): in case of numeric:groupcolumn, treat:groupas categorical variable by default.stderror(bool, default=false): add an error ribbon, with lower and upper limits based on the:stderrorcolumn.pvalue(Array, default=[]): show a pvalue.- example:
DataFrame(from=[0.1, 0.3], to=[0.5, 0.7], coefname=["(Intercept)", "condition:face"])- if coefname is not specified, the lines will be black.
- example:
positions(Array, default=[]): see plot_butterfly.topolegend(bool, default=false): (seeplot_butterfly).
Internal-use only:
butterfly(bool, default=true): a butterfly plot instead of an ERP plot. Seeplot_butterfly
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "Time [s]", ylabel = "Voltage [µV]", yticklabelsize = 14) - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = :x, ylabelFromMapping = :y, use_colorbar = false, hidespines = (:r, :t), hidedecorations = Dict{Symbol, Bool}(:grid => 1, :label => 0, :ticks => 0, :ticklabels => 0))
mapping = (x = (:time,), y = (:estimate, :yhat, :y), color = (:color, :coefname, nothing))
visual = (colormap = :roma,) - use kwargs... of $Makie.lines$
legend = (orientation = :vertical, tellwidth = true, tellheight = false, framevisible = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false) - use kwargs... of AlgebraOfGraphics.colobar!
Return Value:
- f - Figure() or the inputed
f
UnfoldMakie.plot_erpgrid — Methodplot_erpgrid!(f::Union{GridPosition, GridLayout, Figure}, data::Matrix{<:Real}, pos::Vector{Point{2,Float}}; kwargs...)
plot_erpgrid(data::Matrix{<:Real}, pos::Vector{Point{2,Float}}; kwargs...)Plot an ERP image.
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure, GridLayout or GridPosition that the plot should be drawn into.data::Matrix{<:Real}: data for the plot visualization.pos::Vector{Point{2,Float}}: electrode positions.
Keyword Arguments
drawlabels(bool, default=false): draw channels labels over each waveform.times: (Vector, default=1:size(data, 2)): vector of size()
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "Time [s]", ylabel = "Voltage [µV]", xlim = [-0.04, 1.0], ylim = [-0.04, 1.0]) - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = :x, ylabelFromMapping = :y, use_colorbar = false)
mapping = (x = (:time,), y = (:estimate, :yhat, :y))
visual = (colormap = :roma,) - use kwargs... of $Makie.lines$
legend = (orientation = :vertical, tellwidth = true, tellheight = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false) - use kwargs... of Makie.Colorbar
Return Value:
The figure displaying ERP grid
UnfoldMakie.plot_erpimage — Methodplot_erpimage!(f::Union{GridPosition, GridLayout, Figure}, data::Matrix{Float64}; kwargs...)
plot_erpimage(data::Matrix{Float64}; kwargs...)Plot an ERP image.
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure or GridPosition that the plot should be drawn intoplot::Matrix{Float64}: Data for the plot visualization
Keyword Arguments
erpblur(Number; default:10): number indicating how much blur is applied to the image. Gaussian blur of the ImageFiltering module is used. Non-Positive values deactivate the blur.sortindex(Vector{Int64}; default:nothing): sorting over index values.sortvalues(Vector{Int64}; default:false): parameter over which plot will be sorted. Using sortperm() of Base Julia.- sortperm() computes a permutation of the array's indices that puts the array into sorted order.
meanplot(bool; default:false): Indicating whether the plot should add a line plot below the ERP image, showing the mean of the data.
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "Time [s]", ylabel = "Sorted trials") - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = :x, ylabelFromMapping = :y, use_colorbar = true)
mapping = (x = (:time,), y = (:estimate, :yhat, :y))
visual = (colormap = Makie.Reverse{String}("RdBu"),) - use kwargs... of $Makie.heatmap$
legend = (orientation = :vertical, tellwidth = true, tellheight = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false, label = "Voltage [µV]", labelrotation = 4.7) - use kwargs... of Makie.Colorbar
Return Value:
The input f
UnfoldMakie.plot_new — Methodplot_new() -> String
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "Time [s]", ylabel = "Voltage [µV]", yticklabelsize = 14) - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = :x, ylabelFromMapping = :y, use_colorbar = false, hidespines = (:r, :t), hidedecorations = Dict{Symbol, Bool}(:grid => 1, :label => 0, :ticks => 0, :ticklabels => 0))
mapping = (x = (:time,), y = (:estimate, :yhat, :y), color = (:color, :coefname, nothing))
visual = (colormap = :roma,) - use kwargs... of $Makie.lines$
legend = (orientation = :vertical, tellwidth = true, tellheight = false, framevisible = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false) - use kwargs... of AlgebraOfGraphics.colobar!
UnfoldMakie.plot_parallelcoordinates — Methodplot_parallelcoordinates(f::Union{GridPosition, GridLayout, Figure}, data::DataFrame; kwargs)Plot a PCP (parallel coordinates plot).
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure or GridPosition in which the plot should be drawn.data::DataFrame: data for the plot visualization.
key word argumets (kwargs)
normalize(default:nothing): if:minmax, normalize each axis to their respective min-max range.ax_labels(Array, default:nothing): specify axis names. Should be a vector of labels with length equal to the number of uniquemapping.xvalues. Example:ax_labels= ["Fz", "Cz", "O1", "O2"].ax_ticklabels(default:outmost): specify tick labels on axis.:all- show all labels on all axes.:left- show all labels on the left axis, but only min and max on others.:outmost- show labels on min and max of all other axes.:none- remove all labels.
bend(defaultfalse): change straight lines between the axes to curved ("bent") lines using spline interpolation. Note: While this makes the plot look cool, it is not generally recommended to bent the lines, as interpretation suffers, and the resulting visualizations can be potentially missleading.
Defining the axes
- Default:
...(...; mapping=(; x=:channel, y=:estimate)). One could overwrite what should be on the x and the y axes. - By setting
...(...; mapping=(; color=:colorcolumn))one defines conditions splitted by color. The default color is defined by...(...; visual=(; color=:black)).
Change transparency
use ...(...; visual=(; alpha=0.5)) to change transparency.
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (ylabel = "Time",) - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = :x, ylabelFromMapping = :y, use_colorbar = false)
mapping = (x = :channel, y = (:estimate, :yhat, :y))
visual = (colormap = ColorTypes.RGBA{Float32}[RGBA{Float32}(0.0f0,0.44705883f0,0.69803923f0,1.0f0), RGBA{Float32}(0.9019608f0,0.62352943f0,0.0f0,1.0f0), RGBA{Float32}(0.0f0,0.61960787f0,0.4509804f0,1.0f0), RGBA{Float32}(0.8f0,0.4745098f0,0.654902f0,1.0f0), RGBA{Float32}(0.3372549f0,0.7058824f0,0.9137255f0,1.0f0), RGBA{Float32}(0.8352941f0,0.36862746f0,0.0f0,1.0f0), RGBA{Float32}(0.9411765f0,0.89411765f0,0.25882354f0,1.0f0)], color = :black, alpha = 0.3) - use kwargs... of $Makie.lines$
legend = (orientation = :vertical, tellwidth = true, tellheight = false, title = "Conditions", merge = true, framevisible = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false) - use kwargs... of Makie.Colorbar
Return Value:
The input f
UnfoldMakie.plot_topoplot — Methodplot_topoplot!(f::Union{GridPosition, GridLayout, Figure}, data, ; positions=nothing, labels=nothing, kwargs...)
plot_topoplot(data; positions=nothing, labels=nothing, kwargs...)Plot a topo plot.
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure, GridLayout or GridPosition that the plot should be drawn into.data::Union{DataFrame, Vector{Float32}}: data for the plot visualization.positions::Vector{Point{2, Float32}}=nothing: positions used ifdatais not a DataFrame. If this is the case andpositions=nothingthen positions are generated fromlabels.labels::Vector{String} = nothing: labels used ifdatais not a DataFrame.
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "", aspect = Makie.DataAspect()) - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = nothing, ylabelFromMapping = nothing, use_colorbar = true, hidespines = (), hidedecorations = Dict{Symbol, Bool}(:label => 0))
mapping = (x = (nothing,), y = (:estimate, :yhat, :y), positions = (:pos, :positions, :position, nothing), labels = (:labels, :label, :sensor, nothing))
visual = (colormap = Makie.Reverse{Symbol}(:RdBu), contours = (color = :white, linewidth = 2), label_scatter = true, label_text = true, bounding_geometry = GeometryBasics.Circle) - use kwargs... of $Topoplot.eeg_topoplot$
legend = (orientation = :vertical, tellwidth = true, tellheight = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false, flipaxis = true, labelrotation = -1.5707963267948966, label = "Voltage [µV]") - use kwargs... of Makie.Colorbar
Return Value:
A figure displaying the topo plot.
UnfoldMakie.plot_topoplotseries — Methodplot_topoplotseries(f::Union{GridPosition, GridLayout, Figure}, data::DataFrame, Δbin::Real; kwargs...)
plot_topoplotseries!(data::DataFrame, Δbin::Real; kwargs...)Multiple miniature topoplots in regular distances
Arguments:
f::Union{GridPosition, GridLayout, Figure}: Figure, GridLayout or GridPosition that the plot should be drawn into.data::DataFrame: DataFrame with data, needs atimecolumn.Δbin::Real: A number for how large one time bin should be. Δbin is in units of thedata.timecolumn.combinefun(default:mean) - specify how the samples withinΔbinare summarised. possible functons:mean,median,std.rasterize_heatmaps(default:true) - enforce rasterization of the plot heatmap when saving in svg format. This has the benefit that all lines/points are vectors, except the interpolated heatmap. This is typically what you want, otherwise you get ~500x500 vectors per topoplot, which makes everything super slow.col_labels,row_labels- shows column and row labels.labels(default:nothing) - channel labels.positions(default:nothing) - channel positions.
Shared plot configuration options
The shared plot options can be used as follows: type = (; key=value, ...)) - for example plot_x(...; layout = (; show_legend=true, legend_position=:right)). Multiple defaults will be cycled until match.
figure = NamedTuple() - use kwargs... of Makie.Figure
axis = (xlabel = "", aspect = Makie.DataAspect()) - use kwargs... of Makie.Axis
layout = (show_legend = true, legend_position = :right, xlabelFromMapping = nothing, ylabelFromMapping = nothing, use_colorbar = true, hidespines = (), hidedecorations = Dict{Symbol, Bool}(:label => 0))
mapping = (x = (nothing,), y = (:estimate, :yhat, :y), positions = (:pos, :positions, :position, nothing), labels = (:labels, :label, :sensor, nothing), col = (:time,), row = (nothing,))
visual = (colormap = Makie.Reverse{Symbol}(:RdBu), contours = (color = :white, linewidth = 2), label_scatter = true, label_text = false, bounding_geometry = GeometryBasics.Circle) - use kwargs... of $Topoplot.eeg_topoplot$
legend = (orientation = :vertical, tellwidth = true, tellheight = false) - use kwargs... of Makie.Legend
colorbar = (vertical = true, tellwidth = true, tellheight = false, flipaxis = true, labelrotation = -1.5707963267948966, label = "Voltage [µV]") - use kwargs... of Makie.Colorbar
Return Value:
The input f
UnfoldMakie.rel_to_abs_bbox — Methodrel_to_abs_bbox(org, rel)Takes a rectangle org and applies the relative transformation tuple rel. Returns a Makie.BBox.
UnfoldMakie.to_positions — Methodtopositions(x,y,z;sphere=[0,0,0.]) topositions(pos::AbstractMatrix;sphere=[0,0,0.]) Projects 3D electrode positions to a 2D layout.
The matrix case, assumes size(pos) = (3,nChannels) Re-implementation of the MNE algorithm.
Tipp: You can directly get positions from an MNE object after loading PyMNE and thus activating the UnfoldMakie PyMNE extension
UnfoldMakie.valType_to_symbol — MethodVal{:bu}() to => :bu
Internally, we use a PlotConfig struct to keep track of common plotting options, so that all functions have a similar API.
UnfoldMakie.PlotConfig — TypePlotConfig(<plotname>)
holds various different fields, that can modify various different plotting aspects.UnfoldMakie.PCPTicks — TypeUsed to inject extrema ticks and round them if necessary