Remove on image edge

Filter an object collection based on contact of each object with the image edge.

Description

Filter an object collection based on contact of each object with the image edge. Contact is considered as a case where an object pixel is in the outer-most row, column or slice of an image (e.g. x = 0 or y = max_value). The maximum number of contact pixels before an object is removed can be set to permit a degree of contact. Objects identified as being in contact with the image edge can be removed from the input collection, moved to another collection (and removed from the input collection) or simply counted (but retained in the input collection). The number of objects failing the filter can be stored as a metadata value.

Image edge filters can be used when counting the number of objects in a field of view - in this case, typically two adjacent edges are removed (e.g. bottom and right) to prevent over-counting. Alternatively, removing objects on all edges can be performed when measuring whole-object properties such as area or volume to prevent under-measuring values.

Parameters

ParameterDescription
Input objectsObjects to be filtered.
Filter modeControls what happens to objects which don't pass the filter:
  • "Do nothing" Retains all input objects, irrespective of whether they passed or failed the filter. This is useful when also storing the filter results as metadata values (i.e. just counting the number of objects which pass the filter).
  • "Move filtered objects to new class" Objects failing the filter are moved to a new object class. The name of the class is determined by the "Output (filtered) objects" parameter. All existing measurements and relationships are carried forward into the new object collection.
  • "Remove filtered objects" (default) Removes objects failing the filter. Once removed, these objects are unavailable for further use by modules and won't be included in exported results.
Output (filtered) objectsNew object collection containing input objects which did not pass the filter. These objects are only stored if "Filter mode" is set to "Move filtered objects to new class".
Maximum permitted contactMaximum number of object pixels which can lie along any of the specified edges without the object being removed. This provides tolerance for objects which only just make contact with the image edge.
Remove on topWhen selected, object pixels which make contact with the top of the image (y = 0) will count towards the "Maximum permitted contact" limit. If not selected, pixels along this edge will be ignored (i.e. contact won't lead to object removal).
Remove on leftWhen selected, object pixels which make contact with the left side of the image (x = 0) will count towards the "Maximum permitted contact" limit. If not selected, pixels along this edge will be ignored (i.e. contact won't lead to object removal).
Remove on bottomWhen selected, object pixels which make contact with the bottom of the image (y = max_value) will count towards the "Maximum permitted contact" limit. If not selected, pixels along this edge will be ignored (i.e. contact won't lead to object removal).
Remove on rightWhen selected, object pixels which make contact with the right side of the image (x = max_value) will count towards the "Maximum permitted contact" limit. If not selected, pixels along this edge will be ignored (i.e. contact won't lead to object removal).
Include Z-positionWhen selected, object pixels which make contact with the lower (z = 0) and upper (z = max_value) slices of the image stack will count towards the "Maximum permitted contact" limit. If not selected, pixels along this edge will be ignored (i.e. contact won't lead to object removal). If enabled for single slice stacks all objects will removed.
Store filter resultsWhen selected, the number of removed (or moved) objects is counted and stored as a metadata item (name in the format "FILTER // NUM_[inputObjectsName] TOUCHING_IM_EDGE (3D)").