Myosotis-Researches 0.0.30__py3-none-any.whl → 0.0.32__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- myosotis_researches/CcGAN/utils/__init__.py +3 -4
- myosotis_researches/CcGAN/utils/concat_image.py +72 -0
- myosotis_researches/CcGAN/utils/make_h5.py +2 -2
- myosotis_researches/CcGAN/utils/{print_hdf5_structure.py → print_hdf5.py} +2 -2
- {myosotis_researches-0.0.30.dist-info → myosotis_researches-0.0.32.dist-info}/METADATA +13 -2
- {myosotis_researches-0.0.30.dist-info → myosotis_researches-0.0.32.dist-info}/RECORD +9 -11
- myosotis_researches/CcGAN/utils/concat_image_horizontal.py +0 -31
- myosotis_researches/CcGAN/utils/concat_image_vertical.py +0 -31
- myosotis_researches/CcGAN/utils/install_datasets.py +0 -46
- {myosotis_researches-0.0.30.dist-info → myosotis_researches-0.0.32.dist-info}/WHEEL +0 -0
- {myosotis_researches-0.0.30.dist-info → myosotis_researches-0.0.32.dist-info}/licenses/LICENSE +0 -0
- {myosotis_researches-0.0.30.dist-info → myosotis_researches-0.0.32.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,5 @@
|
|
1
|
-
from .
|
2
|
-
from .
|
3
|
-
from .concat_image_vertical import concat_image_vertical
|
1
|
+
from .print_hdf5 import print_hdf5
|
2
|
+
from .concat_image import concat_image
|
4
3
|
from .make_h5 import make_h5
|
5
4
|
|
6
|
-
__all__ = ["
|
5
|
+
__all__ = ["print_hdf5", "concat_image", "make_h5"]
|
@@ -0,0 +1,72 @@
|
|
1
|
+
from PIL import Image
|
2
|
+
|
3
|
+
|
4
|
+
def _concat_image_horizontal(img_list: list[Image], gap=2) -> Image:
|
5
|
+
N = len(img_list)
|
6
|
+
|
7
|
+
# Error 1: no images
|
8
|
+
if N == 0:
|
9
|
+
raise ValueError("The length of the image list is 0.")
|
10
|
+
|
11
|
+
# Error 2: Size differs
|
12
|
+
width = img_list[0].width
|
13
|
+
height = img_list[0].height
|
14
|
+
for i in range(1, N):
|
15
|
+
if img_list[i].width != width:
|
16
|
+
raise ValueError("All images should have the same width.")
|
17
|
+
if img_list[i].height != height:
|
18
|
+
raise ValueError("All images should have the same height.")
|
19
|
+
|
20
|
+
# Create concated image
|
21
|
+
concated_width = width * N + gap * (N + 1)
|
22
|
+
concated_height = height + gap * 2
|
23
|
+
concated_image = Image.new("RGB", (concated_width, concated_height))
|
24
|
+
|
25
|
+
# Copy ans paste
|
26
|
+
for i in range(N):
|
27
|
+
concated_image.paste(img_list[i], (width * i + gap * (i + 1), gap))
|
28
|
+
|
29
|
+
# return
|
30
|
+
return concated_image
|
31
|
+
|
32
|
+
|
33
|
+
def _concat_image_vertical(img_list: list[Image], gap=2) -> Image:
|
34
|
+
N = len(img_list)
|
35
|
+
|
36
|
+
# Error 1: no images
|
37
|
+
if N == 0:
|
38
|
+
raise ValueError("The length of the image list is 0.")
|
39
|
+
|
40
|
+
# Error 2: Size differs
|
41
|
+
width = img_list[0].width
|
42
|
+
height = img_list[0].height
|
43
|
+
for i in range(1, N):
|
44
|
+
if img_list[i].width != width:
|
45
|
+
raise ValueError("All images should have the same width.")
|
46
|
+
if img_list[i].height != height:
|
47
|
+
raise ValueError("All images should have the same height.")
|
48
|
+
|
49
|
+
# Create concated image
|
50
|
+
concated_width = width + gap * 2
|
51
|
+
concated_height = height * N + gap * (N + 1)
|
52
|
+
concated_image = Image.new("RGB", (concated_width, concated_height))
|
53
|
+
|
54
|
+
# Copy ans paste
|
55
|
+
for i in range(N):
|
56
|
+
concated_image.paste(img_list[i], (gap, height * i + gap * (i + 1)))
|
57
|
+
|
58
|
+
# return
|
59
|
+
return concated_image
|
60
|
+
|
61
|
+
|
62
|
+
def concat_image(img_list: list[Image], gap=2, direction="vertical"):
|
63
|
+
|
64
|
+
if direction == "vertical":
|
65
|
+
_concat_image_vertical(img_list, gap=gap)
|
66
|
+
elif direction == "horizontal":
|
67
|
+
_concat_image_horizontal(img_list, gap=gap)
|
68
|
+
else:
|
69
|
+
raise ValueError("Direction should be 'vertical' or 'horizontal'.")
|
70
|
+
|
71
|
+
|
72
|
+
__all__ = ["concat_image"]
|
@@ -2,7 +2,7 @@ import h5py
|
|
2
2
|
import numpy as np
|
3
3
|
import os
|
4
4
|
from PIL import Image
|
5
|
-
from .
|
5
|
+
from .print_hdf5 import print_hdf5
|
6
6
|
|
7
7
|
# Make all images to a HDF5 file
|
8
8
|
def make_h5(image_dir, h5_path, image_names = [], indx_train = None, indx_valid = None, image_labels = None, image_types = None):
|
@@ -38,6 +38,6 @@ def make_h5(image_dir, h5_path, image_names = [], indx_train = None, indx_valid
|
|
38
38
|
f.create_dataset("types", data=image_types)
|
39
39
|
|
40
40
|
# Visualize
|
41
|
-
f.visititems(
|
41
|
+
f.visititems(print_hdf5)
|
42
42
|
|
43
43
|
__all__ = ["make_h5"]
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import h5py
|
2
2
|
|
3
3
|
|
4
|
-
def
|
4
|
+
def print_hdf5(name, obj):
|
5
5
|
indent = " " * name.count("/")
|
6
6
|
if isinstance(obj, h5py.Dataset):
|
7
7
|
print(f"{indent}[Dataset] {name} shape={obj.shape} dtype={obj.dtype}")
|
8
8
|
elif isinstance(obj, h5py.Group):
|
9
9
|
print(f"{indent}[Group] {name}")
|
10
10
|
|
11
|
-
__all__ = ["
|
11
|
+
__all__ = ["print_hdf5"]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: Myosotis-Researches
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.32
|
4
4
|
Summary: A repository for storing my progress of researches.
|
5
5
|
Home-page: https://github.com/Zeyu-Xie/Myosotis-Researches
|
6
6
|
Author: Zeyu Xie
|
@@ -23,4 +23,15 @@ Dynamic: summary
|
|
23
23
|
|
24
24
|
# Myosotis-Researches
|
25
25
|
|
26
|
-
|
26
|
+
## `CcGAN` (`myosotis_researches.CcGAN`)
|
27
|
+
|
28
|
+
### `internal`
|
29
|
+
|
30
|
+
Import
|
31
|
+
|
32
|
+
```
|
33
|
+
from myosotis_researches.internal import *
|
34
|
+
```
|
35
|
+
|
36
|
+
### `utils`
|
37
|
+
|
@@ -44,14 +44,12 @@ myosotis_researches/CcGAN/train_128_output_10/train_cgan.py,sha256=bYJbBskTpESfC
|
|
44
44
|
myosotis_researches/CcGAN/train_128_output_10/train_cgan_concat.py,sha256=PYctY3IZiHGh4TshXx3mUZBf9su_8NuV_D8InkxKQZ4,8940
|
45
45
|
myosotis_researches/CcGAN/train_128_output_10/train_net_for_label_embed.py,sha256=4j6r4_o4rXgAN4MdUQL-TXqZJpbhH7d9gWQR8YzBlXw,6976
|
46
46
|
myosotis_researches/CcGAN/train_128_output_10/utils.py,sha256=B-V6ct4WDisVVCOLO0W7VIBL8StPVNJJTZZ2b2NkMFU,3766
|
47
|
-
myosotis_researches/CcGAN/utils/__init__.py,sha256=
|
48
|
-
myosotis_researches/CcGAN/utils/
|
49
|
-
myosotis_researches/CcGAN/utils/
|
50
|
-
myosotis_researches/CcGAN/utils/
|
51
|
-
myosotis_researches/
|
52
|
-
myosotis_researches/
|
53
|
-
myosotis_researches-0.0.
|
54
|
-
myosotis_researches-0.0.
|
55
|
-
myosotis_researches-0.0.
|
56
|
-
myosotis_researches-0.0.30.dist-info/top_level.txt,sha256=zxAiMn5eyZNJM28MewTAkgi_RZJMbfWbzVR-KF0LdZE,20
|
57
|
-
myosotis_researches-0.0.30.dist-info/RECORD,,
|
47
|
+
myosotis_researches/CcGAN/utils/__init__.py,sha256=azZ2ZSSmWREoptI_5oQ180HojMoCqv2oleveRswq40w,155
|
48
|
+
myosotis_researches/CcGAN/utils/concat_image.py,sha256=zSVFkIgj18m9wKTNWxBmZIdqMgVKF2IB2m1C65l_qyo,2151
|
49
|
+
myosotis_researches/CcGAN/utils/make_h5.py,sha256=Jzsr9q7lneHyvi5HX1m4WBNarUYU1jUsXJuHnyQlAGc,1392
|
50
|
+
myosotis_researches/CcGAN/utils/print_hdf5.py,sha256=VvmNAWtMDmg6D9V6ZbSUXrQTKRh9WIJeC4BR_ORJkco,300
|
51
|
+
myosotis_researches-0.0.32.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
52
|
+
myosotis_researches-0.0.32.dist-info/METADATA,sha256=no1tptSMdyKbj2_EdXmaoP1Ep2qoodtWj9n6D3JfQmo,844
|
53
|
+
myosotis_researches-0.0.32.dist-info/WHEEL,sha256=ck4Vq1_RXyvS4Jt6SI0Vz6fyVs4GWg7AINwpsaGEgPE,91
|
54
|
+
myosotis_researches-0.0.32.dist-info/top_level.txt,sha256=zxAiMn5eyZNJM28MewTAkgi_RZJMbfWbzVR-KF0LdZE,20
|
55
|
+
myosotis_researches-0.0.32.dist-info/RECORD,,
|
@@ -1,31 +0,0 @@
|
|
1
|
-
from PIL import Image
|
2
|
-
|
3
|
-
def concat_image_horizontal(img_list: list[Image], gap = 2) -> Image:
|
4
|
-
N = len(img_list)
|
5
|
-
|
6
|
-
# Error 1: no images
|
7
|
-
if N == 0:
|
8
|
-
raise ValueError("The length of the image list is 0.")
|
9
|
-
|
10
|
-
# Error 2: Size differs
|
11
|
-
width = img_list[0].width
|
12
|
-
height = img_list[0].height
|
13
|
-
for i in range(1, N):
|
14
|
-
if img_list[i].width != width:
|
15
|
-
raise ValueError("All images should have the same width.")
|
16
|
-
if img_list[i].height != height:
|
17
|
-
raise ValueError("All images should have the same height.")
|
18
|
-
|
19
|
-
# Create concated image
|
20
|
-
concated_width = width * N + gap * (N+1)
|
21
|
-
concated_height = height + gap * 2
|
22
|
-
concated_image = Image.new("RGB", (concated_width, concated_height))
|
23
|
-
|
24
|
-
# Copy ans paste
|
25
|
-
for i in range(N):
|
26
|
-
concated_image.paste(img_list[i], (width * i + gap * (i+1), gap))
|
27
|
-
|
28
|
-
# return
|
29
|
-
return concated_image
|
30
|
-
|
31
|
-
__all__ = ["concat_image_horizontal"]
|
@@ -1,31 +0,0 @@
|
|
1
|
-
from PIL import Image
|
2
|
-
|
3
|
-
def concat_image_vertical(img_list: list[Image], gap = 2) -> Image:
|
4
|
-
N = len(img_list)
|
5
|
-
|
6
|
-
# Error 1: no images
|
7
|
-
if N == 0:
|
8
|
-
raise ValueError("The length of the image list is 0.")
|
9
|
-
|
10
|
-
# Error 2: Size differs
|
11
|
-
width = img_list[0].width
|
12
|
-
height = img_list[0].height
|
13
|
-
for i in range(1, N):
|
14
|
-
if img_list[i].width != width:
|
15
|
-
raise ValueError("All images should have the same width.")
|
16
|
-
if img_list[i].height != height:
|
17
|
-
raise ValueError("All images should have the same height.")
|
18
|
-
|
19
|
-
# Create concated image
|
20
|
-
concated_width = width + gap * 2
|
21
|
-
concated_height = height * N + gap * (N+1)
|
22
|
-
concated_image = Image.new("RGB", (concated_width, concated_height))
|
23
|
-
|
24
|
-
# Copy ans paste
|
25
|
-
for i in range(N):
|
26
|
-
concated_image.paste(img_list[i], (gap, height * i + gap * (i+1)))
|
27
|
-
|
28
|
-
# return
|
29
|
-
return concated_image
|
30
|
-
|
31
|
-
__all__ = ["concat_image_vertical"]
|
@@ -1,46 +0,0 @@
|
|
1
|
-
import gdown
|
2
|
-
import getpass
|
3
|
-
from importlib import resources
|
4
|
-
import os
|
5
|
-
import subprocess
|
6
|
-
|
7
|
-
# Paths
|
8
|
-
datasets_dir = resources.files("myosotis_researches").joinpath("CcGAN", "datasets")
|
9
|
-
if not os.path.exists(datasets_dir):
|
10
|
-
os.makedirs(datasets_dir, exist_ok=True)
|
11
|
-
|
12
|
-
# File ID dictionary
|
13
|
-
file_id_dict = {
|
14
|
-
"Ra": "1CcXp7ga4Ebj7XeMA_fYH2RxTMOWvA0v5",
|
15
|
-
"MNIST": "1LCQmQEBAGBI7ouBEWvIAjGKZsKcYasoe",
|
16
|
-
}
|
17
|
-
|
18
|
-
|
19
|
-
# Function
|
20
|
-
def install_datasets(datasets_name):
|
21
|
-
|
22
|
-
# Path
|
23
|
-
zipped_dataset_path = os.path.join(datasets_dir, f"{datasets_name}_datasets.rar")
|
24
|
-
|
25
|
-
# File ID
|
26
|
-
file_id = file_id_dict[datasets_name]
|
27
|
-
|
28
|
-
# URL
|
29
|
-
url = f"https://drive.google.com/uc?id={file_id}"
|
30
|
-
|
31
|
-
# Download
|
32
|
-
gdown.download(url, zipped_dataset_path, quiet=False, use_cookies=False)
|
33
|
-
|
34
|
-
# Unzip
|
35
|
-
unzip_password = getpass.getpass("Password:")
|
36
|
-
cmd = ["unrar", "x", f"-p{unzip_password}", zipped_dataset_path, datasets_dir]
|
37
|
-
try:
|
38
|
-
subprocess.run(cmd, check=True)
|
39
|
-
except subprocess.CalledProcessError as e:
|
40
|
-
print(e)
|
41
|
-
|
42
|
-
# Delete zipped datasets
|
43
|
-
os.remove(zipped_dataset_path)
|
44
|
-
|
45
|
-
|
46
|
-
__all__ = ["install_datasets"]
|
File without changes
|
{myosotis_researches-0.0.30.dist-info → myosotis_researches-0.0.32.dist-info}/licenses/LICENSE
RENAMED
File without changes
|
File without changes
|