ludusc commited on
Commit
6a0e8ed
1 Parent(s): 1cb3b5a

new color classification (standard)

Browse files
.gitignore CHANGED
@@ -189,4 +189,5 @@ cython_debug/
189
  data/images/
190
  tmp/
191
  figures/
192
- archive/
 
 
189
  data/images/
190
  tmp/
191
  figures/
192
+ archive/
193
+ segment-anything/
DisentanglementBase.py CHANGED
@@ -181,12 +181,20 @@ class DisentanglementBase:
181
  bins = [(x-1) * 360 / (len(self.colors_list) - 1) if x != 1
182
  else 1 for x in range(len(self.colors_list) + 1)]
183
  bins[0] = 0
 
184
  y_cat = pd.cut(y,
185
  bins=bins,
186
  labels=self.colors_list,
187
  include_lowest=True
188
  )
189
  print(y_cat.value_counts())
 
 
 
 
 
 
 
190
  x_train, x_val, y_train, y_val = train_test_split(X, y_cat, test_size=0.2)
191
  else:
192
  if extremes:
@@ -567,11 +575,13 @@ def main():
567
  with dnnlib.util.open_url(model_file) as f:
568
  model = legacy.load_network_pkl(f)['G_ema'] # type: ignore
569
 
570
- colors_list = ['Red', 'Orange', 'Yellow', 'Yellow Green', 'Chartreuse Green',
571
- 'Kelly Green', 'Green Blue Seafoam', 'Cyan Blue',
572
- 'Warm Blue', 'Indigo', 'Purple Magenta', 'Magenta Pink']
573
- colors_list = ['Gray', 'Red Orange', 'Yellow', 'Green', 'Light Blue',
574
- 'Blue', 'Purple', 'Pink']
 
 
575
 
576
  scores = []
