You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added a napari Custom tab for built-in and local Python workflows.
Added a native Direction selectivity workflow with recording epoch dropdowns, metric window controls, optional response rectification, an absolute-DSI plot threshold, and a direct ROI DSI table preview.
Added versioned workflow metadata for custom outputs, including workflow id, version, source path, source hash, twopy version, parameters, and recording path.
Added a stable twopy.custom API for workflow parameters, recording metadata, ROI selection, response metrics, tables, plots, output paths, and response plot data.
Added a reference custom workflow example that shows every supported parameter and result type.
Added all/visible epoch selection to the native Response kernels Custom-tab workflow.
Added native random-noise response kernel fitting with a stimulus-mode dropdown for olfactory antenna activation or visual contrast, automatic default stimulus-column selection, metadata-driven hemisphere mapping for olfaction, one kernel per unique epoch name, modality-specific CSV outputs, and a packaged napari Custom-tab workflow.
Added database search favorites in the napari Load-tab search window, with Save favorite, Use, and Remove actions backed by a machine-local YAML file.
Added a thin epoch-span marker to napari response plots and exported response figures.
Changes
Show converted recording hemisphere in the napari Metadata tab.
Added a Load-tab Reconvert selected action that confirms and rebuilds the selected recording's converted HDF5 files in place.
Routed napari manual, CSV-list, and database recording loads through one shared Load-tab workflow with consistent load-failure wording.
Unified napari response preview, live update, and Save Analysis handling around one ROI analysis request so plotted previews and saved outputs use the same ROI masks and Plot-tab settings.
Let custom line plots set their y-axis label, and label native response-kernel plots as Weight.
Made the native Response kernels baseline epoch use the recording epoch dropdown and gray/interleave default instead of a numeric spinbox.
Moved manual Group Matching ROI match-table mutation rules into GUI-independent analysis helpers while keeping the napari view focused on rendering and interaction wiring.
Added Group Matching FOV select-all controls, shared italic placeholder styling, and ROI preview plot-size, smoothing, and mean-plus-SEM response rows.
Added a shared finite_mean_and_sem API so response plots, CSV exports, custom workflows, and group-matching previews use the same sample-SEM convention.
Made native response-kernel workflows plot mean +/- SEM summary traces with filled SEM bands using the shared SEM helper.
Made custom ROI-labeled line plots, including native response-kernel traces, use the current napari ROI colors automatically.
Routed native response timing through one audited recording-timing boundary that prefers classified photodiode boundary evidence and keeps interpolation as the non-boundary-flash fallback.
Replaced the single configured data root with ordered data_paths, using the first available recording path for database loads and matching output/cache mirroring to the selected root.
Split napari response-map display scaling coverage into a pure helper test module and reused shared converted-HDF5 fixture writers across more analysis tests.
Fixes
Widened the napari Plot-tab normalization checkbox so Normalize to epoch peak is no longer cropped.
Used interpolated timing for older flash-train recordings whose photodiode_flash pulses are not one-per-epoch-boundary, while still rejecting incomplete boundary-flash evidence, restoring response plots and response-watershed ROI generation for older recordings.
Restored saved-analysis reload for source recordings routed through the stable external analysis cache.
Allowed source recording conversion to load older chosenparams.mat stimulus epoch parameters when stimParams.mat is absent.
Deleted local cached PDF and PNG export figures after they successfully sync to the configured analysis output destination.
Prevented database search favorites from changing the dialog state or overwriting a corrupt favorites file when local YAML persistence fails.
Kept custom workflow ROI visibility filters, including the Direction selectivity threshold, from removing nonpassing ROIs from the ROIs tab.
Kept custom workflow epoch-window defaults from being overwritten by recording duration caps.
Made DSI threshold and epoch-window controls show three decimals, and showed synced custom table outputs at their publish paths instead of cache paths.
Matched custom workflow epoch dropdown defaults from numeric selectors, full labels, and epoch names, including unnamed Epoch N labels.
Made response-kernel CSV columns encode lag seconds, kept per-epoch filenames collision-proof, and reported fitted sample counts after kernel-window filtering.
Made response-kernel fitting skip irregular stimulus-clock segments and report fitted/skipped segment counts instead of failing the whole workflow.
Kept pooled response-kernel epoch groups from using lag samples across stimulus-segment boundaries, and kept invalid database hemisphere metadata from being hidden as missing metadata.
Kept malformed config.yml errors visible during explicit-output conversion and old converted-file hemisphere lookup, while still allowing missing config when explicit conversion output is provided.
Kept Epochs-tab visibility toggles from rebuilding cached response heatmap images.
Persisted database fly.eye metadata as converted recording hemisphere/eye run fields during conversion, with database lookup for older converted files that predate the field.
Made the Export-tab Save ROIs + analysis button show the same save and sync status message as the Metadata tab.