Module Import alias ImportFrom alias alias alias Assign NameStore BinOpMod Str Call NameLoad Import alias identifier Import alias Import alias identifier Import alias identifier Import alias identifier Import alias identifier Import alias identifier Import alias identifier Import alias identifier Import alias identifier Import alias identifier ImportFrom alias alias Import alias identifier ImportFrom alias Import alias identifier Import alias ImportFrom alias ImportFrom alias ImportFrom alias identifier ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias alias Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Assign NameStore Str Expr Str Assign NameStore Num Expr Str Assign NameStore Str ClassDef bases AttributeLoad NameLoad attr body Assign NameStore Str Assign NameStore Num Assign NameStore Str FunctionDef arguments args NameParam defaults body Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Str keyword Str Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Str keyword Str Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str ListLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad keyword BinOpMod Str Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str AttributeLoad NameLoad attr keyword BinOpMod Str Call NameLoad Expr Call AttributeLoad NameLoad attr Assign AttributeStore AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Num keyword Num Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Num keyword Num keyword BinOpMod Str Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str NameLoad keyword BinOpMod Str Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Str keyword BinOpMod Str Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str NameLoad keyword BinOpMod Str Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str NameLoad keyword BinOpMod Str Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str NameLoad keyword BinOpMod Str Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Str keyword Str Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str NameLoad keyword BinOpMod Str Call NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Str Str keyword Str decorator_list FunctionDef arguments args NameParam defaults body Return BinOpAdd ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareNotEq AttributeLoad NameLoad attr NameLoad body AugAssignAdd NameStore Call AttributeLoad NameLoad attr If CompareIn AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AugAssignAdd NameStore ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body AugAssignAdd NameStore ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If AttributeLoad AttributeLoad NameLoad attr attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpAdd BinOpAdd ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body If BoolOpAnd NameLoad CompareEq NameLoad Num body Expr Call NameLoad Str If BoolOpAnd NameLoad CompareEq NameLoad Num body Assign NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Num If BoolOpAnd NameLoad CompareEq NameLoad Num body Assign NameStore Call NameLoad NameLoad If Call AttributeLoad SubscriptLoad NameLoad Index Num attr body Assign SubscriptStore NameLoad Index Num AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If UnaryOpNot CompareIn SubscriptLoad NameLoad Index Num TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index Num AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num orelse Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareEq SubscriptLoad NameLoad Index Num AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore Num If NameLoad body Expr Call NameLoad BinOpMod Str NameLoad If CompareNotEq NameLoad AttributeLoad NameLoad attr body Expr Call NameLoad BinOpMod Str NameLoad If BoolOpAnd UnaryOpNot NameLoad CompareEq NameLoad Num body Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice Num SubscriptLoad NameLoad Slice Num AugAssignAdd NameStore ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Num If BoolOpAnd UnaryOpNot NameLoad CompareEq NameLoad Num body Assign NameStore BinOpAdd NameLoad ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str Assign NameStore Num If BoolOpAnd UnaryOpNot NameLoad CompareEq NameLoad Num body Assign NameStore BinOpAdd NameLoad ListLoad AttributeLoad NameLoad attr Str Assign NameStore Num If BoolOpAnd UnaryOpNot NameLoad CompareEq NameLoad Num body Assign NameStore BinOpAdd NameLoad ListLoad AttributeLoad NameLoad attr Assign NameStore Num If BoolOpAnd UnaryOpNot NameLoad CompareEq NameLoad Num body If CompareEq SubscriptLoad NameLoad Index Num Str body Assign SubscriptStore NameLoad Index Num NameLoad Assign NameStore Num If BoolOpAnd UnaryOpNot NameLoad CompareEq NameLoad Num body Assign NameStore IfExp CompareIn SubscriptLoad NameLoad Index Num TupleLoad NameLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore BinOpAdd NameLoad ListLoad NameLoad Assign NameStore Num If BoolOpAnd UnaryOpNot NameLoad CompareEq NameLoad Num body AugAssignAdd NameStore ListLoad NameLoad Str Assign NameStore Num If BoolOpAnd UnaryOpNot NameLoad CompareEq NameLoad Num body Assign TupleStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameStore NameLoad Assign NameStore BinOpAdd ListLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Num Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice NameLoad Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice NameLoad Return TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assert Call NameLoad NameLoad AttributeLoad NameLoad attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad keyword NameLoad Assign AttributeStore AttributeLoad NameLoad attr attr ListLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore NameLoad If CompareEq AttributeLoad NameLoad attr NameLoad body Assign NameStore NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr TupleLoad SubscriptLoad NameLoad ExtSlice Index Num Slice SubscriptLoad NameLoad ExtSlice Index Num Slice SubscriptLoad NameLoad ExtSlice Slice Index Num SubscriptLoad NameLoad ExtSlice Slice Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd Call AttributeLoad NameLoad attr NameLoad Num NameLoad Assign SubscriptStore NameLoad Index NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign SubscriptStore NameLoad Index BinOpBitAnd UnaryOpInvert NameLoad CompareEq AttributeLoad NameLoad attr Num Num If CompareNotEq Call NameLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num SubscriptLoad AttributeLoad NameLoad attr Index Num Assign NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num SubscriptLoad AttributeLoad NameLoad attr Index Num Assign SubscriptStore NameLoad ExtSlice Slice NameLoad Slice NameLoad SubscriptLoad NameLoad ExtSlice Slice NameLoad Slice NameLoad Assign NameStore NameLoad If CompareIn AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad body If CompareEq AttributeLoad NameLoad attr NameLoad body Assign TupleStore NameStore TupleStore NameStore NameStore Call AttributeLoad NameLoad attr CompareEq NameLoad Num keyword NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Assign NameStore CompareLtE NameLoad AttributeLoad AttributeLoad NameLoad attr attr Assign SubscriptStore NameLoad Index NameLoad SubscriptLoad NameLoad Index TupleLoad SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad orelse Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad Num Assign SubscriptStore NameLoad Index CompareGt NameLoad AttributeLoad AttributeLoad NameLoad attr attr Num Assign SubscriptStore NameLoad Index CompareGt NameLoad Num SubscriptLoad NameLoad Index CompareGt NameLoad Num If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad orelse Assign NameStore NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad orelse If CompareEq AttributeLoad NameLoad attr NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad orelse If CompareEq AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad CompareGt NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr TupleLoad Num Num NameLoad keyword NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad orelse If CompareEq AttributeLoad NameLoad attr NameLoad body Assign NameStore BinOpSub Num NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad CompareGt NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr TupleLoad Num Num NameLoad keyword NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad orelse Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Call NameLoad BinOpAdd Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num Assign NameStore Call NameLoad NameLoad Assign SubscriptStore NameLoad Index Num Num Assign SubscriptStore NameLoad Index CompareNotEq NameLoad Num BinOpAdd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr CompareNotEq NameLoad Num Num Assign NameStore SubscriptLoad NameLoad Index AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad If AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad keyword NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad orelse Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad If AttributeLoad AttributeLoad NameLoad attr attr body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad keyword NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr BinOpMod AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad BinOpMod AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore BinOpMult Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad AttributeLoad NameLoad attr Assign NameStore CompareGt NameLoad Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad SubscriptLoad Call AttributeLoad NameLoad attr Num BinOpAdd Call NameLoad NameLoad Num Index NameLoad If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr For TupleStore NameStore NameStore NameStore NameStore TupleLoad TupleLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr NameLoad AttributeLoad AttributeLoad NameLoad attr attr TupleLoad NameLoad AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad BinOpMod AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad BinOpMod AttributeLoad NameLoad attr NameLoad NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr CompareGt NameLoad Num Assign AttributeStore AttributeLoad NameLoad attr attr BinOpDiv BinOpMult Num NameLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body ImportFrom alias Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr If CompareIsNot NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr ListLoad Str BinOpMod Str NameLoad If CompareGt NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr Num BinOpAdd NameLoad Num Expr Call AttributeLoad NameLoad attr Assign NameStore BinOpMult Call AttributeLoad NameLoad attr BinOpDiv Call NameLoad SubscriptLoad NameLoad Index BinOpDiv NameLoad Num AttributeLoad NameLoad attr Num Assign NameStore BinOpMult Call AttributeLoad NameLoad attr BinOpDiv Call NameLoad SubscriptLoad NameLoad Index BinOpDiv NameLoad Num AttributeLoad NameLoad attr Num Assign NameStore BinOpMult Call AttributeLoad NameLoad attr BinOpDiv Call NameLoad SubscriptLoad NameLoad Index BinOpDiv BinOpMult NameLoad Num Num AttributeLoad NameLoad attr Num Expr Call AttributeLoad NameLoad attr ListLoad Str BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr ListLoad Str BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr ListLoad Str BinOpMod Str NameLoad If BoolOpAnd CompareNotEq AttributeLoad NameLoad attr NameLoad CompareNotEq AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr ListLoad Str BinOpMod Str AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr ListLoad Str BinOpMod Str NameLoad Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad Num Num Assign NameStore BinOpMod Str AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr Num Num NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Num Num NameLoad BinOpMod Str AttributeLoad AttributeLoad NameLoad attr attr keyword Call AttributeLoad NameLoad attr Num Num Assign NameStore ListLoad Call NameLoad keyword AttributeLoad AttributeLoad NameLoad attr attr keyword ListLoad NameLoad Call NameLoad keyword AttributeLoad AttributeLoad NameLoad attr attr keyword ListLoad NameLoad Assign NameStore BinOpMod Str TupleLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr Num Num NameLoad keyword NameLoad keyword NameLoad keyword Call AttributeLoad NameLoad attr Num Num Expr Call AttributeLoad NameLoad attr Num Num ListComp ListLoad SubscriptLoad NameLoad Index Num comprehension NameStore AttributeLoad AttributeLoad NameLoad attr attr keyword ListComp SubscriptLoad NameLoad Index Num comprehension NameStore AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareGt NameLoad Num body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign SubscriptStore NameLoad Index UnaryOpInvert NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Call NameLoad BinOpAdd NameLoad Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign SubscriptStore NameLoad Index Num Num Assign NameStore SubscriptLoad NameLoad Index NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr If AttributeLoad NameLoad attr body Assign NameStore BinOpBitAnd AttributeLoad NameLoad attr UnaryOpInvert Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore SubscriptLoad NameLoad Index NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr TupleLoad SubscriptLoad NameLoad ExtSlice Index Num Slice SubscriptLoad NameLoad ExtSlice Index Num Slice SubscriptLoad NameLoad ExtSlice Slice Index Num SubscriptLoad NameLoad ExtSlice Slice Index Num Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd Call NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Num Assign SubscriptStore NameLoad Index NameLoad Num Assign NameStore SubscriptLoad NameLoad Index NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AugAssignAdd NameStore ListLoad TupleLoad AttributeLoad AttributeLoad NameLoad attr attr BinOpMod AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr BinOpMod AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr If CompareNotEq AttributeLoad NameLoad attr NameLoad body AugAssignAdd NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignAdd NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AugAssignAdd NameStore ListLoad TupleLoad AttributeLoad AttributeLoad NameLoad attr attr BinOpMod AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr BinOpMod AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr AugAssignAdd NameStore ListLoad TupleLoad AttributeLoad AttributeLoad NameLoad attr attr BinOpMod AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr TupleLoad AttributeLoad AttributeLoad NameLoad attr attr BinOpMod AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore ListLoad If CompareNotEq AttributeLoad NameLoad attr NameLoad body AugAssignAdd NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad AugAssignAdd NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore ListLoad If CompareNotEq AttributeLoad NameLoad attr NameLoad body AugAssignAdd NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad AugAssignAdd NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Dict AttributeLoad AttributeLoad NameLoad attr attr ListLoad AttributeLoad AttributeLoad NameLoad attr attr If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignAdd SubscriptStore NameLoad Index AttributeLoad AttributeLoad NameLoad attr attr ListLoad AttributeLoad AttributeLoad NameLoad attr attr Assign SubscriptStore NameLoad Index AttributeLoad AttributeLoad NameLoad attr attr ListLoad AttributeLoad AttributeLoad NameLoad attr attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body If CompareNotEq AttributeLoad NameLoad attr NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Return ListLoad decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list Assign NameStore NameLoad
N/A N/A cellprofiler.icons cellprofiler.gui.help PROTIP_RECOMEND_ICON PROTIP_AVOID_ICON TECH_NOTE_ICON N/A __doc__ N/A <b>Identify Secondary Objects</b> identifies objects (e.g., cell edges) using
objects identified by another module (e.g., nuclei) as a starting point.
<hr>
<h4>What is a secondary object?</h4>
In CellProfiler, we use the term <i>object</i> as a generic term to refer to an identifed
feature in an image, usually a cellular subcompartment of some kind (for example,
nuclei, cells, colonies, worms). We define an object as <i>secondary</i> when it can be
found in an image by using another cellular feature as a reference for guiding detection.

