aquaduct.geom.master module¶
-
part2type_dict
= {0: 9, 1: 8, 2: 9}¶ Part number to
GenericPathTypeCodes
dictionary.
-
parts
= (0, 1, 2)¶ Parts enumerate.
-
class
CTypeSpathsCollectionWorker
(spaths=None, ctype=None, bias_long=5, smooth=None, lock=None)[source]¶ Bases:
object
Worker class for averaging spaths in points of master path.
-
coords_types_prob_widths
(sp_slices_)[source]¶ Calculates average coordinates, type and width in given chunk.
Parameter
sp_slices_
is tuple of length equal to number of spaths. It contains slices for all spaths respectively. With these slices spaths are cut and only resulting chunks are used for calculations.Therefore, this method average spaths in one point of master math. This point is defined by slices submitted as
sp_lices_
parameter.Algorithm of averaging (within current chunks of spaths):
Coordinates for all spaths are collected.
Lengths of all spaths are collected (from cached variables) and kept as lists of lengths equal to chunks’ sizes.
Note
Lengths of collected lengths of spaths are of the same size as coordinates
New coordinates are calculated as weighted average of collected coordintates with
numpy.average()
. As weights collected lengths are used.Note
Function
numpy.average()
is called with flatten coordinates and lengths.Width of average path is calculated as mean value of flatten coordinates mutual distances.
Type of average paths is calculated as probability (frequency) of
scope_name
.
- Parameters
sp_slices (tuple) – Slices that cut chunks from all paths.
- Return type
3 element tuple
- Returns
coordinates, type (frequency), and width of averaged spaths in current point
-
-
class
CTypeSpathsCollection
(spaths=None, ctype=None, bias_long=5, pbar=None, threads=1)[source]¶ Bases:
object
Object for grouping separate paths that belong to the same CType. Method
get_master_path()
allows for calculation of average path.-
parts
= (0, 1, 2)¶ Enumeration of spath parts.
-
lens
()[source]¶ Returns total lengths of all paths.
If ctype in #:# and not 0 and not None then take length of object part only.
- Returns
Total (or object part) lengths of all paths.
- Return type
-
lens_norm
()[source]¶ Returns normalized lengths calculated by
lens()
.Applied normalization is twofold:
All lengths are divided by maximal length, and
All lengths are subjected to
pow()
function with p =bias_long
.
- Returns
Normalized total (or object part) lengths of all paths.
- Return type
-
lens_real
()[source]¶ Returns real lengths of all paths.
- Returns
Sizes of all paths.
- Return type
list
-
static
simple_types_distribution
(types)[source]¶ Calculates normalized sizes of incoming, object, and outgoing parts of spath using generic types.
It is assumed that spath has object part.
- Parameters
types (list) – List of generic types.
- Return type
3 element list
- Returns
Normalized sizes of incomin, object, and outgoing parts.
-
types_distribution
()[source]¶ - Return type
- Returns
median values of
simple_types_distribution()
for all spaths.
-
types_prob_to_types
(types_prob)[source]¶ Changes types probabilities as returned by
CTypeSpathsCollectionWorker.coords_types_prob_widths()
to types.- Parameters
types_prob (list) – List of types probabilities.
- Return type
list
- Returns
List of
GenericPathTypeCodes
.
-
get_master_path
(smooth=None, resid=0, 0)[source]¶ Averages spaths into one master path.
This is done in steps:
Master path is an average of bunch of spaths. Its length is determined by
full_size()
method.All spaths are then divided in to chunks according to
xzip_xzip()
function withN
set to lenght of master path. This results in list of length equal to the length of master path. Elements of this lists are slice objects that can be used to slice spaths in appropriate chunks.Next, for each element of this list
CTypeSpathsCollectionWorker.coords_types_prob_widths()
method is called. Types probabilities are changed to types wihttypes_prob_to_types()
.Finally, all data are used to create appropriate
MasterPath
. If this fails None is returned.
-