Data Curation - jeanollion/bacmman GitHub Wiki
Data Curation
To edit segmentation and tracking:
- Open an interactive Kymograph or Hyperstack
- Set the object class you wish to edit as interactive structure (it can be changed by pressing i when an interactive image is active): all actions will be performed on this object class.
- Hold
Shift
to add objects to the current selection - When an action requires drawing with an imageJ tool (e.g. freehand line) first draw, and before releasing the mouse press the modifiers key(s) (e.g. Ctrl, Shift, Alt).
- All the shortcuts only work when the active image is an interactive images (Kymograph or Hyperstack)
- Note that you can select whole tracks in track mode (press
S
to toggle ON/OFF track mode). This is useful to split / merge / post-filter whole tracks at once. - Tracking links are propagated automatically as much as possible when performing curation of segmentation (Splitting / Merging / Region creation), but it is sometimes impossible so always remember check (Ctrl + Q) and correct them.
- Always edit the parent object class before the child object class (e.g. microchannel is parent class of bacteria in the case of bacteria growing in microchannels). After editing a parent object class, segmentation and tracking of children class may need to be re-run (except when deleting a whole parent track).
- A simple undo feature is available
- Press
F1
to display all the shortcuts (F1
to hide them).
Manual Curation
Splitting
To split a segmented region:
- Draw a line using the
freehand line tool
that cuts an object into two parts - Holding
ctrl
key before releasing the mouse button. - If the line allows to define two distinct regions, they will be created and displayed in yellow.
Creation
To create a segmented region de novo:
- Draw its contours using the
freehand line tool
, theellipse tool
or theoval tool
, or paint it using theselection brush tool
- Hold
ctrl + shift
keys before releasing the mouse button. - The contour should be closed or closed by another segmented region.
- The segmented object will be displayed in yellow.
- To create segmented regions and merge them directly with existing segmented regions that are in contact, Hold
shift
instead ofctrl + shift
.
Rub Out
- draw the area to erase with the
selection brush tool
- Hold
ctrl + shift
keys before releasing the mouse button.
Merging
- Select several segmented objects
- Press
ctrl + M
Merging is performed frame-wise, so segmented object from several frames can be selected.
Deletion
- Select one or several segmented objects
- Press
ctrl + D
- Deletion is performed frame-wise, so segmented object from several frames can be selected.
Pruning:
- Select a segmented object
- Press
ctrl + P
- The selected object as well as all linked objects (at next frames) will be deleted
Semi-automatic Curation of Segmentation
Splitting
Semi-automatic splitting requires an algorithm. It can be set in the parameter of the object class, alternatively some Segmenters are able to split segmented object.
- Select one or several segmented object.
- Press
ctrl + S
to split. - Each selected object will be split in two (if possible).
Creation
Semi-automatic segmentation requires an algorithm. It can be set in the parameter of the object class, alternatively some Segmenters are able to create segmented objects from user-defined points.
- Press
C
to select themulti-point tool
- Click on the center of objects
- Press
ctrl + C
to segment the objects: they will be displayed in yellow. New objects cannot be created in areas where objects are already created. - Press
C
to select the previous tool.
Post-Filtering
User-defined post-filters can be applied to selected objects during manual curation. This is useful for instance to apply a binary closing or to filter objects according to size.
Post-filters are set in the parameters of the object class to be edited (parameter Manual Post-Filters
)
- Select one or several segmented objects
- Press
ctrl + F
Tracking Links
Select several segmented objects from several frames:
- press
ctrl + L
to link them - press
ctrl + U
to unlink them - press
ctrl + R
to reset all associated links
Notes:
- When several objects at frame F and several object at frame F+1 are selected, an algorithm that minimizes globally distances will choose the links.
- Whether segmented objects can merge / split in time is defined in the parameters of the object class. If a merge / split link is assigned to an object class that do not accept them, an error will be flagged for the link.
Undo feature
When performing manual curation, mistakes can easily happen.
BACMMAN provides a simple undo mechanism to revert changes to last commit.
One has to commit the changes frequently.
- Activate it from the menu
Misc > Manual Curation > Safe Mode (undo)
- After making changes you want to keep, commit them from the menu:
Misc > Manual Curation > Commit Changes
- To rollback to last commit from the menu:
Misc > Manual Curation > Revert Changes
- Note that if the program is closed without committing changes, they are lost.