Israaabdelghany's picture
tracing
38f26e8
Raw
History Blame Contribute Delete
1.51 kB
import sys, os
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")))
from FrameProcessor.graph.workflow import frame_processor
from types_.state import GraphState
from PIL import Image
import io
import base64
def load_image_base64(image_path):
"""Load image and return base64 string"""
with open(image_path, "rb") as img_file:
return base64.b64encode(img_file.read()).decode("utf-8")
def test_graph_on_frame(frame_path):
if not os.path.exists(frame_path):
raise FileNotFoundError(f"Frame not found: {frame_path}")
base64_img = load_image_base64(frame_path)
# Initial graph state
initial_state: GraphState = {
"frame_path": frame_path,
"frame_data": {
"base64_image": base64_img,
},
"frame_features": {},
"importance": "not_important",
"reason": "",
"description": {},
"next_step": "extract_features"
}
# Run the graph
final_state = frame_processor.invoke(initial_state)
# Print summary
print("\n=== Graph Result ===")
for k, v in final_state.items():
if isinstance(v, dict):
print(f"{k}: dict with {len(v)} keys")
elif isinstance(v, list):
print(f"{k}: list with {len(v)} items")
else:
print(f"{k}: {v}")
if __name__ == "__main__":
# 👇 Replace this with any valid image path
test_graph_on_frame("/home/israa/Desktop/SummerAIse/outputs/keyframes/keyframe_0000.jpg")