Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
AVVR-Pipeline-GDP4
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
GDP Project 4
AVVR-Pipeline-GDP4
Commits
9b7c2a2a
Commit
9b7c2a2a
authored
6 months ago
by
mhby1g21
Browse files
Options
Downloads
Patches
Plain Diff
added clean output folder and clean all files buttons
parent
ddb48c2a
No related branches found
No related tags found
1 merge request
!4
GDP 4.2.10 - Adding Debug mode to GUI.py to run individual modules
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
scripts/debug_tool/tabs/edge_net_tab.py
+197
-2
197 additions, 2 deletions
scripts/debug_tool/tabs/edge_net_tab.py
with
197 additions
and
2 deletions
scripts/debug_tool/tabs/edge_net_tab.py
+
197
−
2
View file @
9b7c2a2a
...
@@ -228,6 +228,34 @@ class EdgeNetTab:
...
@@ -228,6 +228,34 @@ class EdgeNetTab:
state
=
'
disabled
'
state
=
'
disabled
'
)
)
self
.
cancel_button
.
pack
(
pady
=
5
)
self
.
cancel_button
.
pack
(
pady
=
5
)
# Add separator before clean buttons
ttk
.
Separator
(
button_frame
,
orient
=
'
horizontal
'
).
pack
(
fill
=
tk
.
X
,
pady
=
5
)
# Create frame for clean buttons
clean_frame
=
ttk
.
Frame
(
button_frame
)
clean_frame
.
pack
(
fill
=
tk
.
X
,
pady
=
5
)
# Add clean output button
ttk
.
Button
(
clean_frame
,
text
=
"
Clean Output Directory
"
,
command
=
self
.
clean_output_directory
,
style
=
'
CleanOutput.TButton
'
# Custom style for warning-like button but less severe
).
pack
(
side
=
tk
.
LEFT
,
padx
=
5
)
# Add clean all files button
ttk
.
Button
(
clean_frame
,
text
=
"
Clean All Files
"
,
command
=
self
.
clean_all_files
,
style
=
'
CleanAll.TButton
'
# Custom style for warning-like button
).
pack
(
side
=
tk
.
LEFT
,
padx
=
5
)
# Create custom styles for clean buttons
style
=
ttk
.
Style
()
style
.
configure
(
'
CleanOutput.TButton
'
,
foreground
=
'
orange
'
)
# Less severe warning color
style
.
configure
(
'
CleanAll.TButton
'
,
foreground
=
'
red
'
)
# Severe warning color
def
run_process_with_output
(
self
,
cmd
,
description
):
def
run_process_with_output
(
self
,
cmd
,
description
):
"""
Run a process and capture output in real-time
"""
"""
Run a process and capture output in real-time
"""
...
@@ -733,7 +761,7 @@ class EdgeNetTab:
...
@@ -733,7 +761,7 @@ class EdgeNetTab:
def
update_depth_preview
(
self
):
def
update_depth_preview
(
self
):
"""
Update the enhanced depth preview
"""
"""
Update the enhanced depth preview
"""
preview_size
=
(
300
,
150
)
# Adjust size as needed
preview_size
=
(
300
,
150
)
# Adjust size as needed
depth_path
=
os
.
path
.
join
(
self
.
edge_net_dir
,
"
Input
"
,
"
enhanced_depth_e.png
"
)
depth_path
=
os
.
path
.
join
(
self
.
input_dir
,
"
enhanced_depth_e.png
"
)
if
os
.
path
.
exists
(
depth_path
):
if
os
.
path
.
exists
(
depth_path
):
try
:
try
:
...
@@ -749,4 +777,171 @@ class EdgeNetTab:
...
@@ -749,4 +777,171 @@ class EdgeNetTab:
"""
Update the mesh preview
"""
"""
Update the mesh preview
"""
# Note: This would require additional implementation to render mesh preview
# Note: This would require additional implementation to render mesh preview
# Could potentially use a screenshot or placeholder image
# Could potentially use a screenshot or placeholder image
self
.
update_status
(
"
Mesh preview not implemented
"
)
self
.
update_status
(
"
Mesh preview not implemented
"
)
\ No newline at end of file
def
clean_all_files
(
self
):
"""
Clean all output and intermediary files
"""
# Create detailed message of what will be cleaned
clean_message
=
"
This will delete all files in:
\n\n
"
clean_message
+=
"
1. edgenet-360/Data/Input/
\n
"
clean_message
+=
"
2. edgenet-360/Output/
\n
"
clean_message
+=
"
3. Temporary files
\n\n
"
clean_message
+=
"
Are you sure you want to proceed?
"
# Show confirmation dialog
if
not
messagebox
.
askyesno
(
"
Confirm Clean
"
,
clean_message
,
icon
=
'
warning
'
):
self
.
update_status
(
"
Clean operation cancelled by user
"
)
return
try
:
# List of directories to clean
directories
=
[
os
.
path
.
join
(
self
.
edge_net_dir
,
"
Data
"
,
"
Input
"
),
self
.
output_dir
]
# List of temp files to remove
temp_files
=
[
self
.
config_reader
.
file_paths
[
'
shiftedImage
'
],
self
.
config_reader
.
file_paths
[
'
monoDepthImage
'
],
os
.
path
.
join
(
self
.
edge_net_dir
,
"
process_output.log
"
)
# WSL output log if exists
]
files_removed
=
0
# Clean directories
for
directory
in
directories
:
if
os
.
path
.
exists
(
directory
):
try
:
# List all files before deleting for reporting
files
=
os
.
listdir
(
directory
)
self
.
update_status
(
f
"
\n
Cleaning directory:
{
directory
}
"
)
for
file
in
files
:
file_path
=
os
.
path
.
join
(
directory
,
file
)
try
:
if
os
.
path
.
isfile
(
file_path
):
os
.
remove
(
file_path
)
self
.
update_status
(
f
"
Removed:
{
file
}
"
)
files_removed
+=
1
elif
os
.
path
.
isdir
(
file_path
):
shutil
.
rmtree
(
file_path
)
self
.
update_status
(
f
"
Removed directory:
{
file
}
"
)
files_removed
+=
1
except
Exception
as
e
:
self
.
update_status
(
f
"
Error removing
{
file
}
:
{
str
(
e
)
}
"
)
except
Exception
as
e
:
self
.
update_status
(
f
"
Error cleaning directory
{
directory
}
:
{
str
(
e
)
}
"
)
else
:
self
.
update_status
(
f
"
Directory does not exist:
{
directory
}
"
)
# Clean temp files
for
temp_file
in
temp_files
:
if
os
.
path
.
exists
(
temp_file
):
try
:
os
.
remove
(
temp_file
)
self
.
update_status
(
f
"
Removed temp file:
{
temp_file
}
"
)
files_removed
+=
1
except
Exception
as
e
:
self
.
update_status
(
f
"
Error removing temp file
{
temp_file
}
:
{
str
(
e
)
}
"
)
# Final report
if
files_removed
>
0
:
self
.
update_status
(
f
"
\n
Cleaning complete. Removed
{
files_removed
}
files/directories.
"
)
messagebox
.
showinfo
(
"
Clean Complete
"
,
f
"
Successfully removed
{
files_removed
}
files/directories.
"
)
else
:
self
.
update_status
(
"
\n
No files found to clean.
"
)
messagebox
.
showinfo
(
"
Clean Complete
"
,
"
No files found to clean.
"
)
# Reset status indicators
self
.
edge_status
.
config
(
text
=
"
Not started
"
)
self
.
split_status
.
config
(
text
=
"
Not started
"
)
self
.
flip_status
.
config
(
text
=
"
Not started
"
)
# Clear previews
self
.
clear_previews
()
except
Exception
as
e
:
error_msg
=
f
"
Error during cleaning:
{
str
(
e
)
}
"
self
.
update_status
(
error_msg
)
messagebox
.
showerror
(
"
Error
"
,
error_msg
)
def
clean_output_directory
(
self
):
"""
Clean only the output directory
"""
# Create detailed message of what will be cleaned
clean_message
=
"
This will delete all files in:
\n\n
"
clean_message
+=
"
edgenet-360/Output/
\n\n
"
clean_message
+=
"
Are you sure you want to proceed?
"
# Show confirmation dialog
if
not
messagebox
.
askyesno
(
"
Confirm Clean Output
"
,
clean_message
,
icon
=
'
warning
'
):
self
.
update_status
(
"
Clean output operation cancelled by user
"
)
return
try
:
files_removed
=
0
if
os
.
path
.
exists
(
self
.
output_dir
):
try
:
# List all files before deleting for reporting
files
=
os
.
listdir
(
self
.
output_dir
)
if
not
files
:
self
.
update_status
(
"
\n
Output directory is already empty.
"
)
messagebox
.
showinfo
(
"
Clean Output
"
,
"
Output directory is already empty.
"
)
return
self
.
update_status
(
f
"
\n
Cleaning output directory:
{
self
.
output_dir
}
"
)
for
file
in
files
:
file_path
=
os
.
path
.
join
(
self
.
output_dir
,
file
)
try
:
if
os
.
path
.
isfile
(
file_path
):
os
.
remove
(
file_path
)
self
.
update_status
(
f
"
Removed:
{
file
}
"
)
files_removed
+=
1
elif
os
.
path
.
isdir
(
file_path
):
shutil
.
rmtree
(
file_path
)
self
.
update_status
(
f
"
Removed directory:
{
file
}
"
)
files_removed
+=
1
except
Exception
as
e
:
self
.
update_status
(
f
"
Error removing
{
file
}
:
{
str
(
e
)
}
"
)
# Final report
self
.
update_status
(
f
"
\n
Output directory cleaning complete. Removed
{
files_removed
}
files/directories.
"
)
messagebox
.
showinfo
(
"
Clean Output Complete
"
,
f
"
Successfully removed
{
files_removed
}
files/directories from output directory.
"
)
# Reset relevant status indicators
self
.
split_status
.
config
(
text
=
"
Not started
"
)
# Reset status for operations that create output files
self
.
flip_status
.
config
(
text
=
"
Not started
"
)
# Clear mesh preview if it exists
self
.
mesh_preview
.
configure
(
image
=
''
)
except
Exception
as
e
:
error_msg
=
f
"
Error cleaning output directory:
{
str
(
e
)
}
"
self
.
update_status
(
error_msg
)
messagebox
.
showerror
(
"
Error
"
,
error_msg
)
else
:
self
.
update_status
(
"
\n
Output directory does not exist.
"
)
messagebox
.
showinfo
(
"
Clean Output
"
,
"
Output directory does not exist.
"
)
except
Exception
as
e
:
error_msg
=
f
"
Error during output cleaning:
{
str
(
e
)
}
"
self
.
update_status
(
error_msg
)
messagebox
.
showerror
(
"
Error
"
,
error_msg
)
def
clear_previews
(
self
):
"""
Clear all preview images
"""
try
:
# Clear depth preview
self
.
depth_preview
.
configure
(
image
=
''
)
# Clear mesh preview
self
.
mesh_preview
.
configure
(
image
=
''
)
# Force update
self
.
tab
.
update_idletasks
()
except
Exception
as
e
:
self
.
update_status
(
f
"
Error clearing previews:
{
str
(
e
)
}
"
)
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment