ConsoleUser
Copyright (c) 2010-2023 Skaion Corporarion, www.skaion.com
This project was developed in part by numerous sponsorships from the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints of Governmental purposes notwithstanding any copyright notation thereon.
All content reflects those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the U.S. Government or Skaion Corporation.
- class Region.Region(config, path)¶
This is the abstract parent class of every Region type. Every concrete Region class should inherit from me. A Region represents a region of a screen. The region could be the entire screen or a subset of it.
Parameters:
config: a <no title> object
path: the path to the image file to load or None for an empty Region
- count_color(color)¶
Parameters:
color: the color to count
Return: the number of times that color appeared in this region
- debugprint(rect=(), verbose=False)¶
Print a text version of the region to stdout. sys.stdout.write is used instead of print in order to have finer control of the formatting.
- find_colors(colors)¶
This will search this region and find rectangles made of pixels containing only values from the list provided.
Parameters:
colors: a list of color values to be included as part of the match
Return: a list of tuples of tuples. The “outer” tuple defines the rectangle of the match, while the “inner” tuples are the upper left and lower right corners of the rectangle
- find_in_region(hay, rect=(), debug_match=False)¶
Treating myself as the needle try to find any places in the haystack we match.
Parameters:
hay: a <no title> that should be searched for instances of myself
rect: the points defining a rectangle that restricts the regions for which matches will be accepted
Return: a list containg tuples of x, y coordinates that are the upper left corner of the region matching me
- find_regions(needle, rect=(), debug_match=False)¶
Treating myself as the haystack try to find any places that match the needle.
Parameters:
needle: an <no title> that should be found within myself
rect: the points defining a rectangle that restricts the region that should be searched
Return: a list containing tuples of x, y coordinates that are the upper left corner of the region matching the needle
- from_array(array)¶
Load the contents of this image from a multidimensional numpy array.
Parameters:
array: the 2D numpy array for this image
- get_row(ind)¶
Parameters:
ind: the row index (with row 0 being the top row counting down)
Return: an entire row of pixels as a Sequence
- get_size()¶
Return: a tuple containing the height and width of this region
- get_sub_region(upper_left, lower_right)¶
Get a region of this region defined by the two corners of a rectangle
Parameters:
upper_left: a row, col (tuple-like) of the upper left corner
lower_right: a row, col (tuple-like) of the lower right corner
- get_value_at(x, y)¶
Return the value (usually the color) of the pixel at the given coordinates.
Parameters:
x: the column to check
y: the row to check
Return: the value of the given pixel/location
- is_black(x, y)¶
Parameters:
x: the column to check
y: the row to check
Return: True if the pixel at the given row and column is black
- is_white(x, y)¶
Parameters:
x: the column to check
y: the row to check
Return: True if the pixel at the given row and column is white
- match_at(needle, corner)¶
Check at a particular location to see if we match the given needle.
Parameters:
needle: a <no title> to look for
corner: a tuple containing the upper left corner to start the match (tuple is in X,Y notation, not Row,Col)
Return: True if the needle is matched there, False otherwise
- save_as_png(path)¶
Save this Region to the given path (overwriting an existing file if there is one) as a PNG file.
Parameters:
path: the location of the file to create
Return: True if successful, False otherwise
- show(filename='/tmp/region.png')¶
Display the region on the screen using a standard unix viewer
- show_async(filename=None)¶
Display the region on the screen using a standard unix viewer
- use_exact_matching()¶
No matter the default, this region should expect only an exact match to be accepted.
- Region.get_region(config, path=None, cache=None)¶
Use the <no title> object to determine the correct type of Region to return. If caching is turned on a combination of config object and path will return the same object each time.
Parameters:
config: a <no title> object
path: optionally the path to the image to load, can be None to get an empty image
cache: a boolean whether or not it’s acceptable to store this object in the cache or return one that’s already there
Return: a concrete instance of Region