577
  kwargs = {'CL method':['LR', 'SVM'], 'C':[0.1, 1], 'sign':[True, False],
 
181
  bins = [(x-1) * 360 / (len(self.colors_list) - 1) if x != 1
182
  else 1 for x in range(len(self.colors_list) + 1)]
183
  bins[0] = 0
184
+
185
  y_cat = pd.cut(y,
186
  bins=bins,
187
  labels=self.colors_list,
188
  include_lowest=True
189
  )
190
  print(y_cat.value_counts())
191
+
192
+ y_h_cat[y_s == 0] = 'Gray'
193
+ y_h_cat[y_s == 100] = 'Gray'
194
+ y_h_cat[y_v == 0] = 'Gray'
195
+ y_h_cat[y_v == 100] = 'Gray'
196
+
197
+ print(y_cat.value_counts())
198
  x_train, x_val, y_train, y_val = train_test_split(X, y_cat, test_size=0.2)
199
  else:
200
  if extremes:
 
575
  with dnnlib.util.open_url(model_file) as f:
576
  model = legacy.load_network_pkl(f)['G_ema'] # type: ignore
577
 
578
+ # colors_list = ['Red', 'Orange', 'Yellow', 'Yellow Green', 'Chartreuse Green',
579
+ # 'Kelly Green', 'Green Blue Seafoam', 'Cyan Blue',
580
+ # 'Warm Blue', 'Indigo', 'Purple Magenta', 'Magenta Pink']
581
+ # colors_list = ['Gray', 'Red Orange', 'Yellow', 'Green', 'Light Blue',
582
+ # 'Blue', 'Purple', 'Pink']
583
+ colors_list = ['Gray', 'Red', 'Yellow', 'Green', 'Cyan',
584
+ 'Blue', 'Magenta']
585
 
586
  scores = []
587
  kwargs = {'CL method':['LR', 'SVM'], 'C':[0.1, 1], 'sign':[True, False],
data/grammar_ornaments/1_colors_generally.png ADDED

Git LFS Details

  • SHA256: 8a486eb08408a776bf685267727e07012e03e9d58d2cd00cc52a17a0f4583deb
  • Pointer size: 131 Bytes
  • Size of remote file: 549 kB
data/grammar_ornaments/2_proportions_and_contrasts.png ADDED

Git LFS Details

  • SHA256: b70781936b5a79e4889de59c2012973fe72bcfa0576a6df15658f8c4dd3c8f29
  • Pointer size: 131 Bytes
  • Size of remote file: 608 kB
data/grammar_ornaments/3_positions_simultanous.png ADDED

Git LFS Details

  • SHA256: e9c7a4c0cf7c9e0de1e2c7a39793e518ef453fcb57ca52802c2c04e8b525c68a
  • Pointer size: 131 Bytes
  • Size of remote file: 582 kB
data/grammar_ornaments/4_juxtapositions.png ADDED

Git LFS Details

  • SHA256: 99ba0ce71ab96aa76dd924dd3d384112d7aa23ca858f4ec48474f5c3c67485cd
  • Pointer size: 131 Bytes
  • Size of remote file: 478 kB
grammar_ornament_test.ipynb ADDED
@@ -0,0 +1,256 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import os \n",
10
+ "from glob import glob \n",
11
+ "import pandas as pd\n",
12
+ "import numpy as np\n",
13
+ "\n",
14
+ "from PIL import Image, ImageColor\n",
15
+ "import extcolors\n",
16
+ "\n",
17
+ "import matplotlib.pyplot as plt\n",
18
+ "\n",
19
+ "import torch\n",
20
+ "\n",
21
+ "import dnnlib \n",
22
+ "import legacy\n",
23
+ "\n",
24
+ "\n",
25
+ "%load_ext autoreload\n",
26
+ "%autoreload 2"
27
+ ]
28
+ },
29
+ {
30
+ "cell_type": "code",
31
+ "execution_count": null,
32
+ "metadata": {},
33
+ "outputs": [],
34
+ "source": [
35
+ "images_textiles = glob('/Users/ludovicaschaerf/Desktop/TextAIles/TextileGAN/Original Textiles/*')"
36
+ ]
37
+ },
38
+ {
39
+ "cell_type": "markdown",
40
+ "metadata": {},
41
+ "source": [
42
+ "### LAWS\n",
43
+ "\n",
44
+ "1. primary colours on small surfaces and secondary or tertiary colors on large backgrounds\n",
45
+ "2. primary in upper portions and sec/third in lower portions of objects\n",
46
+ "3. primaries of equal intensities harmonize, secondaries harmonized by opposite primary in equal intensity, tertiary by remaining secondary\n",
47
+ "4. a full colors contrasted by a lower tone color should have the latter in larger proportion\n",
48
+ "5. when a primary has a hue (second coloration) of another primary, the secondary must have the hue of the third primary\n",
49
+ "6. blue in concave surfaces, yellow in convex, red in undersites\n",
50
+ "7. if too much of a color, the other colors should have the hue version without that color\n",
51
+ "8. all three primaries should be present\n",
52
+ "9. ..."
53
+ ]
54
+ },
55
+ {
56
+ "cell_type": "markdown",
57
+ "metadata": {},
58
+ "source": [
59
+ "Test 1\n",
60
+ "\n",
61
+ "primary - secondary - tertiary "
62
+ ]
63
+ },
64
+ {
65
+ "cell_type": "code",
66
+ "execution_count": null,
67
+ "metadata": {},
68
+ "outputs": [],
69
+ "source": [
70
+ "def get_color_rank(hue, saturation, value):\n",
71
+ " if value < 5:\n",
72
+ " color = 'Black'\n",
73
+ " rank = 'None'\n",
74
+ " elif saturation < 3:\n",
75
+ " color = 'White'\n",
76
+ " rank = 'None'\n",
77
+ " elif saturation < 15:\n",
78
+ " color = 'Gray'\n",
79
+ " rank = 'None'\n",
80
+ " elif hue == 0:\n",
81
+ " color = 'Gray'\n",
82
+ " rank = 'None'\n",
83
+ " \n",
84
+ " elif hue >= 330 or hue <= 15:\n",
85
+ " color = 'Red'\n",
86
+ " rank = 'Primary'\n",
87
+ " elif hue > 15 and hue < 25:\n",
88
+ " color = 'Red Orange'\n",
89
+ " rank = 'Tertiary'\n",
90
+ " elif hue >= 25 and hue <= 40:\n",
91
+ " color = 'Orange'\n",
92
+ " rank = 'Secondary'\n",
93
+ " elif hue > 40 and hue < 50:\n",
94
+ " color = 'Orange Yellow'\n",
95
+ " rank = 'Tertiary'\n",
96
+ " elif hue >= 50 and hue <= 85:\n",
97
+ " color = 'Yellow'\n",
98
+ " rank = 'Primary'\n",
99
+ " elif hue > 85 and hue < 95:\n",
100
+ " color = 'Yellow Green'\n",
101
+ " rank = 'Tertiary'\n",
102
+ " elif hue >= 95 and hue <= 145:\n",
103
+ " color = 'Green'\n",
104
+ " rank = 'Secondary'\n",
105
+ " elif hue >= 145 and hue < 180:\n",
106
+ " color = 'Green Blue'\n",
107
+ " rank = 'Tertiary'\n",
108
+ " elif hue >= 180 and hue <= 245:\n",
109
+ " color = 'Blue'\n",
110
+ " rank = 'Primary'\n",
111
+ " elif hue > 245 and hue < 265:\n",
112
+ " color = 'Blue Violet'\n",
113
+ " rank = 'Tertiary'\n",
114
+ " elif hue >= 265 and hue <= 290:\n",
115
+ " color = 'Violet'\n",
116
+ " rank = 'Secondary'\n",
117
+ " elif hue > 290 and hue < 330:\n",
118
+ " color = 'Violet Red'\n",
119
+ " rank = 'Tertiary'\n",
120
+ " return color, rank"
121
+ ]
122
+ },
123
+ {
124
+ "cell_type": "code",
125
+ "execution_count": null,
126
+ "metadata": {},
127
+ "outputs": [],
128
+ "source": [
129
+ "def rgb2hsv(r, g, b):\n",
130
+ " # Normalize R, G, B values\n",
131
+ " r, g, b = r / 255.0, g / 255.0, b / 255.0\n",
132
+ " \n",
133
+ " # h, s, v = hue, saturation, value\n",
134
+ " max_rgb = max(r, g, b) \n",
135
+ " min_rgb = min(r, g, b) \n",
136
+ " difference = max_rgb-min_rgb \n",
137
+ " \n",
138
+ " # if max_rgb and max_rgb are equal then h = 0\n",
139
+ " if max_rgb == min_rgb:\n",
140
+ " h = 0\n",
141
+ " \n",
142
+ " # if max_rgb==r then h is computed as follows\n",
143
+ " elif max_rgb == r:\n",
144
+ " h = (60 * ((g - b) / difference) + 360) % 360\n",
145
+ " \n",
146
+ " # if max_rgb==g then compute h as follows\n",
147
+ " elif max_rgb == g:\n",
148
+ " h = (60 * ((b - r) / difference) + 120) % 360\n",
149
+ " \n",
150
+ " # if max_rgb=b then compute h\n",
151
+ " elif max_rgb == b:\n",
152
+ " h = (60 * ((r - g) / difference) + 240) % 360\n",
153
+ " \n",
154
+ " # if max_rgb==zero then s=0\n",
155
+ " if max_rgb == 0:\n",
156
+ " s = 0\n",
157
+ " else:\n",
158
+ " s = (difference / max_rgb) * 100\n",
159
+ " \n",
160
+ " # compute v\n",
161
+ " v = max_rgb * 100\n",
162
+ " # return rounded values of H, S and V\n",
163
+ " return tuple(map(round, (h, s, v)))\n",
164
+ " "
165
+ ]
166
+ },
167
+ {
168
+ "cell_type": "code",
169
+ "execution_count": null,
170
+ "metadata": {},
171
+ "outputs": [],
172
+ "source": [
173
+ "def obtain_hsv_colors(img):\n",
174
+ " colors = extcolors.extract_from_path(img, tolerance=7, limit=7)\n",
175
+ " colors = [(rgb2hsv(h[0][0], h[0][1], h[0][2]), h[1]) for h in colors[0] if h[0] != (0,0,0)]\n",
176
+ " return colors"
177
+ ]
178
+ },
179
+ {
180
+ "cell_type": "code",
181
+ "execution_count": null,
182
+ "metadata": {},
183
+ "outputs": [],
184
+ "source": [
185
+ "colors = obtain_hsv_colors(images_textiles[0])\n",
186
+ "print(colors)"
187
+ ]
188
+ },
189
+ {
190
+ "cell_type": "code",
191
+ "execution_count": null,
192
+ "metadata": {},
193
+ "outputs": [],
194
+ "source": [
195
+ "for col in colors:\n",
196
+ " print(get_color_rank(*col[0]))"
197
+ ]
198
+ },
199
+ {
200
+ "cell_type": "code",
201
+ "execution_count": null,
202
+ "metadata": {},
203
+ "outputs": [],
204
+ "source": [
205
+ "for img in images_textiles[:30]:\n",
206
+ " colors = obtain_hsv_colors(img)\n",
207
+ " plt.imshow(plt.imread(img))\n",
208
+ " plt.show()\n",
209
+ " for col in colors:\n",
210
+ " print(col[0])\n",
211
+ " print(get_color_rank(*col[0]))\n",
212
+ " \n",
213
+ " print()"
214
+ ]
215
+ },
216
+ {
217
+ "cell_type": "markdown",
218
+ "metadata": {},
219
+ "source": [
220
+ "### use for training only images with medium saturation and value\n",
221
+ "\n",
222
+ "use codes and not only hue for color categorization\n",
223
+ "or remove colors that are creater with black and whites"
224
+ ]
225
+ },
226
+ {
227
+ "cell_type": "code",
228
+ "execution_count": null,
229
+ "metadata": {},
230
+ "outputs": [],
231
+ "source": []
232
+ }
233
+ ],
234
+ "metadata": {
235
+ "kernelspec": {
236
+ "display_name": "art-reco_x86",
237
+ "language": "python",
238
+ "name": "python3"
239
+ },
240
+ "language_info": {
241
+ "codemirror_mode": {
242
+ "name": "ipython",
243
+ "version": 3
244
+ },
245
+ "file_extension": ".py",
246
+ "mimetype": "text/x-python",
247
+ "name": "python",
248
+ "nbconvert_exporter": "python",
249
+ "pygments_lexer": "ipython3",
250
+ "version": "3.8.16"
251
+ },
252
+ "orig_nbformat": 4
253
+ },
254
+ "nbformat": 4,
255
+ "nbformat_minor": 2
256
+ }
interfacegan_colour_disentanglement.ipynb CHANGED
@@ -15,6 +15,7 @@
15
  "\n",
