Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,21 @@
"WebSearch",
"PowerShell(conda activate astrolab)",
"PowerShell(python -m pytest tests/ -m \"not slow\" -q 2>&1)",
"PowerShell(Get-ChildItem -Path \"$env:USERPROFILE\" -Filter \"condabin\" -Directory -ErrorAction SilentlyContinue -Recurse -Depth 2 | Select-Object -First 5 FullName; Get-ChildItem -Path \"C:\\\\ProgramData\" -Filter \"condabin\" -Directory -ErrorAction SilentlyContinue | Select-Object FullName)"
"PowerShell(Get-ChildItem -Path \"$env:USERPROFILE\" -Filter \"condabin\" -Directory -ErrorAction SilentlyContinue -Recurse -Depth 2 | Select-Object -First 5 FullName; Get-ChildItem -Path \"C:\\\\ProgramData\" -Filter \"condabin\" -Directory -ErrorAction SilentlyContinue | Select-Object FullName)",
"PowerShell(Start-Process -FilePath \"python\" -ArgumentList \"AstroImageLab.py\" -WorkingDirectory \"d:\\\\GitHub\\\\AstroImageLab\" -PassThru)",
"PowerShell(Stop-Process -Id 25432 -Force -ErrorAction SilentlyContinue)",
"Bash(\"/c/Users/bmant/anaconda3/envs/astrolab/python.exe\" \"/c/Users/bmant/AppData/Local/Temp/claude/d--GitHub-AstroImageLab/689ff469-8361-4066-b1c5-da15c208080d/scratchpad/measure_control_panel.py\")",
"Bash(\"/c/Users/bmant/anaconda3/envs/astrolab/python.exe\" \"/c/Users/bmant/AppData/Local/Temp/claude/d--GitHub-AstroImageLab/689ff469-8361-4066-b1c5-da15c208080d/scratchpad/render_control_panel.py\")",
"Read(//c/Users/bmant/AppData/Local/Temp/claude/d--GitHub-AstroImageLab/689ff469-8361-4066-b1c5-da15c208080d/scratchpad/**)",
"Bash(python -c ' *)",
"Bash(\"/c/Users/bmant/anaconda3/envs/astrolab/python.exe\" \"/c/Users/bmant/AppData/Local/Temp/claude/d--GitHub-AstroImageLab/689ff469-8361-4066-b1c5-da15c208080d/scratchpad/crop_image.py\")",
"Bash(\"/c/Users/bmant/anaconda3/envs/astrolab/python.exe\" \"/c/Users/bmant/AppData/Local/Temp/claude/d--GitHub-AstroImageLab/689ff469-8361-4066-b1c5-da15c208080d/scratchpad/render_main_window.py\")",
"Bash(\"/c/Users/bmant/anaconda3/envs/astrolab/python.exe\" \"/c/Users/bmant/AppData/Local/Temp/claude/d--GitHub-AstroImageLab/689ff469-8361-4066-b1c5-da15c208080d/scratchpad/test_roi_reset.py\")",
"Bash(PYTHONIOENCODING=utf-8 \"/c/Users/bmant/anaconda3/envs/astrolab/python.exe\" \"/c/Users/bmant/AppData/Local/Temp/claude/d--GitHub-AstroImageLab/689ff469-8361-4066-b1c5-da15c208080d/scratchpad/test_roi_reset.py\")",
"Bash(PYTHONIOENCODING=utf-8 \"/c/Users/bmant/anaconda3/envs/astrolab/python.exe\" \"/c/Users/bmant/AppData/Local/Temp/claude/d--GitHub-AstroImageLab/689ff469-8361-4066-b1c5-da15c208080d/scratchpad/test_toolbar_sync.py\")",
"Bash(python -m py_compile gui/control_panel.py gui/main_window.py gui/image_panel.py)",
"Bash(/c/Users/bmant/anaconda3/envs/astrolab/python.exe -c ' *)",
"PowerShell(& \"$env:USERPROFILE\\\\miniconda3\\\\Scripts\\\\conda.exe\" --version 2>$null; if \\(-not $?\\) { & \"$env:USERPROFILE\\\\anaconda3\\\\Scripts\\\\conda.exe\" --version 2>$null })"
]
}
}
66 changes: 10 additions & 56 deletions AstroImageLab.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#
# PR → merge to main (CI runs tests + build to verify everything works)
# Tag the merge commit on main → triggers the release workflow
# git tag v0.0.8
# git push origin v0.0.8
# git tag v0.0.9
# git push origin v0.0.9

