fix: numpy array or-Verknuepfung in Crop/Deskew + ImageCompareView Labels
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 37s
CI / test-go-edu-search (push) Successful in 30s
CI / test-python-klausur (push) Failing after 2m17s
CI / test-python-agent-core (push) Successful in 17s
CI / test-nodejs-website (push) Successful in 24s

- orientation_crop_api.py: `array or array` durch `is not None` ersetzt
  (ValueError bei numpy Arrays)
- ocr_pipeline_api.py: gleicher Fix fuer Deskew-Fallback-Kette
- ImageCompareView.tsx: Fallback-Text nutzt rightLabel statt "Begradigung"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-09 08:02:44 +01:00
parent 2763631711
commit eb45bb4879
3 changed files with 12 additions and 7 deletions

View File

@@ -125,7 +125,7 @@ export function ImageCompareView({
<>
<img
src={rightUrl}
alt="Begradigtes Bild"
alt={rightLabel || 'Bearbeitetes Bild'}
className="w-full h-full object-contain"
onError={() => setRightError(true)}
/>
@@ -133,7 +133,7 @@ export function ImageCompareView({
</>
) : (
<div className="flex items-center justify-center h-full text-gray-400">
{rightError ? 'Fehler beim Laden' : 'Begradigung laeuft...'}
{rightError ? 'Fehler beim Laden' : `${rightLabel || 'Verarbeitung'} laeuft...`}
</div>
)}
</div>

View File

@@ -484,7 +484,8 @@ async def auto_deskew(session_id: str):
cached = _get_cached(session_id)
# Use cropped image as input (from step 2), fall back to oriented, then original
img_bgr = cached.get("cropped_bgr") or cached.get("oriented_bgr") or cached.get("original_bgr")
img_bgr = next((v for k in ("cropped_bgr", "oriented_bgr", "original_bgr")
if (v := cached.get(k)) is not None), None)
if img_bgr is None:
raise HTTPException(status_code=400, detail="No image available for deskewing")
@@ -589,7 +590,8 @@ async def manual_deskew(session_id: str, req: ManualDeskewRequest):
await _load_session_to_cache(session_id)
cached = _get_cached(session_id)
img_bgr = cached.get("cropped_bgr") or cached.get("oriented_bgr") or cached.get("original_bgr")
img_bgr = next((v for k in ("cropped_bgr", "oriented_bgr", "original_bgr")
if (v := cached.get(k)) is not None), None)
if img_bgr is None:
raise HTTPException(status_code=400, detail="No image available for deskewing")

View File

@@ -174,7 +174,8 @@ async def auto_crop(session_id: str):
cached = await _ensure_cached(session_id)
# Use oriented image if available, else original
img_bgr = cached.get("oriented_bgr") or cached.get("original_bgr")
oriented = cached.get("oriented_bgr")
img_bgr = oriented if oriented is not None else cached.get("original_bgr")
if img_bgr is None:
raise HTTPException(status_code=400, detail="No image available for cropping")
@@ -236,7 +237,8 @@ async def manual_crop(session_id: str, req: ManualCropRequest):
"""Manually crop using percentage coordinates."""
cached = await _ensure_cached(session_id)
img_bgr = cached.get("oriented_bgr") or cached.get("original_bgr")
oriented = cached.get("oriented_bgr")
img_bgr = oriented if oriented is not None else cached.get("original_bgr")
if img_bgr is None:
raise HTTPException(status_code=400, detail="No image available for cropping")
@@ -294,7 +296,8 @@ async def skip_crop(session_id: str):
"""Skip cropping — use oriented (or original) image as-is."""
cached = await _ensure_cached(session_id)
img_bgr = cached.get("oriented_bgr") or cached.get("original_bgr")
oriented = cached.get("oriented_bgr")
img_bgr = oriented if oriented is not None else cached.get("original_bgr")
if img_bgr is None:
raise HTTPException(status_code=400, detail="No image available")