16
  "from PIL import Image, ImageColor\n",
17
  "import matplotlib.pyplot as plt\n",
 
18
  "\n",
19
  "import numpy as np\n",
20
  "import torch\n",
@@ -33,6 +34,87 @@
33
  "%autoreload 2"
34
  ]
35
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  {
37
  "cell_type": "code",
38
  "execution_count": null,
@@ -43,6 +125,21 @@
43
  "num_colors = 7"
44
  ]
45
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  {
47
  "cell_type": "code",
48
  "execution_count": null,
@@ -50,8 +147,7 @@
50
  "metadata": {},
51
  "outputs": [],
52
  "source": [
53
- "values = [x*256/num_colors if x<num_colors else 256 for x in range(num_colors + 1)]\n",
54
- "centers = [int((values[i-1]+values[i])/2) for i in range(len(values)) if i > 0]"
55
  ]
56
  },
57
  {
@@ -61,7 +157,7 @@
61
  "metadata": {},
62
  "outputs": [],
63
  "source": [
64
- "print(values)\n",
65
  "print(centers)"
66
  ]
67
  },
@@ -100,9 +196,9 @@
100
  "metadata": {},
101
  "outputs": [],
102
  "source": [
103
- "def to_256(val):\n",
104
- " x = val*360/256\n",
105
- " return x"
106
  ]