<p>For densely-packed cells
(such as those in a confluent monolayer), determining the cell borders using a cell body stain
can be quite difficult since they often have irregular intensity patterns and are lower-contrast
with more diffuse staining. In addition, cells often touch their neighbors making it harder to
delineate the cell borders. It is often easier to identify an organelle which is well separated
spatially (such as the nucleus) as an object first and then use that object to guide the detection
of the cell borders. See the <b>IdentifyPrimaryObjects</b> module for details on how to identify
a primary object.</p>

In order to identify the edges of secondary objects, this module performs two tasks:
<ol>
<li>Finds the dividing lines between secondary objects which touch each other.</li>
<li>Finds the dividing lines between the secondary objects and the
background of the image. In most cases, this is done by thresholding the image stained
for the secondary objects.</li>
</ol>

<h4>What do I need as input?</h4>
This module identifies secondary objects based on two types of input:
<ol>
<li>An <i>object</i> (e.g., nuclei) identified from a prior module. These are typically produced
by an <b>IdentifyPrimaryObjects</b> module, but any object produced by another module may be
selected for this purpose.</li>
<li>An <i>image</i> highlighting the image features defining the cell edges. This is typically
a fluorescent stain for the cell body, membrane or cytoskeleton (e.g., phalloidin staining for actin).
However, any image which produces these features can be used for this purpose. For example, an image
processing module might be used to transform a brightfield image into one which captures the characteristics of a cell
body flourescent stain.</li>
</ol>

