MIN1PIPE and the Miniscope Processing Suite (MPS): Source-Verified Technical Review
Reviewed on 16 July 2026 against the MIN1PIPE paper and current public repository, the MPS eLife Reviewed Preprint and public peer review, the current MPS repository, and the MPS installer documentation.
Executive assessment
MIN1PIPE and the Miniscope Processing Suite (MPS) address the same broad problem: converting difficult one-photon miniscope video into spatial components and temporal activity estimates. They are not equivalent implementations of one pipeline.
MIN1PIPE was designed as an algorithm-centered, largely automatic analysis chain. In the 2018 paper, its defining sequence was neural enhancement, hierarchical KLT/LogDemons motion correction, overcomplete seed generation, GMM and recurrent-neural-network seed cleansing, and modified CNMF.[^1]MPS is a newer workflow and systems platform. Its graphical pipeline exposes preprocessing, motion handling, cropping, NNDSVD initialization, watershed detection, temporal optimization, local LASSO spatial refinement, repeated quality control, checkpointing, and export.[^2]
That historical contrast remains useful, but it needs two important qualifications.
First, the published MIN1PIPE architecture and the current public MATLAB execution path are not identical. The currentpix_select.mstill contains the LSTM-loading block, but the entire block is commented out. The automatic path therefore appears to use GMM, intensity, shape, normality, skewness, masking, and merging filters without executing the paper's LSTM classifier.[^3]The same source labels seed generation as randomized, but the visible loop processes consecutive temporal blocks rather than a randomized frame order.[^3]
Second, MPS is evolving more quickly than its Reviewed Preprint. The current repository contains stages and implementation details that may postdate the analyses reported in the paper. Results from the preprint should therefore be attributed to the paper-era software, while claims about current operation should be tied to a commit or repository snapshot.
The evidence supports a balanced conclusion:
-MIN1PIPE has the stronger historical source-extraction validation study, including controlled simulations and comparisons with methods available in 2018.
-MPS has the stronger current demonstration of end-to-end processing at multi-hour, multi-terabyte scale and the more accessible standard workflow.
-No published, same-data, known-truth comparison establishes which system currently recovers neurons more accurately.
MPS should not be described as a proven accuracy replacement for MIN1PIPE. MIN1PIPE should not be treated as the stronger present-day platform merely because its original validation was more extensive. The two systems are strongest in different dimensions.
1. What is actually being compared
| Dimension | MIN1PIPE | MPS |
|---|---|---|
| Primary publication | Cell Reports, 2018 | eLife Reviewed Preprint v1, 10 March 2026; listed as not revised when reviewed |
| Main implementation | MATLAB | Python application with a graphical interface |
| Main design emphasis | Automatic one-photon enhancement, motion correction, candidate selection, and source extraction | Inspectable, restartable processing of long one-photon recordings |
| Published candidate strategy | Overcomplete seeds, GMM, RNN/LSTM, then modified CNMF | NNDSVD-derived factors, watershed candidates, merging, temporal and spatial refinement |
| Current candidate strategy | GMM plus deterministic intensity, shape, temporal-statistics, masking, and merge filters; current LSTM call is commented out | Current GUI includes watershed, merging, filtering, and an artifact-quarantine stage |
| Motion approach | Hierarchical KLT tracking and LogDemons deformation registration | Standard GUI path uses recursive phase-correlation motion estimation and frame rejection; lower-level utilities also contain B-spline support |
| Spatial refinement | Modified CNMF and subsequent iterative refinement | Local multi-penalty non-negative LASSO refinement |
| User experience | MATLAB workflow with optional manual seeding and post-processing | Windows installer and signed/notarized macOS builds, plus graphical stages, previews, logs, checkpoints, parameter files, automation, and Data Explorer; first-time setup currently requires Git and Anaconda/Miniforge |
| Demonstrated scale | Chunking and memory mapping, but limited modern large-data evidence | 28 sessions, 77 hours, and 7.26 TB processed in 55.6 hours on the reported workstation[^4] |
| License | GPL-3.0[^5] | Analysis repository:Apache-2.0; installer repository:AGPL-3.0. The installer site currently labels the download Apache-2.0, so the project should clarify the relationship between these licenses.[^6][^23] |
The table deliberately separates the paper-era MIN1PIPE design from current public code. That distinction is essential for reproducibility.
2. MIN1PIPE: the published method and the current code
Published architecture
The 2018 paper divided MIN1PIPE into three major modules:
1.neural enhancement using anisotropic diffusion and morphological background removal;
2.hierarchical movement correction using KLT tracking and LogDemons registration;
3.seed-cleansed signal extraction using an overcomplete candidate set, GMM filtering, an RNN with an LSTM module, and modified CNMF.[^1]
This was a coherent response to the one-photon imaging problem. Strong, fluctuating background, deformation, overlapping sources, and sensor noise were treated as part of the source-extraction problem rather than as minor preprocessing details.
Current seed generation is not visibly randomized
The currentpix_select.msetsniter = 50, divides the movie into consecutive temporal blocks, produces regional maxima from each block, and supplements those candidates with a maximum projection over the recording. The code and console message continue to call this randomized seed initialization, but no random frame permutation is visible in that function.[^3]
The defensible wording is therefore:
>The paper used randomized temporal subsets to create an overcomplete seed population. The current publicpix_select.muses multiple consecutive temporal subprojections plus a global maximum projection, despite retaining randomized terminology.
That difference may or may not materially alter performance, but it should not be hidden in a technical review.
The current automatic path does not appear to run the LSTM
After GMM filtering, currentpix_select.mapplies additional criteria that are easy to miss in high-level descriptions:
-a robust intensity-range threshold;
-another maximum-intensity filter;
-correlation with a Gaussian-shaped spatial template;
-rejection of traces that do not depart from a normal distribution under the implemented K-S test;
-a positive-skewness requirement;
-seed merging and field masking.[^3]
The source then reaches a section labeledrnn classifier, but the model load, classifier call, and subsequent filtering are commented out.[^3]The repository still includes the LSTM model and training utilities, and the README still presents the LSTM as a core feature.[^7]Those facts do not show that the unmodified current automatic path actually executes it.
A methods section should therefore report one of the following explicitly:
-paper-era MIN1PIPE with the RNN/LSTM enabled;
-current public master with the classifier block disabled;
-a laboratory-modified version with the classifier restored or replaced.
The exact model file should also be archived when a learned classifier is used.
The current workflow is more iterative than the paper diagram suggests
Currentmin1pipe.mperforms dead-pixel removal, downsampling, neural enhancement, noise suppression, either hierarchical motion correction orframe_stab, a second noise-suppression pass, dominant-field masking, iterative candidate selection, ROI merging, spatial refinement, background updating, AR(2) temporal refinement, final component filtering, trace cleaning, constrained deconvolution, and a custom dF/F calculation.[^8]
Two details deserve emphasis.
First,ismc = falsedoes not leave the movie completely untouched. The current code callsframe_stab, described in the source as spatiotemporal stabilization.[^8]
Second,spkfnis an inferred activity estimate produced from calcium fluorescence, not a direct spike recording. The README calls it an inferred spike train, but scientific reporting should use language such as deconvolved or model-estimated activity unless independent electrophysiology supports a stronger interpretation.[^7]
The current dF/F calculation is also implementation-specific. It uses processed traces, image normalization, LogDemons-based alignment of an estimated background image, and a custom baseline calculation.[^8]Analyses using this output should report the exact commit and formula rather than assume it is interchangeable with every other dF/F definition.
3. MPS: current workflow and implementation boundaries
A broad, visible workflow
MPS exposes a long sequence of processing decisions through its GUI. The current installer documentation summarizes the path as preprocessing, motion correction, NNDSVD initialization, watershed segmentation, merging, temporal extraction, noise estimation, temporal update, LASSO spatial update, another temporal update, quality control, and export.[^2]
The currentstep_config.jsonalso includes a dedicatedStep4hArtifactRejectionstage in the standard step list.[^9]This is useful because suspicious components can be quarantined rather than immediately erased. It should, however, be described as current repository functionality unless the paper confirms that the same stage and version were used for every reported analysis.
Motion correction: standard GUI path versus lower-level capability
The MPS README says that Step 2c uses recursive phase-correlation estimation and that Step 2d identifies frames with excessive motion.[^10]The current Step 2c GUI source callsestimate_motion(..., dim=step2c_dim)without passing a mesh size.[^11]
The lower-level motion utility does contain B-spline support whenmesh_sizeis supplied, and the README later advertises mesh-based non-rigid correction.[^12]That creates an important distinction:
-non-rigid B-spline functionality exists in the utility layer;
-the standard Step 2c GUI/configuration path inspected here does not clearly expose the required mesh parameter.
MPS should therefore not be described as having a clearly verified, standard GUI non-rigid workflow equivalent to MIN1PIPE's published LogDemons path. The better statement is that the standard GUI path is translation-based phase correlation with frame rejection, while a lower-level B-spline route exists but is not clearly connected to the ordinary Step 2c controls.
Frame rejection is operationally valuable, but it also creates a possible behavioral bias. If large movement occurs preferentially during a particular behavior, removing those frames can selectively remove the biological period of interest. Reports should include the rejection rule, threshold, frame indices, and distribution of rejected frames across behavioral conditions.
NNDSVD is not fully out-of-core
MPS makes substantial use of Dask, Zarr, chunking, and local spatial regions. Nevertheless, the current NNDSVD stage explicitly allocates an in-memoryfloat32array with shape(n_frames_svd, n_pixels)and fills it from chunks before decomposition.[^13]
This does not invalidate the architecture. Cropping and frame subsampling can make the matrix manageable. It does mean that claims such as fully memory-bounded, uniformly out-of-core, or able to scale indefinitely without large RAM should be avoided.
The more accurate description is:
>MPS is a memory-aware, chunked, checkpointable system with several out-of-core mechanisms, but some stages still materialize large dense arrays.
Temporal outputs need cautious terminology
MPS documentation usesYrAdifferently at different stages. Step 6 describes it as a raw projection of the movie onto spatial footprints. Step 8 describes it as residual activity after accounting for other components and background.[^14]These may be legitimate stage-specific arrays, but a paper should identify whichYrAwas analyzed.
TheSoutput is similarly easy to overinterpret. It is produced by an autoregressive and sparsity-constrained temporal model. It should be called deconvolved activity or an inferred event estimate, not a measured spike train.
The README also says AR(2) permits more nonlinear dynamics. That wording is mathematically inaccurate. An AR(2) model remains linear in its autoregressive coefficients. It has two lag terms and can represent a richer linear impulse shape than AR(1), but it does not become a nonlinear dynamical model merely because its order is two.[^14]
The LASSO documentation contradicts itself
The Step 7d documentation says lower penalty values produce sparser solutions and higher values produce denser ones. Step 7e says higher penalties yield more compact footprints.[^15]
The source resolves the main direction. It implements a non-negative L1 objective in whichalphamultiplies the L1 penalty, so increasingalphaincreases shrinkage. It also solves a range of penalties and combines the resulting coefficients using inverse-residual weights.[^16]
Consequently, MPS does not simply choose one penalty and return its footprint. A reproducible report should preserve:
-the complete penalty range;
-number of penalty values;
-normalization method;
-code commit;
-coefficient-combination rule;
-subsequent thresholding, smoothing, overlap handling, and merging.
Identical parameters do not guarantee absolute biological comparability
MPS normalizes spatial and temporal quantities at several points, and its documentation recommends temporal normalization in standard use.[^14]Even with identical parameter files, fluorescence amplitudes can differ because of expression level, excitation, gain, focus, background, optical path, footprint scaling, preprocessing, and solver normalization.
Identical MPS settings improve procedural consistency. They do not by themselves place animals or sessions on a universally comparable absolute fluorescence or activity scale. Cross-session amplitude claims require explicit calibration or a scientifically justified normalization strategy.
4. Scalability and performance evidence
MPS has strong absolute throughput evidence
The MPS paper reports processing 28 operant-behavior sessions totaling 77 hours and 7.26 TB in 55.6 hours, or approximately 0.72 minutes of processing per recorded minute.[^4]That is meaningful evidence that the system can complete large analyses on one suitably provisioned workstation.
It does not establish that every laboratory will see the same throughput. Runtime depends on field size, frame rate, duration, crop size, component count, storage, preprocessing, worker configuration, memory, and operator decisions.
The review should also keep the absolute result separate from the paper's 10- to 20-fold speed claim. Public eLife review questioned the absence of an identical-data, identical-hardware comparison against named alternatives.[^17]The 55.6-hour measurement is evidence. The general multiplier is not yet a controlled head-to-head result.
The reported hardware was not minimal
The paper's workstation was high-end, and the repository documentation recommends substantial memory for large data. The README states that motion correction may use roughly three times the video size in RAM, lists 32 GB as a minimum, 64 GB or more as recommended, and 128 GB or more for large datasets.[^10]
There is also a current configuration inconsistency. The main README describes Step 1 defaults of eight workers and a 200 GB memory limit, while the Step 6d GUI source initializes a field labeled memory limit per worker to 500 GB.[^10][^18]Users should inspect the actual Dask configuration rather than assume that the visible defaults are internally consistent or suitable for their machine.
MIN1PIPE improved its memory handling but remains resource-heavy
MIN1PIPE added memory detection, chunk processing, fast I/O, and memory mapping. Its README still recommends available memory of roughly four times the downsampled session size and sufficient local disk capacity.[^7]
This is a meaningful improvement over requiring the complete raw session in RAM, but it is not comparable to a contemporary, measured multi-terabyte MPS workflow. MPS has the stronger current scale demonstration, subject to the hardware and dense-stage qualifications above.
5. Scientific validation
MIN1PIPE
The 2018 MIN1PIPE study used 16 synthetic movies, each with 3,000 frames and 100 simulated neurons, across signal levels from 0.05 to 0.8. It compared MIN1PIPE with PCA/ICA, conventional CNMF, and the then-current CNMF-E implementation.[^1]
The paper reported that MIN1PIPE and CNMF-E generally outperformed PCA/ICA and standard CNMF under the tested one-photon conditions, and that MIN1PIPE achieved the strongest F1 score across a broad range of tested signal levels. The paper's examples at signal levels 0.2 and 0.8 showed approximately 99% and 100% true-positive recovery with no false positives in those particular simulations.[^1]
These are meaningful historical results. They are not universal error rates, and they do not establish superiority over current software. The simulations embodied the authors' source, calcium, background, and matching assumptions. Competitor implementations were those available in 2018. Most importantly for this review, the published validation describes the paper-era RNN/LSTM architecture, whereas the current public automatic path appears to have that block disabled.
MIN1PIPE therefore has a strong historical validation record, but the exact current code path needs revalidation if it is materially different from the published method.
MPS
MPS's strongest published evidence concerns successful completion of a large workflow, stage behavior, and scalability. The paper documents the full processing chain and the multi-hour dataset. eLife assessed the contribution as valuable and the evidence as solid, while public reviewers identified the absence of a direct, controlled source-extraction comparison as a central limitation.[^17]
Reported component-count reductions show that later stages strongly shape the final population. They do not prove that every removed component was a false positive. Without source truth, a rejected component may be an artifact, duplicate, poor fit, weak genuine neuron, or biologically atypical source.
The supported claim is:
>MPS completed its reported end-to-end analysis on a large, controlled dataset with practical checkpoints and a graphical workflow.
The unsupported stronger claim is:
>MPS is more accurate than MIN1PIPE, CaImAn/CNMF-E, MiniAn, Suite2p, or other current pipelines across laboratories and recording conditions.
No direct winner
A decisive comparison would need the same recordings, known or independently curated truth, fixed software snapshots, controlled hardware, clearly specified manual intervention, and common matching rules. Until such a study exists, categorical source-recovery rankings are not justified.
6. Quality control and operator involvement
MIN1PIPE is often described as automatic, and its README says ordinary use requires only selecting the data. It nevertheless includes manual seed selection and post-processing removal of components.[^7]Those options are valuable for difficult sessions, but every manual intervention should be preserved as part of the analysis record.
MPS makes operator review more central. It provides previews, parameter suggestions, saved parameters, logs, checkpoint loading, automation, and a Data Explorer.[^2]This is a genuine engineering advantage for long analyses. It does not make the workflow objective or expertise-free.
A no-code interface removes the requirement to write Python. It does not remove the need to understand:
-whether motion correction preserved cellular structure;
-whether rejected frames are behaviorally biased;
-whether candidate detection is over- or under-seeded;
-whether temporal sparsity settings suppress weak events;
-whether spatial penalties fragment or merge sources;
-whether component rejection is scientifically defensible.
The best use of the GUI is as an auditable decision surface, not as a guarantee that default settings are correct.
7. Software maturity, packaging, and reproducibility
MIN1PIPE
GitHub lists v3.1 as the current working release and v4.0.1 as a beta release; the latest tagged release is from March 2022. The latest public master commit shown during this review wase6449b5from July 2022.[^19]
The MATLAB implementation requires a large toolbox stack, modified CNMF, and CVX.[^7]Current initialization code also attempts to download a platform-specific CVX archive over plain HTTP when CVX is absent, without a visible checksum in that code path.[^8]For a scientific installation, a verified CVX package should be installed separately and its version recorded.
MIN1PIPE saves parameters and outputs, but exact reconstruction also requires the MATLAB version, toolbox versions, CVX version, source commit, input hashes, classifier state, video decoding details, and manual edits.
MPS
The installer site identifies MPS as version 1.0.0 and provides a Windows installer plus signed and notarized macOS builds.[^2]The same page currently instructs users to install Git and Anaconda or Miniforge and runconda initbefore using the launcher.[^23]In other words, no-code accurately describes the normal analysis workflow after setup; it does not mean prerequisite-free installation. The repository includes exact platform lockfiles and provisions a Python 3.8 environment.[^10]That is better than an unpinned dependency set, but Python 3.8 is now an aging base for long-term maintenance.
The analysis repository had no formal GitHub releases at the review date, even though the application and installer use the 1.0.0 label.[^20]At the same time, the main branch remained active through July 2026.[^21]A methods section should therefore report a Git commit, not only MPS 1.0.0. Licensing is also split across repositories: the analysis code carries Apache-2.0, while the separate installer repository contains AGPL-3.0 even though the installer webpage labels the download Apache-2.0.[^6][^23]This is a documentation inconsistency the project should clarify; the review does not attempt to provide legal interpretation.
The README documents a Step 4b workaround involving stale watershed settings, and the repository showed an open Step 8c issue at the review date.[^10][^22]These do not invalidate the software. They do reinforce the need to preserve logs, inspect intermediate results, and avoid treating the version label as proof of error-free operation.
8. Which system is the more defensible starting point?
| Primary need | More defensible starting point | Reason |
|---|---|---|
| Multi-hour recordings with checkpointing and visual stage review | MPS | This is the central design and published scale use case |
| Standard no-code workflow on supported Windows or macOS systems | MPS | A graphical pipeline, Windows installer, and signed/notarized macOS builds are available; setup still requires documented prerequisites |
| Reproducing an existing MIN1PIPE analysis | MIN1PIPE | Method and software continuity may matter more than migration |
| Studying the published GMM/RNN seed-cleansing architecture | Paper-era or explicitly modified MIN1PIPE | The paper used the RNN, but the current public automatic call is commented out |
| Published hierarchical KLT/LogDemons motion architecture | MIN1PIPE | The paper and repository document this approach clearly |
| Transparent checkpoints and final exploratory review | MPS | These are core interface features |
| Lowest verified source-extraction error | Not established | No modern common-ground-truth comparison answers this |
| Limited-memory hardware | Pilot test required | Both have memory-heavy stages; MPS's published workstation was substantial |
For a new laboratory, MPS is generally the more practical platform to evaluate first when long recordings, GUI operation, and restartability are dominant requirements. MIN1PIPE remains relevant for reproducing prior work, studying its historically important architecture, or using its published motion strategy.
A laboratory should still pilot either system on representative data, inspect intermediate products, record runtime and memory, and compare the resulting components with expert review and any available ground truth.
9. Minimum reporting checklist
A reproducible MIN1PIPE report should include:
-exact version and Git commit;
-whether the paper-era LSTM block was enabled;
-classifier weights or model hash if used;
-MATLAB, toolbox, and CVX versions;
-input file list, order, codec, and hashes;
-spatial and temporal downsampling;
-se,spatialr, motion settings, and seed mode;
-whether hierarchical motion correction orframe_stabran;
-all CNMF, refinement, deconvolution, and dF/F settings;
-removed components and manual seed decisions.
A reproducible MPS report should include:
-exact Git commit and installer/environment identity;
-input file list, order, frame rate, and hashes;
-crop and mask geometry;
-all preprocessing methods and parameters;
-motion reference, thresholds, rejected frames, and whether any lower-level mesh path was used;
-NNDSVD frame fraction, component count, random state, and dense-matrix dimensions;
-watershed, merge, artifact-quarantine, and filtering settings;
-the stage-specific definition ofYrAused;
-temporal AR order, sparsity, thresholding, chunk overlap, and normalization;
-complete LASSO penalty range and combination behavior;
-Dask workers, threads, actual memory limits, solver versions, and hardware;
-all merged, rejected, quarantined, and manually curated components.
Overall conclusion
MIN1PIPE remains an important algorithmic contribution. It demonstrated that one-photon source extraction benefits from modality-specific enhancement, hierarchical motion correction, high-recall candidate generation, temporal candidate validation, and informed CNMF initialization. Its 2018 evidence remains meaningful, but a current technical description must not assume that the present public code still executes every paper-era stage.
MPS represents a newer workflow generation. Its strongest contribution is not one isolated algorithm, but the assembly of a visible, checkpointable, large-recording pipeline around NNDSVD initialization, watershed detection, temporal optimization, local LASSO spatial refinement, repeated quality control, and graphical review. Its published evidence is strongest for workflow completion and scale, not comparative neuronal-recovery accuracy.
The most defensible judgment is:
>MIN1PIPE has the stronger historical algorithm-validation record. MPS has the stronger contemporary workflow and large-recording platform. No current evidence establishes a universal winner for neuronal source-recovery accuracy.
References
[^1]: Lu J, Li C, Singh-Alvarado J, et al.MIN1PIPE: A Miniscope 1-Photon-Based Calcium Imaging Signal Extraction Pipeline.Cell Reports. 2018;23:3673-3684.
[^2]:MPS installer and current pipeline overviewandMPS current README.
[^3]:MIN1PIPE current pix_select.m, especially the consecutive frame-block loop and commented RNN classifier block.
[^4]: Peden-Asarch A, Weinstock M, Coffey KR, Neumaier JF.Miniscope Processing Suite: An Intuitive, No-Code, Scalable Pipeline for Long-Duration Calcium Imaging. eLife Reviewed Preprint v1, 10 March 2026.
[^5]:MIN1PIPE GPL-3.0 license.
[^6]:MPS Apache-2.0 license.
[^7]:MIN1PIPE official README.
[^8]:MIN1PIPE current min1pipe.m.
[^9]:MPS current step_config.json.
[^10]:MPS current README and pipeline walkthrough.
[^11]:MPS current Step 2c GUI source.
[^12]:MPS motion-correction utility.
[^13]:MPS current NNDSVD implementation.
[^14]:MPS README, Steps 6 and 8.
[^15]:MPS README, Steps 7d and 7e.
[^16]:MPS current spatial-update utility.
[^17]:MPS eLife public peer reviews and author response.
[^18]:MPS current Step 6d source.
[^19]:MIN1PIPE releasesandreviewed master commit e6449b5.
[^20]:MPS GitHub releases page.
[^21]:MPS main-branch commit historyandreviewed commit d93c0be.
[^22]:MPS GitHub issues.
[^23]:MPS installation prerequisites and installer-site license statementandMPS installer repository AGPL-3.0 license.