nalin0503 commited on
Commit
64a9e02
·
1 Parent(s): ca501e3

add checks FILM.py

Browse files
Files changed (1) hide show
  1. FILM.py +10 -2
FILM.py CHANGED
@@ -53,15 +53,17 @@ def _recursive_generator(frame1, frame2, num_recursions, interpolator):
53
  if num_recursions == 0:
54
  yield frame1 # exit condition
55
  else:
56
- time = np.full(shape=(1,), fill_value=0.5, dtype=np.float32)
57
  mid_frame = interpolator(
58
- np.expand_dims(frame1, axis=0), np.expand_dims(frame2, axis=0), time)[0]
59
  yield from _recursive_generator(frame1, mid_frame, num_recursions - 1, interpolator) # 1st half
60
  yield from _recursive_generator(mid_frame, frame2, num_recursions - 1, interpolator) # 2nd half
61
 
62
  def interpolate_recursively(frames, num_recursions, interpolator):
63
  """Apply recursive interpolation to a list of input frames."""
64
  n = len(frames)
 
 
65
  for i in range(1, n):
66
  yield from _recursive_generator(frames[i - 1], frames[i], num_recursions, interpolator)
67
  yield frames[-1]
@@ -69,6 +71,12 @@ def interpolate_recursively(frames, num_recursions, interpolator):
69
  def process_keyframes(input_folder, output_folder, fps=30, num_recursions=3):
70
  """Process keyframes to create an interpolated video, using functions above"""
71
  keyframes = sorted(glob(os.path.join(input_folder, '*.png')))
 
 
 
 
 
 
72
  frames = [preprocess_image(frame).numpy() for frame in keyframes]
73
 
74
  interpolator = Interpolator()
 
53
  if num_recursions == 0:
54
  yield frame1 # exit condition
55
  else:
56
+ dt_value = np.full(shape=(1,), fill_value=0.5, dtype=np.float32)
57
  mid_frame = interpolator(
58
+ np.expand_dims(frame1, axis=0), np.expand_dims(frame2, axis=0), dt_value)[0]
59
  yield from _recursive_generator(frame1, mid_frame, num_recursions - 1, interpolator) # 1st half
60
  yield from _recursive_generator(mid_frame, frame2, num_recursions - 1, interpolator) # 2nd half
61
 
62
  def interpolate_recursively(frames, num_recursions, interpolator):
63
  """Apply recursive interpolation to a list of input frames."""
64
  n = len(frames)
65
+ if n == 0:
66
+ raise ValueError("No input frames found.")
67
  for i in range(1, n):
68
  yield from _recursive_generator(frames[i - 1], frames[i], num_recursions, interpolator)
69
  yield frames[-1]
 
71
  def process_keyframes(input_folder, output_folder, fps=30, num_recursions=3):
72
  """Process keyframes to create an interpolated video, using functions above"""
73
  keyframes = sorted(glob(os.path.join(input_folder, '*.png')))
74
+ if not keyframes:
75
+ raise ValueError(f"No PNG keyframes found in {input_folder}")
76
+
77
+ # Ensure the output folder exists
78
+ os.makedirs(output_folder, exist_ok=True)
79
+
80
  frames = [preprocess_image(frame).numpy() for frame in keyframes]
81
 
82
  interpolator = Interpolator()