<h4>What do the settings mean?</h4>
See below for help on the individual settings. The following icons are used to call attention to
key items:
<ul>
<li><img src="memory:%(PROTIP_RECOMEND_ICON)s">&nbsp;Our recommendation or example use case
for which a particular setting is best used.</li>
<li><img src="memory:%(PROTIP_AVOID_ICON)s">&nbsp;Indicates a condition under which
a particular setting may not work well.</li>
<li><img src="memory:%(TECH_NOTE_ICON)s">&nbsp;Technical note. Provides more
detailed information on the setting, if interested.</li>
</ul>

<h4>What do I get as output?</h4>
A set of secondary objects are produced by this module, which can be used in downstream modules
for measurement purposes or other operations. Because each primary object is used as the starting point
for producing a corresponding secondary object, keep in mind the following points:
<ul>
<li>The primary object will always be completely contained
within a secondary object. For example, nuclei are completely enclosed within identified cells
stained for actin.</li>
<li>There will always be at most one secondary object for each primary object.</li>
</ul>
See the section <a href="#Available_measurements">"Available measurements"</a> below for
the measurements that are produced by this module.

Once the module has finished processing, the module display window
will show the following panels:
<ul>
<li><i>Upper left:</i> The raw, original image.</li>
<li><i>Upper right:</i> The identified objects shown as a color
image where connected pixels that belong to the same object are assigned the same
color (<i>label image</i>). It is important to note that assigned colors are
arbitrary; they are used simply to help you distingush the various objects. </li>
<li><i>Lower left:</i> The raw image overlaid with the colored outlines of the
identified secondary objects. The objects are shown with the following colors:
<ul>
<li>Magenta: Secondary objects</li>
<li>Green: Primary objects</li>
</ul>
If you need to change the color defaults, you can
make adjustments in <i>File > Preferences</i>.</li>
<li><i>Lower right:</i> A table showing some of the settings selected by the user, as well as
those calculated by the module in order to produce the objects shown.</li>
</ul>


<a name="Available_measurements">
<h4>Available measurements</h4>
<b>Image measurements:</b>
<ul>
<li><i>Count:</i> The number of secondary objects identified.</li>
<li><i>OriginalThreshold:</i> The global threshold for the image.</li>
<li><i>FinalThreshold:</i> For the global threshold methods, this value is the
same as <i>OriginalThreshold</i>. For the adaptive or per-object methods, this
value is the mean of the local thresholds.</li>
<li><i>WeightedVariance:</i> The sum of the log-transformed variances of the
foreground and background pixels, weighted by the number of pixels in
each distribution.</li>
<li><i>SumOfEntropies:</i> The sum of entropies computed from the foreground and
background distributions.</li>
</ul>

<b>Object measurements:</b>
<ul>
<li><i>Parent:</i> The identity of the primary object associated with each secondary
object.</li>
<li><i>Location_X, Location_Y:</i> The pixel (X,Y) coordinates of the center of
mass of the identified secondary objects.</li>
</ul>

<h4>Technical notes</h4>
The <i>Propagation</i> algorithm is the default approach for secondary object creation,
creating each primary object as a "seed" guided by the input image and limited to the
foreground region as determined by the chosen thresholding method. &lambda; is
a regularization parameter; see the help for the setting for more details. Propagation
of secondary object labels is by the shortest path to an adjacent primary object
from the starting ("seeding") primary object. The seed-to-pixel distances are
calculated as the sum of absolute differences in a 3x3 (8-connected) image
neighborhood, combined with &lambda; via sqrt(differences<sup>2</sup> + &lambda;<sup>2</sup>).

