copick config append-croissant
core
Append filtered rows from a copick project into an existing Croissant.
Usage
Description
Unions filtered rows from a source copick project into the destination
Croissant at --croissant. The source is loaded from a copick config
(--source-config) or from CryoET Data Portal dataset IDs
(--source-dataset-ids); the two are mutually exclusive. The destination
must be writable (Mode A).
The destination's top-level metadata (name, description, license, etc.) is
preserved; only rows and copick:config.pickable_objects are unioned. Rows
with the same primary key as an existing destination row are replaced (last
append wins). Appended URLs are absolutized so the destination CSVs remain
self-sufficient even when source and destination use different base URLs.
Multiple appends with different filters / transforms let you build up a Croissant incrementally — e.g. export curated tomograms first, then append ribosome picks from one author with a session template, then append proteasome picks from a different author with a different template.
Options
| Option | Type | Default | Description |
|---|---|---|---|
--croissant |
file | required | Path / URL to the destination Croissant metadata.json. Must be writable (Mode A). |
--source-config |
file | — | Path to a copick config JSON (filesystem, CDP, or mlcroissant). Mutually exclusive with --source-dataset-ids. |
--source-dataset-ids |
text | — | Comma-separated CryoET Data Portal dataset IDs (e.g. '10000,10001'). Mutually exclusive with --source-config. |
--no-file-sha256 |
boolean flag | False |
Skip computing sha256 for picks/meshes (faster but marks output non-strict). |
--runs |
text | — | Comma-separated run names to include. Omit to include all runs. |
--tomograms |
text · multiple | — | Copick URI to filter tomograms (e.g. 'wbp@10.0'). Repeatable. |
--features |
text · multiple | — | Copick URI to filter features (e.g. 'wbp@10.0:sobel'). Repeatable. |
--picks |
text · multiple | — | Copick URI to filter picks (e.g. 'ribosome:/'). Repeatable. |
--meshes |
text · multiple | — | Copick URI to filter meshes (e.g. 'ribosome:/'). Repeatable. |
--segmentations |
text · multiple | — | Copick URI to filter segmentations (e.g. 'membrane:/@10.0'). Repeatable. |
--objects |
text | — | Comma-separated pickable object names to emit density maps for. |
--tomo-type-map |
text | — | Rename tomo_type values at emission time, e.g. 'wbp-raw:wbp'. |
--object-name-map |
text | — | Rename object names at emission time (also updates copick:config.pickable_objects and records portal_original_name in metadata). |
--session-id-template |
text | — | Python str.format template for synthesizing picks/segmentations session_id from CDP annotation metadata. CDP-only. |
--picks-portal-meta |
text | — | Comma-separated k=v pairs filtering CDP picks by portal metadata. CDP-only. |
--picks-author |
text | — | Comma-separated author names filtering CDP picks. CDP-only. |
--segmentations-portal-meta |
text | — | Comma-separated k=v pairs filtering CDP segmentations. CDP-only. |
--segmentations-author |
text | — | Comma-separated author names filtering CDP segmentations. CDP-only. |
--tomograms-portal-meta |
text | — | Comma-separated k=v pairs filtering CDP tomograms. CDP-only. |
--tomograms-author |
text | — | Comma-separated author names filtering CDP tomograms. CDP-only. |
--split |
text · multiple | — | Assign appended runs to an ML split, e.g. 'train=TS_001,TS_002'. Repeatable. Preserves existing destination splits for runs you don't mention. |
--splits-file |
file | — | CSV with columns 'split' and 'run' providing split assignments for appended runs. |
--debug / --no-debug |
boolean flag | False |
Enable debug logging. |
Examples
# Append template-matching ribosome picks with readable session IDs
copick config append-croissant \
--croissant /tmp/curated/Croissant/metadata.json \
--source-dataset-ids 10000 \
--picks "cytosolic-ribosome:*/*" \
--object-name-map "cytosolic-ribosome:ribosome" \
--session-id-template "{method_type}" \
--picks-portal-meta "method_type=template-matching"
# Append picks from a filesystem source and assign a split
copick config append-croissant \
--croissant my/Croissant/metadata.json \
--source-config my/filesystem.json \
--picks "ribosome:*/*" \
--split train=TS_005
See also
copick config export-croissant— create the initial Croissant manifestcopick config set-splits— edit train/val/test split assignments afterwards