107
  },
108
  {
@@ -112,9 +208,7 @@
112
  "metadata": {},
113
  "outputs": [],
114
  "source": [
115
- "names = ['Red', 'Orange', 'Yellow', 'Yellow Green', 'Chartreuse Green',\n",
116
- " 'Kelly Green', 'Green Blue Seafoam', 'Cyan Blue',\n",
117
- " 'Warm Blue', 'Indigo', 'Purple Magenta', 'Magenta Pink']"
118
  ]
119
  },
120
  {
@@ -127,7 +221,7 @@
127
  "saturation = 1 # Saturation value (0 to 1)\n",
128
  "value = 1 # Value (brightness) value (0 to 1)\n",
129
  "for hue, name in zip(centers, names[:num_colors]):\n",
130
- " image = create_color_image(to_256(hue), saturation, value)\n",
131
  " display_image(image, name) # Display the generated color image"
132
  ]
133
  },
@@ -148,6 +242,37 @@
148
  " model = legacy.load_network_pkl(f)['G_ema'].to('cpu') # type: ignore\n"
149
  ]
150
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
  {
152
  "cell_type": "code",
153
  "execution_count": null,
@@ -155,7 +280,6 @@
155
  "metadata": {},
156
  "outputs": [],
157
  "source": [
158
- "ann_df = tohsv(ann_df)\n",
159
  "ann_df.head()"
160
  ]
161
  },
@@ -291,9 +415,7 @@
291
  "metadata": {},
292
  "outputs": [],
