-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathAutoLineDigitizer.spec
More file actions
106 lines (99 loc) · 2.97 KB
/
AutoLineDigitizer.spec
File metadata and controls
106 lines (99 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# -*- mode: python ; coding: utf-8 -*-
import os
import sys
import certifi
from PyInstaller.utils.hooks import collect_submodules, collect_data_files
# Get the directory containing this spec file
spec_dir = os.path.dirname(os.path.abspath(SPEC))
# Collect all distutils submodules (including setuptools._distutils)
distutils_imports = collect_submodules('distutils') + collect_submodules('setuptools._distutils')
# Collect all mmcv submodules to ensure runner, parallel, cnn, etc. are included
mmcv_imports = collect_submodules('mmcv')
a = Analysis(
['desktop_app.py'],
pathex=[
spec_dir,
os.path.join(spec_dir, 'submodules', 'chartdete'),
os.path.join(spec_dir, 'submodules', 'lineformer'),
os.path.join(spec_dir, 'submodules', 'lineformer', 'mmdetection'),
os.path.join(spec_dir, 'src'),
],
binaries=[],
datas=[
# SSL certificates for HTTPS downloads
(certifi.where(), 'certifi'),
# Config files
('config', 'config'),
# LineFormer submodule (config files and line_utils)
('submodules/lineformer/lineformer_swin_t_config.py', 'submodules/lineformer'),
('submodules/lineformer/line_utils.py', 'submodules/lineformer'),
('submodules/lineformer/infer.py', 'submodules/lineformer'),
# LineFormer mmdetection
('submodules/lineformer/mmdetection/mmdet', 'submodules/lineformer/mmdetection/mmdet'),
# ChartDete submodule
('submodules/chartdete/mmdet', 'submodules/chartdete/mmdet'),
('submodules/chartdete/configs', 'submodules/chartdete/configs'),
# src module
('src/chartdete_infer.py', 'src'),
# EasyOCR models (bundled for offline use)
(os.path.join(spec_dir, 'easyocr_models'), 'easyocr_models'),
],
hiddenimports=[
'mmdet',
'mmdet.models',
'mmdet.models.roi_heads',
'mmdet.models.roi_heads.cascade_roi_head_LGF',
'torch',
'torchvision',
'cv2',
'numpy',
'easyocr',
'PIL',
'skimage',
'scipy',
'bresenham',
'terminaltables',
'matplotlib',
'pycocotools',
] + distutils_imports + mmcv_imports,
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='AutoLineDigitizer',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
coll = COLLECT(
exe,
a.binaries,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='AutoLineDigitizer',
)
if sys.platform == 'darwin':
app = BUNDLE(
coll,
name='AutoLineDigitizer.app',
icon=None,
bundle_identifier='com.lineformer.autolinedigitizer',
)