<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="other" dtd-version="1.2" xml:lang="en">
    <front>
        <journal-meta>
            <journal-id journal-id-type="pmc">F1000Research</journal-id>
            <journal-title-group>
                <journal-title>F1000Research</journal-title>
            </journal-title-group>
            <issn pub-type="epub">2046-1402</issn>
            <publisher>
                <publisher-name>F1000 Research Limited</publisher-name>
                <publisher-loc>London, UK</publisher-loc>
            </publisher>
        </journal-meta>
        <article-meta>
            <article-id pub-id-type="doi">10.12688/f1000research.163302.1</article-id>
            <article-categories>
                <subj-group subj-group-type="heading">
                    <subject>Software Tool Article</subject>
                </subj-group>
                <subj-group>
                    <subject>Articles</subject>
                </subj-group>
            </article-categories>
            <title-group>
                <article-title>ERPin3D: A Novel 3D Visualization for Event-Related Potential Data</article-title>
                <fn-group content-type="pub-status">
                    <fn>
                        <p>[version 1; peer review: 1 not approved]</p>
                    </fn>
                </fn-group>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Leland</surname>
                        <given-names>Margaret</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Conceptualization</role>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Grider</surname>
                        <given-names>Gavin</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <uri content-type="orcid">https://orcid.org/0009-0001-0661-2636</uri>
                    <xref ref-type="aff" rid="a2">2</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Dannhauer</surname>
                        <given-names>Moritz</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Conceptualization</role>
                    <role content-type="http://credit.niso.org/">Funding Acquisition</role>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Supervision</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <xref ref-type="aff" rid="a2">2</xref>
                    <xref ref-type="aff" rid="a3">3</xref>
                </contrib>
                <contrib contrib-type="author" corresp="yes">
                    <name>
                        <surname>Walenski</surname>
                        <given-names>Matthew</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Conceptualization</role>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Supervision</role>
                    <role content-type="http://credit.niso.org/">Visualization</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-8607-1218</uri>
                    <xref ref-type="corresp" rid="c1">a</xref>
                    <xref ref-type="aff" rid="a3">3</xref>
                    <xref ref-type="aff" rid="a4">4</xref>
                </contrib>
                <aff id="a1">
                    <label>1</label>East Carolina University Department of Engineering, Greenville, North Carolina, USA</aff>
                <aff id="a2">
                    <label>2</label>East Carolina University Department of Computer Science, Greenville, North Carolina, USA</aff>
                <aff id="a3">
                    <label>3</label>Alliance for Brain Stimulation, East Carolina University, Greenville, North Carolina, USA</aff>
                <aff id="a4">
                    <label>4</label>East Carolina University Department of Communication Sciences and Disorders, Greenville, North Carolina, USA</aff>
            </contrib-group>
            <author-notes>
                <corresp id="c1">
                    <label>a</label>
                    <email xlink:href="mailto:walenskim21@ecu.edu">walenskim21@ecu.edu</email>
                </corresp>
                <fn fn-type="conflict">
                    <p>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>18</day>
                <month>7</month>
                <year>2025</year>
            </pub-date>
            <pub-date pub-type="collection">
                <year>2025</year>
            </pub-date>
            <volume>14</volume>
            <elocation-id>707</elocation-id>
            <history>
                <date date-type="accepted">
                    <day>14</day>
                    <month>7</month>
                    <year>2025</year>
                </date>
            </history>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2025 Leland M et al.</copyright-statement>
                <copyright-year>2025</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access article distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <self-uri content-type="pdf" xlink:href="https://f1000research.com/articles/14-707/pdf"/>
            <abstract>
                <p>Visualization is an important tool for the identification and interpretation of patterns in data, particularly for rich and complex multi-dimensional data sets. The event-related potential (ERP) technique presents a good challenge for data visualization. There are several commonly used methods to visualize these data sets, which each simplify this multidimensional space in different ways. Here we present a novel 3D visualization software tool (ERPin3D) that we created to allow for visualization of the spatial extent, temporal extent, and maximum values of ERP effects. The code for this novel tool is freely available, and may provide a fresh perspective on ERP effects, allowing the user to see patterns in the data that may not be as readily apparent with standard visualization techniques.</p>
            </abstract>
            <kwd-group kwd-group-type="author">
                <kwd>event-related potential</kwd>
                <kwd>data visualization</kwd>
                <kwd>matlab</kwd>
                <kwd>ERPlab</kwd>
                <kwd>3D</kwd>
            </kwd-group>
            <funding-group>
                <award-group id="fund-1">
                    <funding-source>National Science Foundation</funding-source>
                    <award-id>2050883</award-id>
                </award-group>
                <funding-statement>This research was partially supported by the NSF REU grant #2050883. The views expressed in this paper are those of the authors and do not necessarily represent the views or policies of the National Science Foundation.</funding-statement>
                <funding-statement>
                    <italic>The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.</italic>
                </funding-statement>
            </funding-group>
        </article-meta>
    </front>
    <body>
        <sec id="sec1" sec-type="intro">
            <title>Introduction</title>
            <p>Visualization is an important tool for the identification and interpretation of patterns in data, particularly for rich and complex multi-dimensional data sets. The event-related potential (ERP) technique presents a good challenge for data visualization. In this technique, an electroencephalogram is created from voltage data that is collected over time at a high sampling rate from multiple locations on the scalp, using (typically) arrays of 32, 64, 128, or even 256 electrodes. The electroencephalogram is time-locked to the presentation of stimuli from one or more conditions and averaged across trials to create event-related potentials. To compare the ERPs to different experimental conditions, difference waves are created by computing the voltage difference at each sample point. Either the ERPs from the individual conditions or from the difference waves could be visualized. Data sets therefore include the spatial coordinates for the position of each electrode on the scalp (typically in 3-D Cartesian coordinates), and the magnitude of voltage over time (&#x201c;waveforms&#x201d;), for individual stimulus conditions or their difference waves. Thus, there could be as many as five dimensions to plot: the x, y, z coordinates, voltage, and time.</p>
            <p>There are several commonly used methods to visualize these data sets, which each simplify this multidimensional space in different ways. In one method, plots of voltage (y-axis) over time (x-axis) are created for the ERPs at each electrode. These separate plots are often arranged following the topographic arrangement of the electrodes on the scalp, to provide a sense of the spatial distribution of effects. While such plots allow for the spatial and temporal extent of effects to be seen, it can still be difficult to see the extent of any effects or where they are at their maximum. Topographic scalp map plots represent voltage on a color scale, interpolated across electrodes to create a continuous heat map on a 2D projection of the scalp. In such plots, voltage from each ERP is plotted from a single time point or is the average across all the samples within a particular time window. Thus while the spatial location of an effect and the location of its maximum value are easy to see, the temporal extent of an effect can only be seen across successive images (in more or less detail, depending on how or if the successive images are averaged across time windows). Here we describe a novel 3D visualization tool (ERPin3D) to allow for visualization of the spatial extent, temporal extent, and maximum values of ERP effects. The code is offered to illustrate proof of concept but is not intended to be a fully featured implementation.</p>
        </sec>
        <sec id="sec2" sec-type="methods">
            <title>Method</title>
            <p>ERPin3D creates a virtual standardized space to contain a 3D plot, with 2 dimensions for the spatial distribution of the electrodes, and a third dimension for time. In this space, the x-axis captures the left/right direction, the y-axis the anterior/posterior direction, and the z-axis captures time. Positive x-values correspond to the right side of the scalp, negative values to the left. Positive y-values correspond to anterior scalp locations, negative value to posterior locations. We defined the extent of this standard space to be +/- 500 in each dimension in the xy-plane, and to run from -200 to 1200 along the z-axis. Any values in the data set with times outside of this range are not plotted. While the size of this space could be adjusted for visualization of different ERP effects, the creation of a standard space may facilitate comparisons of different ERP effects or of the same ERP effect from different paradigms. We include two features to help orient the viewer in the 3D space. First, we include an opaque outline of a head (with nose and ears) in the xy-plane at the specified minimum time value (by default, this is set to -200 in the code). Second, we include lines that project in the z-direction through the center of the column of voxels for each electrode. The endpoints of these lines contain the electrode label (Cz, F3, etc.).</p>
            <p>Each data point in this 3D space is represented as a voxel within the space. Each voxel is assigned a color based on its voltage amplitude (positive or negative), taking advantage of MATLAB&#x2019;s built-in color maps (which can be dynamically assigned). Each voxel is further assigned a transparency value ranging from 0 (fully transparent) to 1 (fully opaque). Voxel transparency is set by default in the code to 0.3.</p>
            <p>Each voxel is centered vertically in the z-direction at a position corresponding to the sample time. The height of the voxel is based on the difference between successive time points. This computation assumes regular sampling throughout the epoch and leaves no gaps between voxels in the z-direction. Each voxel is centered in the xy-plane on the spatial coordinates of the data point&#x2019;s electrode. The spatial extent of each voxel in the xy-plane was determined visually to give the appearance of contiguity across a standard set of 28 scalp electrodes, without overlap. This is essentially an arbitrary setting and could be adjusted in future versions of the code. For example, the voxel area could be set to a smaller fixed value, allowing for the data from smaller electrode arrays to appear sparse, and more &#x201c;filled in&#x201d; with larger numbers of electrodes. Alternatively, the voxel area could be set to vary based on the number of electrodes in the array, allowing for the appearance of contiguity with any electrode configuration. Note that while we opted not to interpolate the data to create a continuous representation, that might also be done, as for the standard topographic plots (see 
                <xref ref-type="fig" rid="f2">
Figure 2</xref> below).</p>
            <sec id="sec3">
                <title>Implementation</title>
                <p>The code starts with a block of constants that define the size of the standard space for plotting. We defined the extent of this standard space to be +/- 500 in each dimension in the xy-plane (electrode_xyplane_extent), and to run from -200 to 1200 along the z-axis (time_range). Any values in the data set with times outside of this range are not plotted. Here we also set the voxel extent in the x- and y-dimensions. For a convenient size, this is set to 75, but could be adjusted by the user as discussed above. We also set the voxel transparency here to .3.</p>
                <p>The code then asks for user input to grab the electrode_coordinate file and the data file (described in detail below). The data file is read into a cell array, which specifies the electrode labels and the data values. At this point, the extent of each voxel in the z-dimension is also determined: The height of each voxel is set as the difference of the time values for the first two data points (thus while the voxels may not appear to be continuous in the xy plane, they do appear continuous in the z-dimension).</p>
                <p>Next, the user is prompted to select a colormap from a set of choices (e.g, &#x2018;jet&#x2019;, &#x2018;hot&#x2019;, &#x2018;cold&#x2019;), and is prompted to enter voltage values to exclude. The user determines a range of voltage values that will not be plotted (e.g. -2 to 5), and any values within that range in the data will be left out of the resulting plot. Thus if the user selects a lower bound of -2 and an upper bound of 5, the code will plot all values smaller than -2 and all values larger than 5 (i.e., values relatively close to 0 will be skipped).</p>
                <p>Next the empty plot is created, and the blank head image is inserted into the space. A color scale is created using the user-selected colormap. An array for the voxel faces and the positions of the vertices of the voxels are defined. The code then loops through the data file assigning each voltage value to a voxel and assigning a color to each face of the voxel, skipping voxels that are within the range of voltage values to exclude. Once the loop is completed, the voxels are plotted and assigned their colors at the correct transparency. Finally, the colormap scale is created and added to the image.</p>
            </sec>
            <sec id="sec4">
                <title>Operation</title>
                <p>ERPin3D was created with MATLAB R2024b (version: 24.2.0.2806996; R2024b; 
                    <ext-link ext-link-type="uri" xlink:href="https://www.mathworks.com">https://www.mathworks.com</ext-link>) but runs on earlier versions of MATLAB (verified on R2022a, R2021a), and the same code is fully compatible with GNU Octave (version 9.4.0; 
                    <ext-link ext-link-type="uri" xlink:href="http://octave.org">http://octave.org</ext-link>). Our code is freely available with the MIT no attribution license (see software availability statement below).</p>
            </sec>
        </sec>
        <sec id="sec5">
            <title>Use cases</title>
            <p>To create a new plot with our code, the user needs the default head image (blank_head_ERPin3D.jpg; supplied with the code), a text file that specifies the coordinates of each electrode to be plotted (a default version of this file is supplied with the code), and a (text) data file.</p>
            <sec id="sec6">
                <title>The default head image</title>
                <p>The default head image (blank_head_ERPin3D.jpg) is a 500x500 pixel RGB image file with the outline of a head (including nose and ears) in black on a white background. It is inserted by default into the image space at z=-200 (time -200ms). The purpose of this image is to help orient the viewer in the space by making it clearer how the electrodes are positioned relative to the front and back and left and right sides of the head.</p>
            </sec>
            <sec id="sec7">
                <title>Preparing the electrode coordinate file</title>
                <p>The electrode coordinate file is a tab delimited text file that contains one column for the labels of the electrodes to be plotted (&#x201c;label&#x201d;), one column each for the 2D projected x and y coordinates (&#x201c;x&#x201d; and &#x201c;y&#x201d;), and two additional columns that scale the projected coordinates into the 3D space for the figure (&#x201c;x-scaled&#x201d; and &#x201c;y-scaled&#x201d;). The first row is a header row. The included projections are pre-computed based on the 3D coordinates of the standard position for each electrode in the International 10-5 system of electrode placement.
                    <sup>
                        <xref ref-type="bibr" rid="ref1">1</xref>
                    </sup> For the default coordinates for the 2D projection, we used the coordinates in the standard_1005_2D.tsv file from Appelhoff and Brunner (v1.2.0).
                    <sup>
                        <xref ref-type="bibr" rid="ref2">2</xref>
                    </sup> The scaled coordinates were created by multiplying each standard projected coordinate by 500. This is an arbitrary factor based on the (hard-coded) size of the image space. Electrode labels should match the labels in the data file. Any electrode in the data file that is not included in this file will not be plotted. Additional electrodes in the electrode coordinate file that are not in the data file are ignored when the code runs.</p>
            </sec>
            <sec id="sec8">
                <title>Preparing the data file</title>
                <p>The data file should be a tab delimited text file. The first column contains the electrode labels to be plotted, and the first row contains the time stamps for each data point. The total number of rows should equal the number of electrodes (plus one for the header row). The code cycles through the rows and columns in the data file and plots all data points.</p>
            </sec>
            <sec id="sec9">
                <title>Running the code</title>
                <p>When the code is executed, the user is prompted to select the electrode coordinate file and the data file. A second dialog box appears after that to allow the user to select the color space (drop down menu) and to input the upper and lower bound of the voltage values to be excluded. Once those are set, the code runs without interruption until the image is created. Note that the electrode coordinate file and data files are text files that can be created by any means as long as they meet the structure described above.</p>
            </sec>
            <sec id="sec10">
                <title>Test case</title>
                <p>As a test case, we created a plot for data eliciting an N400 effect in a standard priming task from the ERP core
                    <sup>
                        <xref ref-type="bibr" rid="ref3">3</xref>
                    </sup> (
                    <ext-link ext-link-type="uri" xlink:href="https://osf.io/thsqg/">https://osf.io/thsqg/</ext-link>). In this task, the N400 effect is seen as the voltage for primed targets (bin4) is less negative than the voltage for unprimed targets (bin3) over centro-parietal electrode positions, with the difference peaking about 400ms post-stimulus onset. This data set included 28 scalp electrodes sampled every 5ms in a 795ms epoch with a 200ms baseline (plotted from -200 to 795). Here we describe in detail how we extracted the data for plotting, as an illustrative example. To create our test image, we created a grand-averaged data file, then applied a bin operation in ERPLAB (version 12.00; 
                    <ext-link ext-link-type="uri" xlink:href="https://erpinfo.org/erplab">https://erpinfo.org/erplab</ext-link>)
                    <sup>
                        <xref ref-type="bibr" rid="ref4">4</xref>
                    </sup> in EEGLAB (v2024.2; 
                    <ext-link ext-link-type="uri" xlink:href="https://sccn.ucsd.edu/eeglab/">https://sccn.ucsd.edu/eeglab/</ext-link>)
                    <sup>
                        <xref ref-type="bibr" rid="ref5">5</xref>
                    </sup> to compute the difference wave (bin4 &#x2013; bin3) for the N400 effect. Standard ERP plots of this effect are seen in 
                    <xref ref-type="fig" rid="f1">
Figure 1</xref> (primed and unprimed conditions) and 
                    <xref ref-type="fig" rid="f2">
Figure 2</xref> (difference wave).</p>
                <fig fig-type="figure" id="f1" orientation="portrait" position="float">
                    <label>
Figure 1. </label>
                    <caption>
                        <title>A typical plot showing the voltage over time at multiple electrode positions in a topological arrangement reflecting the scalp position of each electrode.</title>
                        <p>Negative is plotted up. The plotted data shows a centroparietal N400 effect from roughly 300-500ms, with a more negative voltage for words that were unprimed (red line) vs. primed (black line). However, the location of the effect&#x2019;s maximum and its spatial extent are not too easy to discern from the image.</p>
                    </caption>
                    <graphic id="gr1" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/179628/f7dc1196-869c-4e09-8fed-cffa35fe7617_figure1.gif"/>
                </fig>
                <fig fig-type="figure" id="f2" orientation="portrait" position="float">
                    <label>
Figure 2. </label>
                    <caption>
                        <title>A heatmap plot showing the voltage of the difference wave (&#x201c;bin5&#x201d;, which is the subtraction unprimed &#x2013; primed) for an N400 effect across three successive time windows (100-300ms, 300-500ms, 500-700ms).</title>
                        <p>The spatial extent of the N400 effect and the location of its maximum difference can be clearly seen as the blue blob in the center image. However, the temporal extent of the effect is not precisely discernable from the image, as the data have been averaged across 200ms time windows.</p>
                    </caption>
                    <graphic id="gr2" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/179628/f7dc1196-869c-4e09-8fed-cffa35fe7617_figure2.gif"/>
                </fig>
                <p>For our ERPin3D plot, we exported the ERP for the difference wave (bin5). To export the data, we used the &#x201c;Export ERP to text (universal)&#x201d; option in the &#x201c;Export and Import ERP&#x201d; section of the ERPLAB menu. We chose our newly created bin5 to export, named the file, selected the option to include time values (in milliseconds), the option to include electrode labels, and in the Transpose data section, we chose the option to have the electrodes in rows and points in columns. We kept the default numeric precision value of 4 (changing this value might make small differences in the color values but otherwise has no impact on the plot).</p>
                <p>
                    <xref ref-type="fig" rid="f3">
Figure 3a</xref> and 
                    <xref ref-type="fig" rid="f3">3b</xref> illustrate the initial plot for the N400 effect from 2 different angles (created by taking screenshots of the generated plot after rotating it by mouse in matlab). We chose the &#x2018;jet&#x2019; color map, corresponding to the magnitude of the voltage at that voxel. Though this plot shows all of the data, it is difficult to see the N400 effect &#x2013; it&#x2019;s buried in the middle of the figure, surrounded by other voxels. To improve visibility, we include a feature to allow the user to select a range of voltage values to exclude. The exclusion settings can be guesstimated based on other plots or by rerunning the code with different values until the desired visualization is achieved, but could be determined more objectively in future versions based on data quality measures, effect size measures, or other statistical information about the effect. In 
                    <xref ref-type="fig" rid="f3">
Figure 3c</xref> and 
                    <xref ref-type="fig" rid="f3">3d</xref> we show the same effect from the same 2 angles, removing voltages from -4 (lower range of data values to exclude) to 500 (arbitrarily large value for the upper range of data values to exclude), avoiding all positive voltage values in the data, and removing relatively small negative values close to zero. With these changes, the time course and spatial extent of the N400 effect can be more clearly seen.</p>
                <fig fig-type="figure" id="f3" orientation="portrait" position="float">
                    <label>
Figure 3. </label>
                    <caption>
                        <title>Visualization of an N400 effect with centroparietal scalp distribution.</title>
                        <p>The N400 data is shown first from the default left posterior vantage point (A) and a rotated central posterior vantage point (B). Transparency of each voxel was set at 0.3, but no voxels were excluded from this initial view. In the images in the bottom row, voxels with voltage values between -4&#x03bc;V and 500&#x03bc;V were excluded, leaving only the blue voxels corresponding to the effect, seen from the same default vantage point (C) and rotated vantage point (D) of the images in the top row. With the extraneous voxels removed the spatial extent, temporal extent, and voltage intensity of the N400 effect can all be seen clearly, and particularly so when the image is live in MATLAB and can be rotated by clicking and dragging within the image.</p>
                    </caption>
                    <graphic id="gr3" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/179628/f7dc1196-869c-4e09-8fed-cffa35fe7617_figure3.gif"/>
                </fig>
            </sec>
        </sec>
        <sec id="sec11" sec-type="discussion">
            <title>Discussion</title>
            <p>This novel method to visualize ERP components in a standardized three dimensional space is adaptable across different systems, electrode configurations and elicitation paradigms, and flexibly allows the user to visualize aspects of the data that may not be as readily apparent with standard visualization techniques.</p>
        </sec>
        <sec id="sec12">
            <title>Software availability</title>
            <p>Source code for the ERPin3D tool is available from: 
                <ext-link ext-link-type="uri" xlink:href="https://github.com/walenskim21/ERPin3D">https://github.com/walenskim21/ERPin3D</ext-link>.</p>
            <p>Archived source code at time of publication: 
                <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5281/zenodo.15397552">https://doi.org/10.5281/zenodo.15397552</ext-link>.
                <sup>
                    <xref ref-type="bibr" rid="ref6">6</xref>
                </sup>
            </p>
            <p>Licenses: MIT no attribution.</p>
        </sec>
    </body>
    <back>
        <sec id="sec15" sec-type="data-availability">
            <title>Data availability</title>
            <p>No new data are associated with this article.</p>
        </sec>
        <ref-list>
            <title>References</title>
            <ref id="ref1">
                <label>1</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Oostenveld</surname>
                            <given-names>R</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Praamstra</surname>
                            <given-names>P</given-names>
                        </name>
</person-group>:
                    <article-title>The five percent electrode system for high-resolution EEG and ERP measurements.</article-title>
                    <source>

                        <italic toggle="yes">Clin. Neurophysiol.</italic>
</source>
                    <year>2001 Apr 1</year>;<volume>112</volume>(<issue>4</issue>):<fpage>713</fpage>&#x2013;<lpage>719</lpage>.
                    <pub-id pub-id-type="pmid">11275545</pub-id>
                    <pub-id pub-id-type="doi">10.1016/S1388-2457(00)00527-7</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref2">
                <label>2</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Appelhoff</surname>
                            <given-names>S</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Brunner</surname>
                            <given-names>C</given-names>
                        </name>
</person-group>:
                    <article-title>eeg_positions &#x2013; compute and plot standard EEG electrode positions.</article-title>
                    <year>2025 [cited 2025 May 29]</year>.
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/sappelhoff/eeg_positions">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref3">
                <label>3</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Luck</surname>
                            <given-names>SJ</given-names>
                        </name>
</person-group>:
                    <article-title>Applied Event-Related Potential Data Analysis.</article-title>
                    <source>

                        <italic toggle="yes">LibreTexts.</italic>
</source>
                    <pub-id pub-id-type="doi">10.18115/D5QG92</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref4">
                <label>4</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Lopez-Calderon</surname>
                            <given-names>J</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Luck</surname>
                            <given-names>SJ</given-names>
                        </name>
</person-group>:
                    <article-title>ERPLAB: an open-source toolbox for the analysis of event-related potentials.</article-title>
                    <source>

                        <italic toggle="yes">Front. Hum. Neurosci.</italic>
</source>
                    <year>2014 Apr 14 [cited 2025 May 29]</year>;<volume>8</volume>.
                    <pub-id pub-id-type="pmid">24782741</pub-id>
                    <pub-id pub-id-type="doi">10.3389/fnhum.2014.00213/full</pub-id>
                    <pub-id pub-id-type="pmcid">PMC3995046</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref5">
                <label>5</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Delorme</surname>
                            <given-names>A</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Makeig</surname>
                            <given-names>S</given-names>
                        </name>
</person-group>:
                    <article-title>EEGLAB: an open source toolbox for analysis of single-trial EEG dynamics including independent component analysis.</article-title>
                    <source>

                        <italic toggle="yes">J. Neurosci. Methods.</italic>
</source>
                    <year>2004 Mar 15</year>;<volume>134</volume>(<issue>1</issue>):<fpage>9</fpage>&#x2013;<lpage>21</lpage>.
                    <pub-id pub-id-type="pmid">15102499</pub-id>
                    <pub-id pub-id-type="doi">10.1016/j.jneumeth.2003.10.009</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref6">
                <label>6</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Leland</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Grider</surname>
                            <given-names>G</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Dannhauer</surname>
                            <given-names>M</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>ERPin3D (1.0.3).</article-title>
                    <source>

                        <italic toggle="yes">Zenodo.</italic>
</source>
                    <year>2025 Mar 13</year>.
                    <pub-id pub-id-type="doi">10.5281/zenodo.15397552</pub-id>
                </mixed-citation>
            </ref>
        </ref-list>
    </back>
    <sub-article article-type="reviewer-report" id="report401556">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.179628.r401556</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Aerts</surname>
                        <given-names>Jan</given-names>
                    </name>
                    <xref ref-type="aff" rid="r401556a1">1</xref>
                    <role>Referee</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-6416-2717</uri>
                </contrib>
                <aff id="r401556a1">
                    <label>1</label>KU Leuven, Leuven, Belgium</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>23</day>
                <month>8</month>
                <year>2025</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2025 Aerts J</copyright-statement>
                <copyright-year>2025</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport401556" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.163302.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>reject</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>In this manuscript, Leland et al describe a matlab software tool to create plots of ERP data that consists of 5 dimensions: 3D spatial information, time, and voltage.</p>
            <p> </p>
            <p> Unfortunately, the current version has different issues: 
                <list list-type="bullet">
                    <list-item>
                        <p>There are only 6 references for the manuscript. Even though this is a software tool manuscript, which is extremely low. A broader inclusion of prior art and best practices should be included. This lack is also reflected in some of the choices taken in the visual encoding (see below). One paper that should definitely have been included is Bach's "Review of Temporal Data Visualizations Based on Space-Time Cube Operations" as it can provide a scaffold to think about visualizing the ERP data.</p>
                    </list-item>
                    <list-item>
                        <p>Although the data includes x-, y- and z-coordinates (3D space), only x (left/right) and y (anterior/posterior) are used in the visual. What happened with the z-coordinate? Is it just omitted? Could/should it be incorporated using a dimensionality reduction method?</p>
                    </list-item>
                    <list-item>
                        <p>The time axis starts at -200. Is that because the signal depends on a stimulus that starts at 0? Similarly, it arbitrarily is cut off at 1200. What happens with signals that are slower?</p>
                    </list-item>
                    <list-item>
                        <p>There are several major issues with the visual encoding: 
                            <list list-type="bullet">
                                <list-item>
                                    <p>The proposed colour scales (especially jet) are well-known to be perceptually not uniform: equal changes in the value that is encoded are not reflected in equal changes in colour perception, leading to dark and bright stripes.</p>
                                </list-item>
                                <list-item>
                                    <p>3D visualizations are well-known to have issues with interpretation, occlusion, perceptive distortion, etc. This is very clear in figure 3 where only some of the labels are visible.</p>
                                </list-item>
                                <list-item>
                                    <p>The authors attempt to partly circumvent the issue of occlusion of the data by using transparency in the voxels. However, this will obviously change the colour that that voxel appears to have (if there are a lot of dark voxels behind a light voxel, the latter will appear darker) leading to misrepresentation.</p>
                                </list-item>
                            </list> </p>
                    </list-item>
                    <list-item>
                        <p>Based on this manuscript, it is not possible to assess if the user actually gets value out of the tool. What types of signals are visible that are not visible using other tools? What tasks are easier to be performed with this tool that were not possible before? What tasks should the tool&#x00a0;
                            <italic>not</italic>&#x00a0;be used for?</p>
                    </list-item>
                </list> In conclusion: 
                <list list-type="bullet">
                    <list-item>
                        <p>The&#x00a0;rationale for developing the new software tool is not clearly explained, with a very limited overview of existing methods.</p>
                    </list-item>
                    <list-item>
                        <p>The software tool is not technically sound (i.e. does not adhere to technical standards) because there are different issues with the visual encoding. The authors make no attempt to describe why this visualization would work, or why they made certain design choices.</p>
                    </list-item>
                    <list-item>
                        <p>The code is available on github.</p>
                    </list-item>
                    <list-item>
                        <p>Conclusions about the tool and its performance are missing: there is no indication if the tool actually does what it should do, which is provide the user with insights.</p>
                    </list-item>
                </list>
            </p>
            <p>Are the conclusions about the tool and its performance adequately supported by the findings presented in the article?</p>
            <p>No</p>
            <p>Is the rationale for developing the new software tool clearly explained?</p>
            <p>No</p>
            <p>Is the description of the software tool technically sound?</p>
            <p>No</p>
            <p>Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others?</p>
            <p>Yes</p>
            <p>Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool?</p>
            <p>Yes</p>
            <p>Reviewer Expertise:</p>
            <p>data visualisation in biology/life sciences, data analytics, machine learning</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to state that I do not consider it to be of an acceptable scientific standard, for reasons outlined above.</p>
        </body>
    </sub-article>
</article>