293
  "source": [
294
- "colors_list = ['Warm Pink Red', 'Red Orange', 'Orange Yellow', 'Gold Yellow', 'Chartreuse Green',\n",
295
- " 'Kelly Green', 'Green Blue Seafoam', 'Blue Green Cyan',\n",
296
- " 'Warm Blue', 'Indigo Blue Purple', 'Purple Magenta', 'Magenta Pink']"
297
  ]
298
  },
299
  {
@@ -313,10 +435,17 @@
313
  "source": [
314
  "from sklearn import svm\n",
315
  "\n",
316
- "print([int(x*256/12) if x<12 else 255 for x in range(13)])\n",
317
- "y_h_cat = pd.cut(y_h,bins=[x*256/12 if x<12 else 256 for x in range(13)],labels=colors_list).fillna('Warm Pink Red')\n",
318
  "\n",
319
  "print(y_h_cat.value_counts(dropna=False))\n",
 
 
 
 
 
 
 
 
320
  "x_trainhc, x_valhc, y_trainhc, y_valhc = train_test_split(X, y_h_cat, test_size=0.2)"
321
  ]
322
  },
 
15
  "\n",
16
  "from PIL import Image, ImageColor\n",
17
  "import matplotlib.pyplot as plt\n",
18
+ "from sklearn.model_selection import train_test_split\n",
19
  "\n",
20
  "import numpy as np\n",
21
  "import torch\n",
 
34
  "%autoreload 2"
35
  ]
36
  },
37
+ {
38
+ "cell_type": "markdown",
39
+ "id": "03efb8c0",
40
+ "metadata": {},
41
+ "source": [
42
+ "0-60\n",
43
+ "\n",
44
+ "Red\n",
45
+ "\n",
46
+ "60-120\n",
47
+ "\n",
48
+ "Yellow\n",
49
+ "\n",
50
+ "120-180\n",
51
+ "\n",
52
+ "Green\n",
53
+ "\n",
54
+ "180-240\n",
55
+ "\n",
56
+ "Cyan\n",
57
+ "\n",
58
+ "240-300\n",
59
+ "\n",
60
+ "Blue\n",
61
+ "\n",
62
+ "300-360\n",
63
+ "\n",
64
+ "Magenta\n",
65
+ "\n",
66
+ "Standard classification"
67
+ ]
68
+ },
69
+ {
70
+ "cell_type": "code",
71
+ "execution_count": null,
72
+ "id": "00a35126",
73
+ "metadata": {},
74
+ "outputs": [],
75
+ "source": [
76
+ "def hex2rgb(hex_value):\n",
77
+ " h = hex_value.strip(\"#\") \n",
78
+ " rgb = tuple(int(h[i:i+2], 16) for i in (0, 2, 4))\n",
79
+ " return rgb\n",
80
+ "\n",
81
+ "def rgb2hsv(r, g, b):\n",
82
+ " # Normalize R, G, B values\n",
83
+ " r, g, b = r / 255.0, g / 255.0, b / 255.0\n",
84
+ " \n",
85
+ " # h, s, v = hue, saturation, value\n",
86
+ " max_rgb = max(r, g, b) \n",
87
+ " min_rgb = min(r, g, b) \n",
88
+ " difference = max_rgb-min_rgb \n",
89
+ " \n",
90
+ " # if max_rgb and max_rgb are equal then h = 0\n",
91
+ " if max_rgb == min_rgb:\n",
92
+ " h = 0\n",
93
+ " \n",
94
+ " # if max_rgb==r then h is computed as follows\n",
95
+ " elif max_rgb == r:\n",
96
+ " h = (60 * ((g - b) / difference) + 360) % 360\n",
97
+ " \n",
98
+ " # if max_rgb==g then compute h as follows\n",
99
+ " elif max_rgb == g:\n",
100
+ " h = (60 * ((b - r) / difference) + 120) % 360\n",
101
+ " \n",
102
+ " # if max_rgb=b then compute h\n",
103
+ " elif max_rgb == b:\n",
104
+ " h = (60 * ((r - g) / difference) + 240) % 360\n",
105
+ " \n",
106
+ " # if max_rgb==zero then s=0\n",
107
+ " if max_rgb == 0:\n",
108
+ " s = 0\n",
109
+ " else:\n",
110
+ " s = (difference / max_rgb) * 100\n",
111
+ " \n",
112
+ " # compute v\n",
113
+ " v = max_rgb * 100\n",
114
+ " # return rounded values of H, S and V\n",
115
+ " return tuple(map(round, (h, s, v)))"
116
+ ]
117
+ },
118
  {
119
  "cell_type": "code",
120
  "execution_count": null,
 
125
  "num_colors = 7"
126
  ]