import sys
import os
Expand All @@ -23,64 +23,18 @@

import time
from PyQt6.QtWidgets import QApplication, QSplashScreen
from PyQt6.QtGui import QIcon, QPixmap, QPainter, QColor, QFont, QRadialGradient
from PyQt6.QtGui import QIcon, QPixmap
from PyQt6.QtCore import Qt, QTimer
from gui.main_window import MainWindow
from core.models import SPLASH_DURATION_MS


def _make_splash_pixmap() -> QPixmap:
W, H = 600, 300
pix = QPixmap(W, H)
pix.fill(QColor(13, 17, 23))
p = QPainter(pix)
p.setRenderHint(QPainter.RenderHint.Antialiasing)

# Dividing line
p.setPen(QColor(200, 200, 200))
p.drawLine(W // 2, 20, W // 2, H - 20)

# Left panel label (A)
p.setFont(QFont("Segoe UI", 20, QFont.Weight.Bold))
p.setPen(QColor(139, 191, 255))
p.drawText(18, 44, "A")

# Right panel label (B)
p.setPen(QColor(255, 200, 120))
p.drawText(W - 34, 44, "B")

# Left star — broad blurry radial glow (Image A, muted blue-white)
grad_a = QRadialGradient(W // 4, H // 2, H // 3)
grad_a.setColorAt(0.0, QColor(139, 191, 255, 160))
grad_a.setColorAt(0.4, QColor(100, 140, 200, 60))
grad_a.setColorAt(1.0, QColor(13, 17, 23, 0))
p.setBrush(grad_a)
p.setPen(Qt.PenStyle.NoPen)
p.drawEllipse(W // 4 - H // 3, H // 2 - H // 3, H // 3 * 2, H // 3 * 2)

# Right star — tight bright radial glow (Image B, warm white)
grad_b = QRadialGradient(3 * W // 4, H // 2, H // 8)
grad_b.setColorAt(0.0, QColor(255, 252, 224, 255))
grad_b.setColorAt(0.3, QColor(255, 220, 120, 120))
grad_b.setColorAt(1.0, QColor(13, 17, 23, 0))
p.setBrush(grad_b)
p.drawEllipse(3 * W // 4 - H // 8, H // 2 - H // 8, H // 4, H // 4)

# Title
p.setPen(QColor(240, 240, 240))
title_font = QFont("Segoe UI", 26, QFont.Weight.Bold)
p.setFont(title_font)
p.drawText(pix.rect(), Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter,
"Astro Image Lab")

# Subtitle
p.setPen(QColor(160, 170, 185))
p.setFont(QFont("Segoe UI", 12))
sub_rect = pix.rect().adjusted(0, H // 2 + 44, 0, 0)
p.drawText(sub_rect, Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop,
"Astronomical Image Comparison & Analysis")

p.end()
def _load_splash_pixmap() -> QPixmap:
splash_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"resources", "AstroImageLabSplash.png")
pix = QPixmap(splash_path)
if not pix.isNull():
pix = pix.scaledToWidth(640, Qt.TransformationMode.SmoothTransformation)
return pix


Expand All @@ -95,7 +49,7 @@ def _make_splash_pixmap() -> QPixmap:
app.setWindowIcon(QIcon(_icon_path))

# Splash screen
splash = QSplashScreen(_make_splash_pixmap(),
splash = QSplashScreen(_load_splash_pixmap(),
Qt.WindowType.WindowStaysOnTopHint)
splash.show()
app.processEvents()
Expand Down
Loading
Loading