Sagar Bharadwaj commited on
Commit
d2ae102
·
1 Parent(s): 342535f

Updated docstrings

Browse files
colorbynumber/config.py CHANGED
@@ -1,11 +1,26 @@
1
  default_config = {
 
2
  "denoise": True,
 
 
3
  "denoise_h": 100,
 
 
4
  "border_padding": 2,
 
 
 
5
  "area_perc_threshold": 0.05,
 
 
 
6
  "check_shape_validity": True,
7
  "arc_length_area_ratio_threshold": 1,
 
 
8
  "border_color": (0, 0, 0),
 
 
9
  "font_size": 0.5,
10
  "font_color": (0, 0, 0),
11
  "font_thickness": 2,
 
1
  default_config = {
2
+ # If True, the image will be denoised after simplification.
3
  "denoise": True,
4
+
5
+ # Higher values will result in more aggressive denoising.
6
  "denoise_h": 100,
7
+
8
+ # Padding around the borders of the image.
9
  "border_padding": 2,
10
+
11
+ # Color islands with area less than this threshold will be ignored.
12
+ # The value is a percentage of the total area of the image.
13
  "area_perc_threshold": 0.05,
14
+
15
+ # If True, all shapes with perimeter to area ratio of less than
16
+ # arc_length_area_ratio_threshold will be ignored.
17
  "check_shape_validity": True,
18
  "arc_length_area_ratio_threshold": 1,
19
+
20
+ # Color of the border around around color islands.
21
  "border_color": (0, 0, 0),
22
+
23
+ # Font for the numbers shown in color islands.
24
  "font_size": 0.5,
25
  "font_color": (0, 0, 0),
26
  "font_thickness": 2,
colorbynumber/gen_islands.py CHANGED
@@ -6,7 +6,12 @@ from .config import default_config
6
 
7
 
8
  class GenerateIslands:
9
- def __init__(self, indices_color_choices,):
 
 
 
 
 
10
  self.indices_color_choices = indices_color_choices
11
 
12
  # List of coordinates for each islands border
 
6
 
7
 
8
  class GenerateIslands:
9
+ def __init__(self, indices_color_choices):
10
+ """
11
+ Args:
12
+ indices_color_choices: 2D numpy array with the same shape as the image.
13
+ Shows the color index chosen for each pixel in the image.
14
+ """
15
  self.indices_color_choices = indices_color_choices
16
 
17
  # List of coordinates for each islands border
colorbynumber/main.py CHANGED
@@ -8,6 +8,12 @@ from .numbered_islands import create_numbered_islands
8
 
9
  class ColorByNumber:
10
  def __init__(self, image_path, color_list, config = default_config):
 
 
 
 
 
 
11
  self.image_path = image_path
12
  self.color_list = color_list
13
  self.config = config
@@ -53,12 +59,15 @@ class ColorByNumber:
53
  Generates a grid of colored squares with labels below them.
54
 
55
  Args:
56
- colors: List of colors in (R, G, B) format.
57
- rows: Number of rows in the grid (optional).
58
- cols: Number of columns in the grid (optional).
59
-
60
- Returns:
61
- A NumPy array representing the color grid image.
 
 
 
62
  """
63
 
64
  # Calculate grid dimensions if not provided
 
8
 
9
  class ColorByNumber:
10
  def __init__(self, image_path, color_list, config = default_config):
11
+ """
12
+ Args:
13
+ image_path: Path to the image file.
14
+ color_list: List of colors in (R, G, B) format.
15
+ config: Dictionary of configuration parameters (optional).
16
+ """
17
  self.image_path = image_path
18
  self.color_list = color_list
19
  self.config = config
 
59
  Generates a grid of colored squares with labels below them.
60
 
61
  Args:
62
+ cols: Number of columns in the grid.
63
+ rows: Number of rows in the grid.
64
+ square_size: Size of each square in the grid.
65
+ margin: Margin around the grid.
66
+ gap_horizontal: Horizontal gap between squares.
67
+ gap_vertical: Vertical gap between squares.
68
+ font: Font for the labels.
69
+ font_size: Font size for the labels.
70
+ border_color: Color of the border around each square.
71
  """
72
 
73
  # Calculate grid dimensions if not provided
colorbynumber/numbered_islands.py CHANGED
@@ -19,6 +19,7 @@ def _add_text_to_image(image, text, position, font_size, font_color, font_thickn
19
  position (tuple): The position to add the text.
20
  font_size (int): The size of the font.
21
  font_color (tuple): The color of the font.
 
22
  Returns:
23
  np.array: A new image with the text added.
24
  """
@@ -44,11 +45,13 @@ def create_numbered_islands(islands, image_shape,
44
  """Create a new image with the islands numbered.
45
 
46
  Args:
47
- image (np.array): Numpy image.
48
  islands (list): A list of tuples.
49
- Each tuple contains the color_id and the coordinates of the pixels in an island.
50
- Returns:
51
- np.array: A new image with the islands numbered.
 
 
 
52
  """
53
 
54
  padding = config["border_padding"]
@@ -87,41 +90,3 @@ def create_numbered_islands(islands, image_shape,
87
  return numbered_islands
88
 
89
  return numbered_islands
90
-
91
- def _test_create_numbered_islands():
92
- image_shape = (853, 1280, 3)
93
-
94
- max_row, max_col = image_shape[0], image_shape[1]
95
-
96
- diagonal_coordinates = [
97
- (i,i) for i in range(max_row)
98
- ]
99
- left_border = [
100
- (i, 0) for i in range(max_row)
101
- ]
102
- bottom_border_left = [
103
- (max_row-1, i) for i in range(max_row)
104
- ]
105
- region_1 = diagonal_coordinates + left_border + bottom_border_left
106
-
107
- bottom_border_right = [
108
- (max_row - 1, i) for i in range(max_row, max_col)
109
- ]
110
- right_border = [
111
- (i, max_col - 1) for i in range(max_row)
112
- ]
113
- top_border = [
114
- (0, i) for i in range(max_col)
115
- ]
116
- region_2 = bottom_border_right + right_border + top_border
117
-
118
-
119
- numbered_islands = create_numbered_islands(
120
- islands = [
121
- ('random_color_1', region_1),
122
- ('random_color_2', region_2)
123
- ],
124
- image_shape = image_shape,
125
- )
126
-
127
- return numbered_islands
 
19
  position (tuple): The position to add the text.
20
  font_size (int): The size of the font.
21
  font_color (tuple): The color of the font.
22
+ font_thickness (int): The thickness of the font.
23
  Returns:
24
  np.array: A new image with the text added.
25
  """
 
45
  """Create a new image with the islands numbered.
46
 
47
  Args:
 
48
  islands (list): A list of tuples.
49
+ Each tuple contains the color id and the coordinates of the island border.
50
+ image_shape (tuple): The shape of the original image.
51
+ centroid_coords_list (list): A list of centroid coordinates for the islands.
52
+ config (dict): Configuration dictionary.
53
+ show_numbers (bool): If True, the numbers will be shown in the islands.
54
+ binary (bool): If True, the output will be a binary image.
55
  """
56
 
57
  padding = config["border_padding"]
 
90
  return numbered_islands
91
 
92
  return numbered_islands