127
  },
128
+ {
129
+ "cell_type": "code",
130
+ "execution_count": null,
131
+ "id": "c8428918",
132
+ "metadata": {},
133
+ "outputs": [],
134
+ "source": [
135
+ "bins = [(x-1) * 360 / (num_colors - 1) if x != 1 \n",
136
+ " else 1 for x in range(num_colors + 1)]\n",
137
+ "bins[0] = 0\n",
138
+ "\n",
139
+ "bins\n",
140
+ " "
141
+ ]
142
+ },
143
  {
144
  "cell_type": "code",
145
  "execution_count": null,
 
147
  "metadata": {},
148
  "outputs": [],
149
  "source": [
150
+ "centers = [int((bins[i-1]+bins[i])/2) for i in range(len(bins)) if i > 0]"
 
151
  ]
152
  },
153
  {
 
157
  "metadata": {},
158
  "outputs": [],
159
  "source": [
160
+ "print(bins)\n",
161
  "print(centers)"
162
  ]
163
  },
 
196
  "metadata": {},
197
  "outputs": [],
198
  "source": [
199
+ "# def to_256(val):\n",
200
+ "# x = val*360/256\n",
201
+ "# return int(x)"
202
  ]
203
  },
204
  {
 
208
  "metadata": {},
209
  "outputs": [],
210
  "source": [
211
+ "names = ['Gray', 'Red', 'Yellow', 'Green', 'Cyan', 'Blue','Magenta']"
 
 
212
  ]
213
  },
214
  {
 
221
  "saturation = 1 # Saturation value (0 to 1)\n",
222
  "value = 1 # Value (brightness) value (0 to 1)\n",
223
  "for hue, name in zip(centers, names[:num_colors]):\n",
224
+ " image = create_color_image(hue, saturation, value)\n",
225
  " display_image(image, name) # Display the generated color image"
226
  ]
227
  },
 
242
  " model = legacy.load_network_pkl(f)['G_ema'].to('cpu') # type: ignore\n"
243
  ]
244
  },
245
+ {
246
+ "cell_type": "code",
247
+ "execution_count": null,
248
+ "id": "065cd656",
249
+ "metadata": {},
250
+ "outputs": [],
251
+ "source": [
252
+ "from DisentanglementBase import DisentanglementBase"
253
+ ]
254
+ },
255
+ {
256
+ "cell_type": "code",
257
+ "execution_count": null,
258
+ "id": "afb8a611",
259
+ "metadata": {},
260
+ "outputs": [],
261
+ "source": [
262
+ "variable = 'H1'\n",
263
+ "disentanglemnet_exp = DisentanglementBase('.', model, annotations, ann_df, space='W', colors_list=names, compute_s=False, variable=variable)\n"
264
+ ]
265
+ },
266
+ {
267
+ "cell_type": "code",
268
+ "execution_count": null,
269
+ "id": "a7398217",
270
+ "metadata": {},
271
+ "outputs": [],
272
+ "source": [
273
+ "ann_df = disentanglemnet_exp.df"
274
+ ]
275
+ },
276
  {
277
  "cell_type": "code",
278
  "execution_count": null,
 
280
  "metadata": {},
281
  "outputs": [],
282
  "source": [
 
283
  "ann_df.head()"
284
  ]
285
  },
 
415
  "metadata": {},
416
  "outputs": [],
417
  "source": [
418
+ "colors_list = names"
 
 
419
  ]
420
  },
421
  {
 
435
  "source": [
436
  "from sklearn import svm\n",
437
  "\n",
438
+ "y_h_cat = pd.cut(y_h,bins=bins,labels=colors_list, include_lowest=True)\n",
 
439
  "\n",
440
  "print(y_h_cat.value_counts(dropna=False))\n",
441
+ "\n",
442
+ "y_h_cat[y_s == 0] = 'Gray'\n",
443
+ "y_h_cat[y_s == 100] = 'Gray'\n",
444
+ "y_h_cat[y_v == 0] = 'Gray'\n",
445
+ "y_h_cat[y_v == 100] = 'Gray'\n",
446
+ "\n",
447
+ "print(y_h_cat.value_counts(dropna=False))\n",
448
+ "\n",
449
  "x_trainhc, x_valhc, y_trainhc, y_valhc = train_test_split(X, y_h_cat, test_size=0.2)"
450
  ]
451
  },
structure_annotations.ipynb CHANGED
The diff for this file is too large to render. See raw diff