<p>See also the other <b>Identify</b> modules.</p>
 N/A globals N/A numpy np N/A os N/A scipy.ndimage scind N/A scipy.misc scimisc N/A cellprofiler.cpmodule cpm N/A cellprofiler.cpimage cpi N/A cellprofiler.measurements cpmeas N/A cellprofiler.objects cpo N/A cellprofiler.preferences cpprefs N/A cellprofiler.workspace cpw N/A cellprofiler.settings cps cellprofiler.settings YES NO N/A identify cpmi identify FI_IMAGE_SIZE N/A centrosome.threshold cpthresh N/A centrosome.otsu centrosome.propagate propagate centrosome.cpmorphology fill_labeled_holes centrosome.cpmorphology fixup_scipy_ndimage_result fix centrosome.watershed watershed centrosome.filter stretch centrosome.outline outline cellprofiler.gui.help RETAINING_OUTLINES_HELP NAMING_OUTLINES_HELP N/A M_PROPAGATION Propagation N/A M_WATERSHED_G Watershed - Gradient N/A M_WATERSHED_I Watershed - Image N/A M_DISTANCE_N Distance - N N/A M_DISTANCE_B Distance - B N/A # of setting values other than thresholding ones N/A N_SETTING_VALUES 14 N/A Parent (seed) relationship of input objects to output objects N/A R_PARENT Parent IdentifySecondaryObjects N/A N/A cpmi Identify N/A N/A module_name IdentifySecondaryObjects N/A variable_revision_number 9 N/A category Object Processing create_settings N/A N/A self N/A N/A N/A N/A self primary_objects N/A N/A cps ObjectNameSubscriber Select the input objects Nuclei doc 
            What did you call the objects you want to use as "seeds" to identify a secondary
            object around each one? By definition, each primary object must be associated with exactly one
            secondary object and completely contained within it. N/A N/A self objects_name N/A N/A cps ObjectNameProvider Name the objects to be identified Cells doc 
            Enter the name that you want to call the objects identified by this module. N/A N/A self method N/A N/A cps Choice Select the method to identify the secondary objects N/A M_PROPAGATION M_WATERSHED_G M_WATERSHED_I M_DISTANCE_N M_DISTANCE_B M_PROPAGATION doc N/A 
            <p>There are several methods available to find the dividing lines
            between secondary objects which touch each other:
            <ul>
            <li><i>%(M_PROPAGATION)s:</i> This method will find dividing lines
            between clumped objects where the image stained for secondary objects
            shows a change in staining (i.e., either a dimmer or a brighter line).
            Smoother lines work better, but unlike the Watershed method, small gaps
            are tolerated. This method is considered an improvement on the
            traditional <i>Watershed</i> method. The dividing lines between objects are
            determined by a combination of the distance to the nearest primary object
            and intensity gradients. This algorithm uses local image similarity to
            guide the location of boundaries between cells. Boundaries are
            preferentially placed where the image's local appearance changes
            perpendicularly to the boundary (<i>Jones et al, 2005</i>).</li>

            <li><i>%(M_WATERSHED_G)s:</i> This method uses the watershed algorithm
            (<i>Vincent and Soille, 1991</i>) to assign
            pixels to the primary objects which act as seeds for the watershed.
            In this variant, the watershed algorithm operates on the Sobel
            transformed image which computes an intensity gradient. This method
            works best when the image intensity drops off or increases rapidly
            near the boundary between cells.
            </li>
            <li><i>%(M_WATERSHED_I)s:</i> This method is similar to the above,
            but it uses the inverted intensity of the image for the watershed.
            The areas of lowest intensity will form the boundaries between
            cells. This method works best when there is a saddle of relatively
            low intensity at the cell-cell boundary.
            </li>
            <li><i>Distance:</i> In this method, the edges of the primary
            objects are expanded a specified distance to create the secondary
            objects. For example, if nuclei are labeled but there is no stain to help
            locate cell edges, the nuclei can simply be expanded in order to estimate
            the cell's location. This is often called the "doughnut" or "annulus" or
            "ring" approach for identifying the cytoplasm.
            There are two methods that can be used:
            <ul>
            <li><i>%(M_DISTANCE_N)s</i>: In this method, the image of the secondary
            staining is not used at all; the expanded objects are the
            final secondary objects.</li>
            <li><i>%(M_DISTANCE_B)s</i>: Thresholding of the secondary staining image is used to eliminate background
            regions from the secondary objects. This allows the extent of the
            secondary objects to be limited to a certain distance away from the edge
            of the primary objects without including regions of background.</li></ul></li>
            </ul>
            <b>References</b>
            <ul>
            <li>Jones TR, Carpenter AE, Golland P (2005) "Voronoi-Based Segmentation of Cells on Image Manifolds",
            <i>ICCV Workshop on Computer Vision for Biomedical Image Applications</i>, 535-543.
            (<a href="http://www.cellprofiler.org/linked_files/Papers/JonesCVBIA2005.pdf">link</a>)</li>
            <li>(Vincent L, Soille P (1991) "Watersheds in Digital Spaces: An Efficient Algorithm Based on Immersion
            Simulations", <i>IEEE Transactions of Pattern Analysis and Machine
            Intelligence</i>, 13(6): 583-598
            (<a href="http://dx.doi.org/10.1109/34.87344">link</a>)</li>
            </ul> N/A globals N/A N/A self image_name N/A N/A cps ImageNameSubscriber Select the input image N/A cps NONE doc N/A 
            The selected image will be used to find the edges of the secondary objects.
            For <i>%(M_DISTANCE_N)s</i> this will not affect object identification,
            only the final display. N/A globals N/A N/A N/A self create_threshold_settings N/A N/A N/A self threshold_smoothing_choice value N/A cpmi TSM_NONE N/A N/A self distance_to_dilate N/A N/A cps Integer Number of pixels by which to expand the primary objects 10 minval 1 N/A N/A self regularization_factor N/A N/A cps Float Regularization factor 0.05 minval 0 doc N/A 
            <i>(Used only if %(M_PROPAGATION)s method is selected)</i> <br>
            The regularization factor &lambda; can be anywhere in the range 0 to infinity.
            This method takes two factors into account when deciding where to draw
            the dividing line between two touching secondary objects: the distance to
            the nearest primary object, and the intensity of the secondary object
            image. The regularization factor controls the balance between these two
            considerations:
            <ul>
            <li>A &lambda; value of 0 means that the distance to the nearest
            primary object is ignored and the decision is made entirely on the
            intensity gradient between the two competing primary objects. </li>
            <li>Larger values of &lambda; put more and more weight on the distance between the two objects.
            This relationship is such that small changes in &lambda; will have fairly different
            results (e.,g 0.01 vs 0.001). However, the intensity image is almost completely
            ignored at &lambda; much greater than 1.</li>
            <li>At infinity, the result will look like %(M_DISTANCE_B)s, masked to the
            secondary staining image.</li>
            </ul> N/A globals N/A N/A self use_outlines N/A N/A cps Binary Retain outlines of the identified secondary objects? False doc N/A 
            %(RETAINING_OUTLINES_HELP)s N/A globals N/A N/A self outlines_name N/A N/A cps OutlineNameProvider Name the outline image SecondaryOutlines doc N/A 
            %(NAMING_OUTLINES_HELP)s N/A globals N/A N/A self wants_discard_edge N/A N/A cps Binary Discard secondary objects touching the border of the image? False doc N/A 
            Select <i>%(YES)s</i> to discard secondary objects which touch
            the image border. Select <i>%(NO)s</i> to retain objects regardless
            of whether they touch the image edge or not.
            <p>The objects are discarded
            with respect to downstream measurement modules, but they are retained in memory
            as "unedited objects"; this allows them to be considered in downstream modules that modify the
            segmentation.</p> N/A globals N/A N/A self fill_holes N/A N/A cps Binary Fill holes in identified objects? True doc N/A 
            Select <i>%(YES)s</i> to fill any holes inside objects. N/A globals N/A N/A self wants_discard_primary N/A N/A cps Binary Discard the associated primary objects? False doc N/A 
            <i>(Used only if discarding secondary objects touching the image border)</i> <br>
            It might be appropriate to discard the primary object
            for any secondary object that touches the edge of the image.
            <p>Select <i>%(YES)s</i> to create a new set of objects that are identical
            to the original primary objects set, minus the objects for which the associated
            secondary object touches the image edge.</p> N/A globals N/A N/A self new_primary_objects_name N/A N/A cps ObjectNameProvider Name the new primary objects FilteredNuclei doc 
            <i>(Used only if associated primary objects are discarded)</i> <br>
            You can name the primary objects that remain after the discarding step.
            These objects will all have secondary objects
            that do not touch the edge of the image. Note that any primary object
            whose secondary object touches the edge will be retained in memory as an
            "unedited object"; this allows them to be considered in downstream modules that modify the
            segmentation. N/A N/A self wants_primary_outlines N/A N/A cps Binary Retain outlines of the new primary objects? False doc N/A 
            <i>(Used only if associated primary objects are discarded)</i><br>
            %(RETAINING_OUTLINES_HELP)s N/A globals N/A N/A self new_primary_outlines_name N/A N/A cps OutlineNameProvider Name the new primary object outlines FilteredNucleiOutlines doc 
            <i>(Used only if associated primary objects are discarded and saving outlines of new primary objects)</i><br>
            Enter a name for the outlines of the identified
            objects. The outlined image can be selected in downstream modules by selecting
            them from any drop-down image list. N/A settings N/A N/A self N/A N/A N/A N/A N/A N/A self primary_objects N/A self objects_name N/A self method N/A self image_name N/A self distance_to_dilate N/A self regularization_factor N/A self outlines_name N/A self use_outlines N/A self wants_discard_edge N/A self wants_discard_primary N/A self new_primary_objects_name N/A self wants_primary_outlines N/A self new_primary_outlines_name N/A self fill_holes N/A N/A self get_threshold_settings N/A visible_settings N/A N/A self N/A N/A N/A result N/A N/A self image_name N/A self primary_objects N/A self objects_name N/A self method N/A N/A N/A self method M_DISTANCE_N N/A N/A result N/A N/A self get_threshold_visible_settings N/A N/A N/A self method N/A M_DISTANCE_B M_DISTANCE_N N/A N/A N/A N/A result append N/A self distance_to_dilate N/A N/A N/A N/A self method M_PROPAGATION N/A N/A N/A N/A result append N/A self regularization_factor N/A result N/A N/A self fill_holes N/A self wants_discard_edge N/A N/A self wants_discard_edge N/A N/A N/A N/A result append N/A self wants_discard_primary N/A N/A self wants_discard_primary N/A N/A result N/A N/A self new_primary_objects_name N/A self wants_primary_outlines N/A N/A self wants_primary_outlines N/A N/A N/A N/A result append N/A self new_primary_outlines_name N/A N/A N/A result append N/A self use_outlines N/A N/A N/A self use_outlines value N/A N/A N/A N/A result append N/A self outlines_name N/A result N/A help_settings N/A N/A self N/A N/A N/A N/A N/A N/A N/A self primary_objects N/A self objects_name N/A self method N/A self image_name N/A N/A self get_threshold_visible_settings N/A N/A self distance_to_dilate N/A self regularization_factor N/A self fill_holes N/A self wants_discard_edge N/A self wants_discard_primary N/A self new_primary_objects_name N/A self wants_primary_outlines N/A self new_primary_outlines_name N/A self use_outlines N/A self outlines_name N/A upgrade_settings N/A N/A self setting_values variable_revision_number module_name from_matlab N/A N/A N/A N/A from_matlab N/A variable_revision_number 1 N/A N/A N/A NotImplementedError Sorry, Matlab variable revision # 1 is not supported N/A N/A from_matlab N/A variable_revision_number 2 N/A N/A setting_values N/A list setting_values N/A N/A N/A setting_values append N/A cps NO N/A variable_revision_number 3 N/A N/A from_matlab N/A variable_revision_number 3 N/A N/A new_setting_values N/A list setting_values N/A N/A N/A N/A setting_values N/A 4 isdigit N/A N/A N/A new_setting_values N/A 4 N/A cpthresh TM_MANUAL N/A N/A N/A new_setting_values append N/A setting_values N/A 4 N/A N/A N/A new_setting_values append N/A cps DO_NOT_USE N/A N/A N/A N/A N/A setting_values N/A 4 N/A N/A cpthresh TM_OTSU_GLOBAL N/A cpthresh TM_OTSU_ADAPTIVE N/A cpthresh TM_OTSU_PER_OBJECT N/A cpthresh TM_MOG_GLOBAL N/A cpthresh TM_MOG_ADAPTIVE N/A cpthresh TM_MOG_PER_OBJECT N/A cpthresh TM_BACKGROUND_GLOBAL N/A cpthresh TM_BACKGROUND_ADAPTIVE N/A cpthresh TM_BACKGROUND_PER_OBJECT N/A cpthresh TM_ROBUST_BACKGROUND N/A cpthresh TM_ROBUST_BACKGROUND_GLOBAL N/A cpthresh TM_ROBUST_BACKGROUND_ADAPTIVE N/A cpthresh TM_ROBUST_BACKGROUND_PER_OBJECT N/A cpthresh TM_RIDLER_CALVARD_GLOBAL N/A cpthresh TM_RIDLER_CALVARD_ADAPTIVE N/A cpthresh TM_RIDLER_CALVARD_PER_OBJECT N/A cpthresh TM_KAPUR_GLOBAL N/A cpthresh TM_KAPUR_ADAPTIVE N/A cpthresh TM_KAPUR_PER_OBJECT N/A N/A N/A new_setting_values N/A 4 N/A cpthresh TM_BINARY_IMAGE N/A N/A N/A new_setting_values append 0 N/A N/A N/A new_setting_values append N/A setting_values N/A 4 N/A N/A N/A N/A new_setting_values append 0 N/A N/A N/A new_setting_values append N/A cps DO_NOT_USE N/A N/A N/A setting_values N/A 10 N/A cps DO_NOT_USE N/A N/A N/A N/A new_setting_values append N/A cps NO N/A N/A N/A N/A new_setting_values append N/A cps YES N/A setting_values new_setting_values N/A from_matlab False N/A variable_revision_number 1 N/A from_matlab N/A N/A N/A NotImplementedError N/A Don't know how to convert Matlab IdentifySecondary revision # %d variable_revision_number N/A N/A variable_revision_number N/A self variable_revision_number N/A N/A N/A NotImplementedError N/A Don't know how to handle IdentifySecondary revision # %d variable_revision_number N/A N/A N/A from_matlab N/A variable_revision_number 1 N/A N/A setting_values N/A N/A setting_values N/A 11 N/A setting_values N/A 12 N/A setting_values N/A N/A cpmi O_TWO_CLASS N/A cpmi O_WEIGHTED_VARIANCE N/A cpmi O_FOREGROUND N/A variable_revision_number 2 N/A N/A N/A from_matlab N/A variable_revision_number 2 N/A N/A setting_values N/A setting_values N/A N/A cps NO N/A cps NO FilteredNuclei N/A variable_revision_number 3 N/A N/A N/A from_matlab N/A variable_revision_number 3 N/A N/A setting_values N/A setting_values N/A N/A cps NO FilteredNucleiOutlines N/A variable_revision_number 4 N/A N/A N/A from_matlab N/A variable_revision_number 4 N/A N/A setting_values N/A setting_values N/A N/A cps NONE N/A variable_revision_number 5 N/A N/A N/A from_matlab N/A variable_revision_number 5 N/A N/A N/A N/A setting_values N/A 2 Watershed N/A N/A N/A setting_values N/A 2 M_WATERSHED_G N/A variable_revision_number 6 N/A N/A N/A from_matlab N/A variable_revision_number 6 N/A N/A fill_holes N/A N/A N/A setting_values N/A 2 N/A M_DISTANCE_B M_DISTANCE_N N/A cps NO N/A cps YES N/A setting_values N/A setting_values N/A fill_holes N/A variable_revision_number 7 N/A N/A N/A from_matlab N/A variable_revision_number 7 N/A N/A setting_values N/A FI_IMAGE_SIZE 10 N/A variable_revision_number 8 N/A N/A N/A from_matlab N/A variable_revision_number 8 N/A N/A N/A primary_objects objects_name method image_name threshold_method threshold_correction_factor threshold_range object_fraction distance_to_dilate regularization_factor outlines_name manual_threshold binary_image use_outlines two_class_otsu use_weighted_variance assign_middle_to_foreground wants_discard_edge wants_discard_primary new_primary_objects_name wants_primary_outlines new_primary_outlines_name thresholding_measurement fill_holes adaptive_window_method adaptive_window_size setting_values N/A setting_values N/A N/A primary_objects objects_name method image_name distance_to_dilate regularization_factor outlines_name use_outlines wants_discard_edge wants_discard_primary new_primary_objects_name wants_primary_outlines new_primary_outlines_name fill_holes N/A N/A self upgrade_legacy_threshold_settings threshold_method N/A cpmi TSM_NONE threshold_correction_factor threshold_range object_fraction manual_threshold thresholding_measurement binary_image two_class_otsu use_weighted_variance assign_middle_to_foreground adaptive_window_method adaptive_window_size N/A variable_revision_number 9 N/A setting_values N/A N/A setting_values N/A N_SETTING_VALUES N/A N/A self upgrade_threshold_settings N/A setting_values N/A N_SETTING_VALUES N/A N/A setting_values variable_revision_number from_matlab N/A run N/A N/A self workspace N/A N/A N/A N/A isinstance workspace N/A cpw Workspace N/A image_name N/A N/A self image_name value N/A image N/A N/A N/A workspace image_set get_image image_name must_be_grayscale True N/A N/A N/A workspace display_data statistics N/A N/A img N/A image pixel_data N/A mask N/A image mask N/A objects N/A N/A N/A workspace object_set get_objects N/A N/A self primary_objects value N/A global_threshold None N/A N/A N/A self method M_DISTANCE_N N/A N/A has_threshold False N/A N/A thresholded_image N/A N/A self threshold_image image_name workspace N/A has_threshold True N/A labels_in N/A N/A N/A objects unedited_segmented copy N/A labels_touching_edge N/A N/A np hstack N/A N/A labels_in N/A N/A 0 N/A N/A labels_in N/A N/A -1 N/A N/A labels_in N/A N/A N/A 0 N/A labels_in N/A N/A N/A -1 N/A labels_touching_edge N/A N/A np unique labels_touching_edge N/A is_touching N/A N/A np zeros N/A N/A N/A np max labels_in 1 bool N/A N/A is_touching N/A labels_touching_edge True N/A is_touching N/A is_touching N/A labels_in N/A N/A labels_in N/A N/A N/A is_touching N/A N/A objects segmented 0 0 N/A N/A N/A tuple N/A labels_in shape N/A tuple N/A img shape N/A N/A tmp N/A N/A np zeros N/A img shape N/A labels_in dtype N/A i_max N/A min N/A N/A img shape N/A 0 N/A N/A labels_in shape N/A 0 N/A j_max N/A min N/A N/A img shape N/A 1 N/A N/A labels_in shape N/A 1 N/A N/A tmp N/A N/A i_max N/A j_max N/A labels_in N/A N/A i_max N/A j_max N/A labels_in tmp N/A N/A N/A self method N/A M_DISTANCE_B M_DISTANCE_N N/A N/A N/A N/A self method M_DISTANCE_N N/A N/A N/A distances N/A i j N/A N/A scind distance_transform_edt N/A labels_in 0 return_indices True N/A labels_out N/A N/A np zeros N/A labels_in shape int N/A dilate_mask N/A distances N/A N/A self distance_to_dilate value N/A N/A labels_out N/A dilate_mask N/A labels_in N/A N/A N/A i N/A dilate_mask N/A j N/A dilate_mask N/A N/A N/A labels_out distances N/A propagate img labels_in thresholded_image 1.0 N/A N/A labels_out N/A N/A distances N/A N/A self distance_to_dilate value 0 N/A N/A labels_out N/A N/A labels_in 0 N/A labels_in N/A N/A labels_in 0 N/A N/A self fill_holes N/A N/A small_removed_segmented_out N/A fill_labeled_holes labels_out N/A N/A small_removed_segmented_out labels_out N/A segmented_labels N/A objects segmented N/A segmented_out N/A N/A self filter_labels small_removed_segmented_out objects workspace N/A N/A N/A N/A self method M_PROPAGATION N/A N/A N/A labels_out distance N/A propagate img labels_in thresholded_image N/A N/A self regularization_factor value N/A N/A self fill_holes N/A N/A small_removed_segmented_out N/A fill_labeled_holes labels_out N/A N/A small_removed_segmented_out N/A N/A labels_out copy N/A segmented_out N/A N/A self filter_labels small_removed_segmented_out objects workspace N/A N/A N/A N/A self method M_WATERSHED_G N/A N/A sobel_image N/A N/A np abs N/A N/A scind sobel img N/A watershed_mask N/A N/A np logical_or thresholded_image N/A labels_in 0 N/A watershed_mask N/A N/A np logical_and watershed_mask mask N/A labels_out N/A watershed sobel_image labels_in N/A N/A np ones N/A 3 3 bool mask watershed_mask N/A N/A self fill_holes N/A N/A small_removed_segmented_out N/A fill_labeled_holes labels_out N/A N/A small_removed_segmented_out N/A N/A labels_out copy N/A segmented_out N/A N/A self filter_labels small_removed_segmented_out objects workspace N/A N/A N/A N/A self method M_WATERSHED_I N/A N/A inverted_img N/A 1 img N/A watershed_mask N/A N/A np logical_or thresholded_image N/A labels_in 0 N/A watershed_mask N/A N/A np logical_and watershed_mask mask N/A labels_out N/A watershed inverted_img labels_in N/A N/A np ones N/A 3 3 bool mask watershed_mask N/A N/A self fill_holes N/A N/A small_removed_segmented_out N/A fill_labeled_holes labels_out N/A N/A small_removed_segmented_out labels_out N/A segmented_out N/A N/A self filter_labels small_removed_segmented_out objects workspace N/A N/A N/A self wants_discard_edge N/A self wants_discard_primary N/A N/A lookup N/A N/A scind maximum segmented_out N/A objects segmented N/A range N/A N/A N/A np max N/A objects segmented 1 N/A lookup N/A fix lookup N/A N/A lookup N/A 0 0 N/A N/A lookup N/A N/A lookup 0 N/A N/A N/A np arange N/A N/A np sum N/A lookup 0 1 N/A segmented_labels N/A lookup N/A N/A objects segmented N/A segmented_out N/A lookup N/A segmented_out N/A new_objects N/A N/A cpo Objects N/A N/A new_objects segmented segmented_labels N/A N/A objects has_unedited_segmented N/A N/A N/A new_objects unedited_segmented N/A objects unedited_segmented N/A N/A objects has_small_removed_segmented N/A N/A N/A new_objects small_removed_segmented N/A objects small_removed_segmented N/A N/A new_objects parent_image N/A objects parent_image N/A primary_outline N/A outline segmented_labels N/A N/A self wants_primary_outlines N/A N/A out_img N/A N/A cpi Image N/A N/A primary_outline astype bool parent_image image N/A N/A N/A N/A workspace image_set add N/A N/A self new_primary_outlines_name value out_img N/A N/A primary_outline N/A outline N/A objects segmented N/A secondary_outline N/A outline segmented_out N/A objects_out N/A N/A cpo Objects N/A N/A objects_out unedited_segmented small_removed_segmented_out N/A N/A objects_out small_removed_segmented small_removed_segmented_out N/A N/A objects_out segmented segmented_out N/A N/A objects_out parent_image image N/A objname N/A N/A self objects_name value N/A N/A N/A N/A workspace object_set add_objects objects_out objname N/A N/A N/A self use_outlines value N/A N/A out_img N/A N/A cpi Image N/A N/A secondary_outline astype bool parent_image image N/A N/A N/A N/A workspace image_set add N/A N/A self outlines_name value out_img N/A object_count N/A N/A np max segmented_out N/A measurements N/A workspace measurements N/A N/A N/A cpmi add_object_count_measurements measurements objname object_count N/A N/A N/A cpmi add_object_location_measurements measurements objname segmented_out N/A N/A children_per_parent parents_of_children N/A N/A objects relate_children objects_out N/A N/A N/A measurements add_measurement N/A N/A self primary_objects value N/A N/A cpmi FF_CHILDREN_COUNT objname children_per_parent N/A N/A N/A measurements add_measurement objname N/A N/A cpmi FF_PARENT N/A N/A self primary_objects value parents_of_children N/A image_numbers N/A N/A N/A np ones N/A len parents_of_children int N/A measurements image_set_number N/A mask N/A parents_of_children 0 N/A N/A N/A measurements add_relate_measurement N/A self module_num R_PARENT N/A N/A self primary_objects value N/A N/A self objects_name value N/A image_numbers N/A mask N/A parents_of_children N/A mask N/A image_numbers N/A mask N/A N/A N/A np arange 1 N/A N/A len parents_of_children 1 N/A mask N/A N/A N/A self wants_discard_edge N/A self wants_discard_primary N/A N/A N/A N/A N/A workspace object_set add_objects new_objects N/A N/A self new_primary_objects_name value N/A N/A N/A cpmi add_object_count_measurements measurements N/A N/A self new_primary_objects_name value N/A N/A np max N/A new_objects segmented N/A N/A N/A cpmi add_object_location_measurements measurements N/A N/A self new_primary_objects_name value N/A new_objects segmented N/A N/A parent_objects parent_name child_objects child_name N/A N/A objects N/A N/A self primary_objects value new_objects N/A N/A self new_primary_objects_name value N/A new_objects N/A N/A self new_primary_objects_name value objects_out objname N/A N/A N/A children_per_parent parents_of_children N/A N/A parent_objects relate_children child_objects N/A N/A N/A measurements add_measurement parent_name N/A N/A cpmi FF_CHILDREN_COUNT child_name children_per_parent N/A N/A N/A measurements add_measurement child_name N/A N/A cpmi FF_PARENT parent_name parents_of_children N/A N/A self show_window N/A N/A object_area N/A N/A np sum N/A segmented_out 0 N/A N/A N/A workspace display_data object_pct N/A N/A 100 object_area N/A N/A np product N/A segmented_out shape N/A N/A N/A workspace display_data img img N/A N/A N/A workspace display_data segmented_out segmented_out N/A N/A N/A workspace display_data primary_labels N/A objects segmented N/A N/A N/A workspace display_data global_threshold global_threshold N/A N/A N/A workspace display_data object_count object_count N/A display N/A N/A self workspace figure N/A N/A identify TS_BINARY_IMAGE N/A object_pct N/A N/A workspace display_data object_pct N/A img N/A N/A workspace display_data img N/A primary_labels N/A N/A workspace display_data primary_labels N/A segmented_out N/A N/A workspace display_data segmented_out N/A global_threshold N/A N/A workspace display_data global_threshold N/A object_count N/A N/A workspace display_data object_count N/A statistics N/A N/A workspace display_data statistics N/A N/A global_threshold None N/A N/A N/A N/A statistics append N/A Threshold N/A %.3f global_threshold N/A N/A object_count 0 N/A N/A areas N/A N/A scind sum N/A N/A np ones N/A segmented_out shape segmented_out N/A N/A np arange 1 N/A object_count 1 N/A N/A N/A areas sort N/A low_diameter N/A N/A N/A np sqrt N/A N/A float N/A areas N/A N/A object_count 10 N/A np pi 2 N/A median_diameter N/A N/A N/A np sqrt N/A N/A float N/A areas N/A N/A object_count 2 N/A np pi 2 N/A high_diameter N/A N/A N/A np sqrt N/A N/A float N/A areas N/A N/A N/A object_count 9 10 N/A np pi 2 N/A N/A N/A statistics append N/A 10th pctile diameter N/A %.1f pixels low_diameter N/A N/A N/A statistics append N/A Median diameter N/A %.1f pixels median_diameter N/A N/A N/A statistics append N/A 90th pctile diameter N/A %.1f pixels high_diameter N/A N/A N/A N/A self method M_DISTANCE_N N/A N/A self threshold_scope TS_BINARY_IMAGE N/A N/A N/A N/A statistics append N/A Thresholding filter size N/A %.1f N/A N/A workspace display_data threshold_sigma N/A N/A N/A statistics append N/A Area covered by objects N/A %.1f %% object_pct N/A N/A N/A workspace display_data statistics statistics N/A N/A N/A figure set_subplots N/A 2 2 N/A title N/A Input image, cycle #%d N/A N/A workspace measurements image_number N/A N/A N/A figure subplot_imshow_grayscale 0 0 img title N/A N/A N/A figure subplot_imshow_labels 1 0 segmented_out N/A %s objects N/A N/A self objects_name value sharexy N/A N/A figure subplot 0 0 N/A cplabels N/A N/A dict name N/A N/A self primary_objects value labels N/A primary_labels N/A dict name N/A N/A self objects_name value labels N/A segmented_out N/A title N/A %s and %s outlines N/A N/A N/A self primary_objects value N/A N/A self objects_name value N/A N/A N/A figure subplot_imshow_grayscale 0 1 img title title cplabels cplabels sharexy N/A N/A figure subplot 0 0 N/A N/A N/A figure subplot_table 1 1 N/A N/A N/A x N/A 1 N/A x N/A N/A workspace display_data statistics row_labels N/A N/A x N/A 0 N/A x N/A N/A workspace display_data statistics N/A filter_labels N/A N/A self labels_out objects workspace N/A N/A N/A Filter labels out of the output

        Filter labels that are not in the segmented input labels. Optionally
        filter labels that are touching the edge.

        labels_out - the unfiltered output labels
        objects    - the objects thing, containing both segmented and
                     small_removed labels
         N/A segmented_labels N/A objects segmented N/A max_out N/A N/A np max labels_out N/A N/A max_out 0 N/A N/A N/A segmented_labels m1 N/A N/A cpo size_similarly labels_out segmented_labels N/A N/A segmented_labels N/A N/A m1 0 N/A lookup N/A N/A scind maximum segmented_labels labels_out N/A range N/A max_out 1 N/A lookup N/A N/A np array lookup int N/A N/A lookup N/A 0 0 N/A segmented_labels_out N/A lookup N/A labels_out N/A N/A segmented_labels_out N/A N/A labels_out copy N/A N/A self wants_discard_edge N/A N/A image N/A N/A N/A workspace image_set get_image N/A N/A self image_name value N/A N/A image has_mask N/A N/A mask_border N/A N/A image mask N/A N/A N/A scind binary_erosion N/A image mask N/A edge_labels N/A segmented_labels_out N/A mask_border N/A N/A edge_labels N/A N/A np hstack N/A N/A segmented_labels_out N/A N/A 0 N/A N/A segmented_labels_out N/A N/A -1 N/A N/A segmented_labels_out N/A N/A N/A 0 N/A segmented_labels_out N/A N/A N/A -1 N/A edge_labels N/A N/A np unique edge_labels N/A lookup N/A N/A np arange N/A N/A max max_out N/A N/A np max segmented_labels 1 N/A N/A lookup N/A edge_labels 0 N/A segmented_labels_out N/A lookup N/A segmented_labels_out N/A segmented_labels_out N/A is_object_identification_module N/A N/A self N/A N/A N/A IdentifySecondaryObjects makes secondary objects sets so it's a identification module N/A True N/A get_measurement_columns N/A N/A self pipeline N/A N/A N/A Return column definitions for measurements made by this module N/A columns N/A N/A cpmi get_object_measurement_columns N/A N/A self objects_name value N/A columns N/A N/A N/A N/A self primary_objects value N/A N/A cpmi FF_CHILDREN_COUNT N/A N/A self objects_name value N/A cpmeas COLTYPE_INTEGER N/A N/A N/A self objects_name value N/A N/A cpmi FF_PARENT N/A N/A self primary_objects value N/A cpmeas COLTYPE_INTEGER N/A N/A N/A self method M_DISTANCE_N N/A N/A columns N/A N/A cpmi get_threshold_measurement_columns N/A N/A self objects_name value N/A N/A N/A self wants_discard_edge N/A self wants_discard_primary N/A N/A columns N/A N/A cpmi get_object_measurement_columns N/A N/A self new_primary_objects_name value N/A columns N/A N/A N/A N/A self new_primary_objects_name value N/A N/A cpmi FF_CHILDREN_COUNT N/A N/A self objects_name value N/A cpmeas COLTYPE_INTEGER N/A N/A N/A self objects_name value N/A N/A cpmi FF_PARENT N/A N/A self new_primary_objects_name value N/A cpmeas COLTYPE_INTEGER N/A columns N/A N/A N/A N/A self primary_objects value N/A N/A cpmi FF_CHILDREN_COUNT N/A N/A self new_primary_objects_name value N/A cpmeas COLTYPE_INTEGER N/A N/A N/A self new_primary_objects_name value N/A N/A cpmi FF_PARENT N/A N/A self primary_objects value N/A cpmeas COLTYPE_INTEGER N/A columns N/A get_categories N/A N/A self pipeline object_name N/A N/A N/A Return the categories of measurements that this module produces

        object_name - return measurements made on this object (or 'Image' for image measurements)
         N/A object_dictionary N/A N/A self get_object_dictionary N/A categories N/A N/A N/A N/A self method M_DISTANCE_N N/A N/A categories N/A N/A self get_threshold_categories pipeline object_name N/A categories N/A N/A self get_object_categories pipeline object_name object_dictionary N/A categories N/A get_measurements N/A N/A self pipeline object_name category N/A N/A N/A Return the measurements that this module produces

        object_name - return measurements made on this object (or 'Image' for image measurements)
        category - return measurements made in this category
         N/A object_dictionary N/A N/A self get_object_dictionary N/A result N/A N/A N/A N/A self method M_DISTANCE_N N/A N/A result N/A N/A self get_threshold_measurements pipeline object_name category N/A result N/A N/A self get_object_measurements pipeline object_name category object_dictionary N/A result N/A get_object_dictionary N/A N/A self N/A N/A N/A Get the dictionary of parent child relationships

        see Identify.get_object_categories, Identify.get_object_measurements
         N/A object_dictionary N/A N/A N/A self objects_name value N/A N/A N/A self primary_objects value N/A N/A N/A self wants_discard_edge N/A self wants_discard_primary N/A N/A N/A object_dictionary N/A N/A N/A self objects_name value N/A N/A N/A self new_primary_objects_name value N/A N/A object_dictionary N/A N/A N/A self new_primary_objects_name value N/A N/A N/A self primary_objects value N/A object_dictionary N/A get_measurement_objects N/A N/A self pipeline object_name category measurement N/A N/A N/A N/A N/A self method M_DISTANCE_N N/A N/A N/A N/A self get_threshold_measurement_objects pipeline object_name category measurement N/A N/A N/A get_measurement_objects_name N/A N/A self N/A N/A N/A N/A N/A self objects_name value N/A N/A N/A IdentifySecondary IdentifySecondaryObjects