diff --git a/.gitignore b/.gitignore
index 4f7f04f..26caaea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,6 +28,7 @@ test_results/
!tests/outputs/figs/*.png
*.jpg
*.jpeg
+*.sea
# IDE and editor files
.vscode/
diff --git a/src/pyslice/backend.py b/src/pyslice/backend.py
index 61b1500..3d9a6a5 100644
--- a/src/pyslice/backend.py
+++ b/src/pyslice/backend.py
@@ -106,6 +106,8 @@ def asarray(arraylike, dtype=None, device=None):
return array
def zeros(dims, dtype=DEFAULT_FLOAT_DTYPE, device=DEFAULT_DEVICE):
+ if isinstance(dtype,str):
+ dtype=DEFAULT_FLOAT_DTYPE if dtype=="float" else DEFAULT_COMPLEX_DTYPE
if xp != np:
array = xp.zeros(dims, dtype=dtype, device=device)
else:
diff --git a/src/pyslice/data/signal.py b/src/pyslice/data/ALSONOTsignal.py
similarity index 99%
rename from src/pyslice/data/signal.py
rename to src/pyslice/data/ALSONOTsignal.py
index fac9a1b..272a383 100644
--- a/src/pyslice/data/signal.py
+++ b/src/pyslice/data/ALSONOTsignal.py
@@ -271,6 +271,7 @@ def to_dict(self,
if deep: value = type(value)([v.to_dict(hidden=hidden, properties=properties, deep=deep) for v in value]) #keep the iterable type and loop it converting each element to a dict\
result[key] = value
else:
+ #print("TODICT",key,value)
result[key] = value
return result
@@ -282,6 +283,8 @@ def to_hdf5_group(self, parent_group: File|Group,
"""Save object to SEA formated HDF5 group."""
sea_type = type(self).__name__ # Get the SEA class type
+ if sea_type in ["TACAWData","WFData"]: # TWP 20260120: sea-eco appears to not know about TACAWData, so let's treat parent classes (not Dimensions and friends) as Signals
+ sea_type = 'Signal'
# Handle group name: use provided name, fall back to object's name attribute, or default
if name is None:
@@ -299,8 +302,16 @@ def to_hdf5_group(self, parent_group: File|Group,
exclude_keys=exclude_keys)
to_write = {**{k:v for k,v in to_write.items() if '_' not in str(k)},
**{k:v for k,v in to_write.items() if '_' in str(k)}}
+ print("to_write.keys()",to_write.keys())
+ #to_write[ "data" ]=to_write[ "array" ]
storage_name_counts: Dict[str, int] = {}
+ #print("to_write",to_write.items().keys())
for key, val in to_write.items():
+ #print("name",name,"key",key,"val",val,"type",type(val))
+ if key in ["probe","cache_dir"]:
+ continue
+ if key == "_array":
+ key = "data"
if not hasattr(self, key):
continue
storage_key = key[1:] if key.startswith('_') else key
@@ -339,7 +350,7 @@ def to_sea(self, file_path: str,
file.attrs['file_type'] = 'SEA-eco HDF5 file'.encode('utf-8')
file.attrs['file_version'] = '0.0'.encode('utf-8')
file.attrs['sea_type'] = type(self).__name__.encode('utf-8')
-
+ #print("file.attrs",[ (k,file.attrs[k]) for k in file.attrs.keys() ])
self.to_hdf5_group(parent_group=file, force_datasets=force_datasets)
file.close()
@@ -632,7 +643,7 @@ class Dimension(SEASerializable):
def __init__(self, dimension: Dict|GeneralMetadata|None = None,
name: str = 'Unnamed Dimension',
space: Literal["position", "scattering", "temporal", "spectral"] | None = None,
- scale: float|int|Iterable[float|int]|None = None,
+ scale: float|int|Iterable[float|int]|None = 1,
offset: float|int|Iterable[float|int]|None = None,
size: int|Iterable[int]|None = None,
units: str|Iterable[str] = '',
diff --git a/src/pyslice/data/NOTsignal.py b/src/pyslice/data/NOTsignal.py
new file mode 100644
index 0000000..e627826
--- /dev/null
+++ b/src/pyslice/data/NOTsignal.py
@@ -0,0 +1,1802 @@
+'''
+Signal class and related data structures for PySlice.
+Copied from sea-eco with minimal modifications.
+'''
+
+#Imports: Typing
+from __future__ import annotations
+from abc import ABC, abstractmethod
+from typing import List, Any, Dict, Tuple, Callable, Literal, Union
+#from types import EllipsisType
+from collections.abc import Iterable
+from matplotlib.axes import Axes as mplAxes
+import matplotlib.pyplot as plt
+from numpy.typing import NDArray, DTypeLike
+
+#Imports: External
+from warnings import warn
+from copy import deepcopy
+from pathlib import Path
+from inspect import signature, Parameter
+
+from h5py import Group, File, Dataset
+from uuid import uuid4
+
+import numpy as np
+import pickle
+
+# Optional plotting imports from sea-eco
+try:
+ from pySEA.sea_eco._plotting.plot import plot_nd_array, PlotImage, save_plot, save_image
+ PLOTTING_AVAILABLE = True
+except ImportError:
+ PLOTTING_AVAILABLE = False
+ plot_nd_array = None
+ PlotImage = None
+ save_plot = None
+ save_image = None
+
+def generate_uuid() -> str:
+ """Generate a new UUID string."""
+ return str(uuid4())
+
+def _check_and_convert_numpy(value: Any) -> Any:
+ """Convert numpy scalars/arrays to native Python containers."""
+ if isinstance(value, np.generic):
+ return _check_and_convert_numpy(value.item())
+ #if isinstance(value, np.ndarray):
+ # return [_check_and_convert_numpy(v) for v in value.tolist()]
+ if isinstance(value, (list, tuple)):
+ converted = [_check_and_convert_numpy(v) for v in value]
+ return type(value)(converted)
+ return value
+
+def safe_decode(value: Any) -> Any:
+ """Safely decode bytes and numpy values to native Python objects.
+
+ Used for HDF5 attributes (not datasets). Converts bytes to strings
+ and handles special encoded values like None.
+ """
+ if isinstance(value, bytes):
+ try:
+ decoded = value.decode('utf-8')
+ # Handle special encoded values
+ if decoded == 'None':
+ return None
+ return decoded
+ except UnicodeDecodeError:
+ return value
+ if isinstance(value, str):
+ # Handle string 'None' (in case it wasn't bytes)
+ if value == 'None':
+ return None
+ return _check_and_convert_numpy(value)
+
+def safe_encode(value: Any) -> Any:
+ """Safely encode Python values (including numpy types) for HDF5 attributes."""
+ if isinstance(value, str):
+ return value.encode('utf-8')
+ if value is None:
+ return 'None'.encode('utf-8')
+ return _check_and_convert_numpy(value)
+
+def ask_to_proceed():
+ while True:
+ user_input = input("Do you want to continue? (Y/N): ").upper() # Convert to uppercase for case-insensitivity
+ if user_input == 'Y' or user_input== '':
+ print("Proceeding...")
+ # Add the code to execute if the user chooses 'Y' here
+ break # Exit the loop once a valid 'Y' is entered
+ elif user_input == 'N':
+ print("Exiting...")
+ # Add the code to execute if the user chooses 'N' here
+ break # Exit the loop once a valid 'N' is entered
+ else:
+ print("Invalid input. Please enter 'Y' or 'N'.")
+
+def get_index_or_none(list_in:List, value:Any):
+ try:
+ index = list_in.index(value)
+ return index
+ except ValueError:
+ return None
+
+def check_dimensions_call(kwargs, fnc):
+ """Check and convert dimension kwargs (dim, axis, axes) to the function's expected format then returned the allowed kwarg key.
+
+ Parameters
+ ----------
+ kwargs : dict
+ The keyword arguments to check and potentially modify
+ fnc : callable
+ The function whose signature to check
+
+ Returns
+ -------
+ str | None
+ The dimension keyword that was used, or None if no dimension kwargs were found
+ """
+ possible_dim_keys = ['axis', 'axes', 'dim']
+
+ # First check what dimension arguments the function accepts
+ params = signature(fnc).parameters
+ fnc_accepts = None
+ for k in possible_dim_keys:
+ if k in params:
+ fnc_accepts = k
+ break
+ if fnc_accepts is None:
+ warn('The function does not accept any dimensional references.')
+
+ # Check which dimension arguments were provided
+ provided_key = [k for k in possible_dim_keys if k in kwargs]
+
+ if len(provided_key) == 0:
+ return None
+ elif len(provided_key) == 1:
+ kwargs[fnc_accepts] = kwargs.pop(provided_key[0])
+ return fnc_accepts
+ elif len(provided_key) > 1:
+ raise ValueError(f"Only one of {possible_dim_keys} can be used at a time, but got: {provided_key}")
+
+ #kwargs[fnc_accepts] = kwargs.pop(provided_key)
+
+ return fnc_accepts #provided_key #? should I provide the one that was found in fnc or provided
+
+ # if prov_dim_key: kwargs[fnc_dim_key] = kwargs.pop(prov_dim_key)
+ # return prov_dim_key
+
+def get_property_dict(obj:object):
+ """Get a dictionary of an objects properties
+
+ Parameters
+ ----------
+ obj : Object
+ Any object
+
+ Returns
+ -------
+ Dict
+ A dictionary of an objects properties.
+ """
+ cls = type(obj)
+ return {
+ name: getattr(obj, name)
+ for name in dir(cls)
+ if isinstance(getattr(cls, name), property)
+ }
+
+def get_tree_html(obj, recursive_level: int = 0,
+ exclude_keys: List[str] = [],
+ exclude_hidden: bool = True,
+ exclude_properties: bool = False,
+ promote_itterable_keys: List[str] = []
+ ) -> str:
+ html = ""
+ tree_dict = dict(obj.__dict__)
+ if not exclude_properties: tree_dict.update(get_property_dict(obj))
+
+ for key, value in tree_dict.items():
+ #Handle exclusions and promotions of keys
+ if key in exclude_keys: continue
+ if exclude_hidden and key.startswith('_'): continue
+
+ #build the html tree
+ if isinstance(value, SEASerializable):
+ html += (
+ "
"
+ f""
+ ""
+ f"- {key}
"
+ f"{value.get_tree_html(recursive_level+1)}"
+ "
"
+ )
+ elif isinstance(value, Iterable) and key in promote_itterable_keys:
+ html += (
+ ""
+ f" 0 else ''}>"
+ ""
+ f"- {key}
"
+ )
+ for val in value:
+ html += (
+ ""
+ f" 0 else ''}>"
+ ""
+ f"- {val}
"
+ f"{val.get_tree_html(recursive_level+2)}"
+ "
"
+ )
+ html += "
"
+ else:
+ html += (
+ ""
+ f"- {key} = {value}
"
+ "
"
+ )
+ return html
+
+class SEASerializable(ABC):
+ """Base class for objects that can be serialized to/from HDF5."""
+
+ def _repr_html_(self):
+ """Return a compact HTML representation of the GeneralMetadata tree."""
+ return self.get_tree_html()
+
+ def deepcopy(self):
+ """Create a deep copy of the object."""
+ return deepcopy(self)
+
+ def to_dict(self,
+ hidden: bool = True,
+ properties: bool = False,
+ exclude_keys: List[str] = [],
+ deep: bool = True
+ #promote_itterable_keys: List[str] = [] # Iterables atributes like Dimensions.dimensions or Signals.signals to promote. #?This was used in get_tree_html but I am not sure if it will be needed here.
+ ):
+ """
+ Recursively convert Dimension object to a dictionary.
+
+ Parameters
+ ----------
+ hidden : bool, optional
+ Include hidden attributes (starting with '_'), by default Truee.
+ properties : bool, optional
+ Include properties, by default False.
+ exclude_keys : List[str], optional
+ Keys to exclude from the dictionary, by default [].
+ deep : bool, optional
+ Recursively convert nested SEASerializable objects, by default True.
+
+ Returns
+ -------
+ dict
+ Dictionary representation of the Dimension object.
+ """
+ to_convert = dict(self.__dict__)
+ if properties: to_convert.update(get_property_dict(self))
+
+ result = {}
+ for key, value in to_convert.items():
+ if not hidden and key.startswith('_'): continue #if converting hiddens then continue to the next key
+ if key in exclude_keys: continue #if an exclueded key then continue to the next key
+
+ if isinstance(value, SEASerializable):
+ if deep: value = value.to_dict(hidden=hidden, properties=properties, deep=deep)
+ result[key] = value
+ elif isinstance(value, dict): # In case a dict is stored directly
+ if deep: value = {k: v.to_dict(deep=deep) if isinstance(v, SEASerializable) else v for k, v in value.items()}
+ result[key] = value
+ elif isinstance(value, Tuple | List) and len(value) > 0 and isinstance(value[0], SEASerializable): #If an iterable of SEASerializable is given
+ if deep: value = type(value)([v.to_dict(hidden=hidden, properties=properties, deep=deep) for v in value]) #keep the iterable type and loop it converting each element to a dict\
+ result[key] = value
+ else:
+ #print("TODICT",key,value)
+ result[key] = value
+ return result
+
+ def to_hdf5_group(self, parent_group: File|Group,
+ force_datasets: List = [],
+ name: str | None = None,
+ exclude_keys: List[str] = []
+ ) -> None:
+ """Save object to SEA formated HDF5 group."""
+
+ sea_type = type(self).__name__ # Get the SEA class type
+ if sea_type in ["TACAWData","WFData"]: # TWP 20260120: sea-eco appears to not know about TACAWData, so let's treat parent classes (not Dimensions and friends) as Signals
+ sea_type = 'Signal'
+
+ # Handle group name: use provided name, fall back to object's name attribute, or default
+ if name is None:
+ if hasattr(self, 'name') and getattr(self, 'name') is not None: name = getattr(self, 'name')
+ else: name = sea_type
+
+ # Create the group and assign SEA class type
+ group = parent_group.create_group(name, track_order=True)
+ group.attrs['sea_type'] = sea_type
+
+ # Iteratively assign attributes by iterating to_dict.
+ # Keep the to_dict local so that to_hdf5 can be called for any serializable value.
+ to_write = self.to_dict(deep=False, hidden=True,
+ properties=False,
+ exclude_keys=exclude_keys)
+ to_write = {**{k:v for k,v in to_write.items() if '_' not in str(k)},
+ **{k:v for k,v in to_write.items() if '_' in str(k)}}
+ print("to_write.keys()",to_write.keys())
+ #to_write[ "data" ]=to_write[ "array" ]
+ storage_name_counts: Dict[str, int] = {}
+ #print("to_write",to_write.items().keys())
+ for key, val in to_write.items():
+ #print("name",name,"key",key,"val",val,"type",type(val))
+ if key in ["probe","cache_dir"]:
+ continue
+ if key == "_array":
+ key = "data"
+ if not hasattr(self, key):
+ continue
+ storage_key = key[1:] if key.startswith('_') else key
+ storage_name_counts[storage_key] = storage_name_counts.get(storage_key, 0) + 1
+ if storage_name_counts[storage_key] > 1:
+ warn(f'HDF5 serialization collision for attribute name \"{storage_key}\". Hidden and public attributes share the same name.')
+ #Check the value to see if it is Serializable
+ if isinstance(val, SEASerializable):
+ val.to_hdf5_group(parent_group=group, name=storage_key)
+ continue
+ elif isinstance(val, Iterable) and not isinstance(val, str) and len(val) > 0 and all(isinstance(v, SEASerializable) for v in val):
+ if key in force_datasets or storage_key in force_datasets:
+ key_group = group
+ else:
+ key_group = group.create_group(name=storage_key, track_order=True)
+ key_group.attrs['sea_type'] = val.__class__.__name__ #get the iterable type as string
+ for v in val:
+ v.to_hdf5_group(parent_group=key_group)
+ continue
+
+ # Check the keys to see if it should be a attribute or dataset
+ if key in force_datasets or storage_key in force_datasets:
+ group.create_dataset(storage_key, data=val)
+ else: group.attrs[storage_key] = safe_encode(val)
+ return group
+
+ def to_sea(self, file_path: str,
+ force_datasets: List = []) -> None:
+ """Save object to SEA formated HDF5."""
+ file_path = Path(file_path)
+ if file_path.suffix != '.sea' and file_path.suffix != '':
+ raise ValueError("The file extension must be '.sea' or empty.")
+ file_path = str(file_path.with_suffix(''))+'.sea'
+
+ file = File(file_path, "w")
+ file.attrs['file_type'] = 'SEA-eco HDF5 file'.encode('utf-8')
+ file.attrs['file_version'] = '0.0'.encode('utf-8')
+ file.attrs['sea_type'] = type(self).__name__.encode('utf-8')
+ #print("file.attrs",[ (k,file.attrs[k]) for k in file.attrs.keys() ])
+ self.to_hdf5_group(parent_group=file, force_datasets=force_datasets)
+
+ file.close()
+
+ def from_sea(self, file_path: str):
+ """Load object data from an HDF5 file."""
+ file_path = Path(file_path)
+ if file_path.suffix != '.sea' and file_path.suffix != '':
+ raise ValueError("The file extension must be '.sea' or empty.")
+ file_path = str(file_path.with_suffix(''))+'.sea'
+ file = File(file_path, "r")
+
+ if len(file)!=1:
+ raise ValueError("The hdf5 file contains multiple groups so can not be loaded directly. Consider using `from_hdf5_group` instead to append to the current class.")
+ else:
+ main_group = file[list(file.keys())[0]]
+
+ if 'sea_type' not in main_group.attrs:
+ raise ValueError("Could not locate an HDF5 group matching this object.")
+ elif safe_decode(main_group.attrs['sea_type']) != type(self).__name__:
+ raise ValueError(f"The HDF5 group sea_type '{safe_decode(main_group.attrs['sea_type'])}' does not match the current object type '{type(self).__name__}'.")
+ else:
+ self.from_hdf5_group(main_group)
+
+ file.close()
+
+ def from_hdf5_group(self, group: Group):
+ """Populate the current object from an HDF5 group.
+ """
+ def _instantiate_child(sub_group: Group):
+ """Instantiate an SEASerializable child using a prototype or group metadata."""
+ candidate = None
+ sea_type = safe_decode(sub_group.attrs.get('sea_type', b''))
+ cls = globals().get(sea_type)
+ if isinstance(cls, type) and issubclass(cls, SEASerializable):
+ try:
+ candidate = cls()
+ except TypeError:
+ candidate = cls.__new__(cls)
+ cls.__init__(candidate)
+ if candidate is None: return None
+ candidate.from_hdf5_group(sub_group)
+ return candidate
+ def _check_attr_visibility(attr: str) -> str | None:
+ """_check_attr_visibility _summary_
+
+ Parameters
+ ----------
+ attr : str
+ Check if the attribute exists as public or private and return the correct name.
+
+ Returns
+ -------
+ str | None
+ _description_
+ """
+ if hasattr(self, f'_{attr}'): return f'_{attr}'
+ else: return attr
+
+ for key, val in group.attrs.items():
+ if key == 'sea_type': continue
+ attr_name = _check_attr_visibility(key)
+ if attr_name is not None:
+ setattr(self, attr_name, safe_decode(val))
+
+ for key, item in group.items():
+ if isinstance(item, Group):
+ if 'sea_type' in item.attrs:
+ sea_type = safe_decode(item.attrs.get('sea_type', b''))
+ else:
+ warn(f'Group {item.name} has no sea_type attribute. Skipping.')
+ continue
+ attr_name = _check_attr_visibility(key)
+ if attr_name is None:
+ warn(f'Attribute {key} from group {item.name} not found on target object.')
+ continue
+ if sea_type=='list':
+ new_items = []
+ for sub_item in item.values():
+ child = _instantiate_child(sub_item)
+ if child is not None:
+ new_items.append(child)
+ setattr(self, attr_name, new_items)
+ else:
+ child = _instantiate_child(item)
+ if child is not None:
+ setattr(self, attr_name, child)
+ else:
+ warn(f'Attribute {key} could not be instantiated from group {item.name}. Skipping.')
+ else:
+ # This is an HDF5 dataset (array data)
+ value = item[()]
+ # For datasets, preserve numpy arrays - only decode bytes/strings
+ if isinstance(value, bytes):
+ value = safe_decode(value)
+ elif isinstance(value, np.ndarray) and value.dtype.kind in ('S', 'U', 'O'):
+ # String/object arrays - decode elements
+ value = np.array([safe_decode(v) for v in value.flat]).reshape(value.shape)
+ # Otherwise keep as numpy array
+ attr_name = _check_attr_visibility(key)
+ if attr_name is None:
+ warn(f'Dataset {key} could not be assigned to target object.')
+ continue
+ setattr(self, attr_name, value)
+
+ def get_tree_html(self, recursive_level:int=0,
+ exclude_keys:List[str] = [],
+ exclude_hidden:bool=True,
+ exclude_properties:bool=False,
+ promote_itterable_keys: List[str] = []
+ ) -> str:
+ #TODO: Have this work of of self.to_dict() instead of self.__dict__ and put the global get_tree_html() kwargs in self.to_dict
+ return get_tree_html(self, recursive_level=recursive_level,
+ exclude_keys=exclude_keys,
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys)
+
+ def get_tree_str(self, pad:str='', recursive_level=None):
+ """Print class as a tree.
+
+ Parameters
+ ----------
+ pad : str, optional
+ What to add before each entry, by default ''
+ recursive_level : int, optional
+ What depth to stop recursing. Not implemented, by default 0
+
+ Returns
+ -------
+ _type_
+ _description_
+ """
+ if recursive_level is not None:
+ #TODO: have the tree stop at a level
+ raise NotImplementedError('kwarg recursive_level not implemented yet.')
+ string = ''
+ N_values = len(self)
+ for i, (key, value) in enumerate(self.__dict__.items()):
+ if i==N_values-1: cnct = '└── '
+ else: cnct = '├── '
+
+ if isinstance(value, GeneralMetadata):
+ string += f'{pad}{cnct}{key}\n'
+ if i== N_values-1: pad_next = ' '
+ else: pad_next = '| '
+ string += value.get_tree_str(pad=pad+pad_next)
+ else:
+ string += f'{pad}{cnct}{key}: {value}\n'
+ return string
+
+ def show_tree(self, show:Literal['html','str']|None='html', recursive_level=0):
+ if show=='html':
+ from IPython.display import display, HTML
+ display(HTML(self.get_tree_html(recursive_level=recursive_level)))
+ elif show=='str':
+ print(self.get_tree_str(self, recursive_level=recursive_level))
+ else:
+ try:
+ from IPython.display import display, HTML
+ display(HTML(self.get_tree_html(recursive_level=recursive_level)))
+ except:
+ print(self.get_tree_str(self, recursive_level=recursive_level))
+
+ def save(self, file_path: str) -> None:
+ file_path = Path(file_path)
+ if file_path.suffix == '.sea' or file_path.suffix == '':
+ self.to_sea(file_path)
+ elif file_path.suffix == '.pkl':
+ with open(file_path,'wb') as f: pickle.dump(self,f)
+ else:
+ raise ValueError("The file extension must be '.sea', '.pkl' or empty.")
+
+def load(file_path: str) -> SEASerializable:
+ """Load a SEASerializable object from a .sea or .pkl file.
+
+ Parameters
+ ----------
+ file_path : str
+ Path to the file to load.
+
+ Returns
+ -------
+ SEASerializable
+ The loaded object.
+ """
+ file_path = Path(file_path)
+
+ if file_path.suffix == '.sea' or file_path.suffix == '':
+ file_path = str(file_path.with_suffix('')) + '.sea'
+ with File(file_path, 'r') as f:
+ if len(f) != 1:
+ raise ValueError("The HDF5 file contains multiple groups. Cannot determine which to load.")
+ main_group = f[list(f.keys())[0]]
+ sea_type = safe_decode(main_group.attrs.get('sea_type', b''))
+
+ # Get the class from globals and instantiate
+ cls = globals().get(sea_type)
+ if cls is None:
+ raise ValueError(f"Unknown sea_type: {sea_type}")
+
+ # Create instance and load data
+ try:
+ obj = cls()
+ except TypeError:
+ obj = cls.__new__(cls)
+ obj.from_sea(file_path)
+ return obj
+ elif file_path.suffix == '.pkl':
+ with open(file_path, 'rb') as f:
+ obj = pickle.load(f)
+ return obj
+
+class GeneralMetadata(SEASerializable):
+ def __init__(self, meta:dict = {}) -> None:
+ """General Metadata
+
+ Parameters
+ ----------
+ meta : dict
+ Dictionary to be converted to metadata.
+ """
+ self.update_from_dict(dictionary=meta)
+
+ def __len__(self):
+ """Return the number of items in the GeneralMetadata."""
+ return len(self.__dict__)
+
+ def __repr__(self):
+ """Return a compact HTML representation of the GeneralMetadata tree."""
+ return self.get_tree_str()
+
+ def to_hdf5_group(self, parent_group, force_datasets = [], name = 'Metadata'):
+ return super().to_hdf5_group(parent_group, force_datasets, name)
+
+ def update_from_dict(self, dictionary:Dict[str, Dict | List | Any | None]) -> None:
+ '''Recursively update GeneralMetadata object from a dictionary.
+
+ Parameters
+ ----------
+ dictionary : dict
+ The key will define the Node name.
+ If the value is an empty dictionary the value will be asigned as None.
+ If the value is a dictionary then the value will be another GeneralMetadata object.
+ Otherwise the value will be asigned directly.'''
+ for key, value in dictionary.items():
+ if isinstance(value, dict):
+ if len(value)==0: setattr(self, key, None)
+ else: setattr(self, key, GeneralMetadata(value))
+ else:
+ setattr(self, key, value)
+
+ def merge(self, other: 'GeneralMetadata',
+ kind:Literal['overwrite','append','skip']='skip', warn_duplicate:bool=False,
+ inform_new=False) -> None:
+ """Merge another GeneralMetadata object into this one.
+
+ Parameters
+ ----------
+ other : GeneralMetadata
+ The other GeneralMetadata object to merge.
+ kind : bool, optional
+ If True, existing keys will be overwritten. Default is False.
+ warn : bool, optional
+ If True, warn when duplicates arise. Default is False.
+ """
+ for key, value in other.__dict__.items():
+ if hasattr(self, key):
+ if isinstance(getattr(self, key), GeneralMetadata) and isinstance(value, GeneralMetadata):
+ getattr(self, key).merge(value, kind=kind, warn_duplicate=warn_duplicate, inform_new=inform_new)
+ elif kind=='overwrite':
+ setattr(self, key, value)
+ if warn_duplicate: warn(f'Duplicate - Key {key} already exists. Overwriting.')
+ elif kind=='append':
+ existing = getattr(self, key)
+ if existing != value:
+ if not isinstance(value, List): value = [value]
+ if not isinstance(existing, List): existing = [existing]
+ setattr(self, key, value+existing)
+ if warn_duplicate: warn(f'Duplicate - Key {key} already exists. Appending.')
+ elif warn_duplicate: warn(f'Duplicate - Key {key} already exists. Use kind=True to overwrite.')
+ else:
+ setattr(self, key, value)
+ if inform_new: print(f'New - Key {key} added to metadata.')
+
+class Dimension(SEASerializable):
+ """
+ Dimensions of a dataset.
+ """
+ def __init__(self, dimension: Dict|GeneralMetadata|None = None,
+ name: str = 'Unnamed Dimension',
+ space: Literal["position", "scattering", "temporal", "spectral"] | None = None,
+ scale: float|int|Iterable[float|int]|None = 1,
+ offset: float|int|Iterable[float|int]|None = None,
+ size: int|Iterable[int]|None = None,
+ units: str|Iterable[str] = '',
+ values: NDArray[Any] | Iterable[Any] = None,
+ #device: torch.device = field(default_factory=get_default_device)
+ ) -> None:
+ """Initialize an Dimension object from a dictionary or GeneralMetadata object.
+
+ Parameters
+ ----------
+ dimension : Dict | GeneralMetadata | None, optional
+ Dict or metadata object containing, by default None
+ name : str, optional
+ Name of the dimension, by default 'Unnamed Dimension'
+ space : Literal["position", "scattering", "temporal", "spectral"] | None, optional
+ Space the dimension belongs to, by default None
+ scale : float | int | Iterable[float | int] | None, optional
+ Calibration scale, by default None
+ offset : float | int | Iterable[float | int] | None, optional
+ Calibration offset, by default None
+ size : int | Iterable[int] | None, optional
+ Dimension size, by default None
+ units : str | Iterable[str], optional
+ Calibration units, by default ''
+ aixs : NDArray[Any] | Iterable[Any], optional
+ Values along the dimension, by default None
+
+ ToDo
+ ----
+ TODO: Add a `parametric:bool=True` and `parametric_fnc:str='x*scale+offset'` attributes
+ """
+ #Initialize instance attributes
+ self.dimension = dimension
+ self._name = name
+ self.space = space
+ self.scale = scale
+ self.offset = offset
+ self.size = size
+ self.units = units
+ self.values = values
+
+ defaults = {'name':'Unnamed Dimension', 'space':None, 'scale':None, 'offset':None, 'units':'', 'size':None} #self.__init__.__kwdefaults__
+ if self.dimension is not None and not isinstance(self._values, Iterable): #if an dimension and not values is given
+ if isinstance(dimension, GeneralMetadata): self.dimension = self.dimension.to_dict() #convert to dict if GeneralMatadata
+ for k,v in self.dimension.items(): #loop dimension dict and
+ if k in defaults.keys() and defaults[k]==getattr(self,k): #asign the key if it is equal to the default
+ setattr(self, k, v)
+ elif self.dimension is None and isinstance(self._values, Iterable): #if values and not an dimension is given
+ self.size = self._values.shape[-1] #HACK: this should not be size but some sort of tuple that acounts for ndim.
+ elif self.dimension is None and not isinstance(self._values, Iterable): #if no values or dimensions are supplied we set the offset and scale. We don't do it by default because these should be None if the dimension is not parametric.
+ if self.offset is None: self.offset = 0
+ if self.scale is None: self.scale = 1
+ else:
+ self._values = None
+ del(self.dimension)
+
+ def __str__(self):
+ return f'{self.name}-dimension'
+
+ def __repr__(self):
+ return f''
+
+ def __getitem__(self, key: Union[int, float, slice, tuple]):
+ """Support indexing and slicing of the Signal.
+
+ Parameters
+ ----------
+ key : Union[int, float, slice, tuple, EllipsisType]
+ Index specification. Can include integers, floats (converted to nearest index),
+ slices, ellipsis, or tuples of these.
+ - int: direct indexing
+ - float: converted to nearest index using dimension calibration
+ - slice: regular Python slicing, can include float values
+ - Ellipsis: expands to cover remaining dimensions
+ """
+ if not isinstance(key, tuple): key = (key,)
+
+ key_reg = tuple()
+ for i, k in enumerate(key):
+ if isinstance(k, float):
+ k = self.find_nearest_index(k)
+ elif isinstance(k, slice):
+ start = k.start
+ stop = k.stop
+ step = k.step
+ if isinstance(start, float): start = self.find_nearest_index(start)
+ if isinstance(stop, float): stop = self.find_nearest_index(stop)
+ if isinstance(step, float): step = int(round(step / self.scale, 0))
+ k = slice(start, stop, step)
+ else:
+ pass # Ellipse or int do not remove
+ key_reg += (k,)
+
+ return self.values[key_reg]
+
+ def _check_ndim(self):
+ checks = {'size':self.size,
+ 'offset':self.offset,
+ 'scale':self.scale}
+ if all((var is not None for var in checks.values())):
+ n_scale = len(self.scale) if isinstance(self.scale,Iterable) else 1
+ n_offset = len(self.offset) if isinstance(self.offset,Iterable) else 1
+ n_units = len(self.units) if isinstance(self.units,Iterable) and not isinstance(self.units,str) else 1
+ if n_scale>1 and n_offset>1 and n_scale!=n_offset:
+ raise ValueError('Scale and offset are >1 dimensions but not consistent dimensionality.')
+ if n_units>2 and n_units!=max(n_scale,n_offset):
+ raise ValueError('Units is >1 dimensions but not consistent dimensionality with the larger of scale or offset.')
+ return max(n_scale,n_offset)
+ elif self._values is not None:
+ print(self._values)
+ return np.ndim(self._values)
+ else:
+ warn('The dimensions chould not be determined from the calibrations or values.')
+ return None
+
+ @property
+ def ndim(self):
+ return np.ndim(self.values)
+ @ndim.setter
+ def ndim(self, values: Any) -> UserWarning:
+ #if values is None: self._original_metadata = values
+ raise UserWarning('`ndim` is read-only.')
+
+ @property
+ def values(self):
+ #if self._values is None:
+ checks = {'size':self.size,
+ 'offset':self.offset,
+ 'scale':self.scale}
+ if all((var is not None for var in checks.values())):
+ self._values = np.arange(self.size)*np.expand_dims(self.scale, axis=-1) + np.expand_dims(self.offset, axis=-1)
+ elif self._values is not None:
+ pass
+ else:
+ if all((var is None for var in checks.values())) and self._values is None:
+ pass
+ else:
+ for key, var in checks.items():
+ if key not in checks.items(): warn(f'{key} is None.')
+ return self._values
+ @values.setter
+ def values(self, values):
+ self._values = values
+
+ @property
+ def name(self):
+ if not isinstance(self._name, str) and isinstance(self._name, Iterable):
+ return '('+', '.join(self._name)+')'
+ else: return self._name
+ @name.setter
+ def name(self, value):
+ self._name = value
+ #self._check_ndim()
+
+ def to_dict(self,
+ hidden: bool = False,
+ properties: bool = True,
+ exclude_keys: List[str] = [],
+ deep: bool = True
+ ):
+ """
+ Recursively convert Dimension object to a dictionary.
+
+ Parameters
+ ----------
+ hidden : bool, optional
+ Include hidden attributes (starting with '_'), by default False.
+ properties : bool, optional
+ Include properties, by default True.
+ exclude_keys : List[str], optional
+ Keys to exclude from the dictionary, by default [].
+ deep : bool, optional
+ Recursively convert nested SEASerializable objects, by default True.
+
+ Returns
+ -------
+ dict
+ Dictionary representation of the Dimension object.
+ """
+ return super().to_dict(hidden=hidden, properties=properties, exclude_keys=exclude_keys, deep=deep)
+
+ def to_hdf5_group(self, parent_group: File|Group,
+ force_datasets: List = ['_values'],
+ name: str | None = None
+ ) -> None:
+ super().to_hdf5_group(parent_group=parent_group,
+ force_datasets=force_datasets,
+ name=name)
+ def to_sea(self, file_path: str,
+ force_datasets: List = ['_values']) -> None:
+ """Save dimension to HDF5."""
+ super().to_sea(file_path,
+ force_datasets=force_datasets)
+
+ def _get_tree_html(self, recursive_level: List[str] = 0,
+ exclude_keys: List[str]= ['values'],
+ exclude_hidden: bool = True,
+ exclude_properties:bool = False,
+ promote_itterable_keys: List[str] = []
+ ) -> str:
+ return super().get_tree_html(recursive_level,
+ exclude_keys=exclude_keys,
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys
+ )
+ def get_tree_html(self, recursive_level: int = 0,
+ exclude_keys: List[str] = [],
+ exclude_hidden: bool = True,
+ exclude_properties:bool = False,
+ promote_itterable_keys: List[str] = []
+ ) -> str:
+ return self._get_tree_html(recursive_level,
+ exclude_keys=exclude_keys+['values'],
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys
+ )
+
+ def get_calibrated_value(self, indices: int | Iterable[int]) -> float:
+ """Get calibrated value at a specific index.
+
+ Parameters
+ ----------
+ indices : int | Iterable[int]
+ Indices in axis array.
+
+ Returns
+ -------
+ float
+ Value at the specified index.
+
+ Raises
+ ------
+ IndexError
+ Out of range index.
+ """
+ if self.ndim > 1:
+ if len(indices) != self.ndim: raise ValueError(f"Expected {self.ndim} indices, got {len(indices)}")
+ for ind, dim in zip(indices, self.size):
+ if ind >= dim: raise IndexError(f"Index {ind} out of range for size {dim}")
+ else:
+ if indices >= self.size: raise IndexError(f"Index {indices} out of range for size {self.size}")
+ return float(self.values[indices])
+
+ def find_nearest_index(self, value: float,
+ direction:Literal['boht','above','below']='both',
+ warn_bounds=True) -> int:
+ """Find the index of the nearest calibrated value.
+
+ Parameters
+ ----------
+ value : float
+ Calibrated value to find the nearest index to.
+ direction : Literal['both','above','below']
+ Direction to resolve ties. 'both' returns nearest, 'above' returns next higher index, 'below' returns next lower index. Default is 'both'.
+ warn_bounds : bool, optional
+ Warn if the nearest index is at the bounds of the axis, by default True.
+
+ Returns
+ -------
+ int
+ The nearest index.
+ """
+ if self.ndim > 1: raise NotImplementedError('find_nearest_index only implemented for 1D dimensions.') #TODO: Implement for multi-D dimensions.
+ distances = np.abs(self.values - value)
+ index = int(np.argmin(distances))
+ if warn_bounds and (index==0 or index==self.size-1):
+ print(f'Warning: Nearest index {index} is at the bounds of the axis (0, {self.size-1}).')
+ if direction == 'both':
+ return index
+ elif direction == 'above':
+ return index + 1
+ elif direction == 'below':
+ return index - 1
+
+ def get_extent(self) -> List[float]| List[Tuple[float]]:
+ """Get the extent of the dimension for plotting.
+
+ Returns
+ -------
+ List[float]
+ Extent as [min, max].
+ """
+ if self.ndim == 1:
+ return [np.min(self.values[0]), np.max(self.values[-1])]
+ if self.ndim > 1:
+ return list(zip(np.min(self.values, axis=0), np.max(self.values, axis=0)))
+
+class Dimensions(SEASerializable):
+ def __init__(self,
+ dimensions: Iterable[Dict|Dimension] = [],
+ nav_dimensions: List[int] = [],
+ sig_dimensions: List[int] = [],
+ ) -> None:
+ self.dimensions = dimensions #! This could be set as private then have __get_item__ iterate the private class.
+ self.nav_dimensions = nav_dimensions
+ self.sig_dimensions = sig_dimensions
+ self.order = list(range(len(self.dimensions)))
+ #? The below hidden dimensions are storgage for the get/set property. The getter always stores in the hidden, so is there any point in having the hiddens? I guess as is, the set would store in the hidden, then that hidden could be accessed directly allowing the user to hack if needed.
+ self._spectral_dimension = []
+ self._temporal_dimension = []
+ self._position_dimensions = []
+ self._scattering_dimensions = []
+
+ dimensions_list = []
+ for i, dimension in enumerate(self.dimensions):
+ if isinstance(dimension, Dict):
+ dimension_obj = Dimension(dimension)
+ elif isinstance(dimension, Dimension):
+ dimension_obj = dimension
+ else:
+ raise TypeError(f'Dimensions iterable value of {type(dimension)} was provided but is not an allowed type.')
+ dimensions_list.append(dimension_obj)
+ self.dimensions = dimensions_list
+
+ @property
+ def ndim(self) -> int:
+ """Get the total number of dimensions across all dimensions."""
+ ndim = np.sum([ax.ndim for ax in self.dimensions], dtype=int)
+ return ndim
+ @ndim.setter
+ def ndim(self, value:Any) -> UserWarning:
+ raise UserWarning('ndim should not be set by the user.')
+
+ @property
+ def spectral_dimension(self) -> int:
+ for i, dimension in enumerate(self.dimensions):
+ if dimension.space=='spectral':
+ self._spectral_dimension = i
+ break
+ return self._spectral_dimension
+ @spectral_dimension.setter
+ def spectral_dimension(self, value:int) -> None:
+ self._spectral_dimension = value
+
+ @property
+ def temporal_dimension(self) -> int:
+ for i, dimension in enumerate(self.dimensions):
+ if dimension.space=='temporal':
+ self._temporal_dimension = i
+ break
+ return self._temporal_dimension
+ @temporal_dimension.setter
+ def temporal_dimension(self, value:int) -> None:
+ self._temporal_dimension = value
+
+ @property
+ def position_dimensions(self) -> List:
+ if len(self._position_dimensions)==0: # first run only, assemble based on dimension.space
+ for i, dimension in enumerate(self.dimensions):
+ if dimension.space=='position':
+ self._position_dimensions.append(i)
+ return self._position_dimensions
+ @position_dimensions.setter
+ def position_dimensions(self, value:List) -> None:
+ self._position_dimensions = value
+
+ @property
+ def scattering_dimensions(self) -> List:
+ if len(self._scattering_dimensions)==0: # first run only, assemble based on dimension.space
+ for i, dimension in enumerate(self.dimensions):
+ if dimension.space=='scattering':
+ self._scattering_dimensions.append(i)
+ return self._scattering_dimensions
+ @scattering_dimensions.setter
+ def scattering_dimensions(self, value:List) -> None:
+ self._scattering_dimensions = value
+
+ def __repr__(self):
+ return f''
+
+ def __getitem__(self, key:int|str|Iterable[int|str]):
+ if isinstance(key, int): return self.dimensions[key]
+ elif isinstance(key, str): return self.dimensions[self.get_index_from_name(key)]
+ elif isinstance(key, Iterable):
+ ret = []
+ for k in key:
+ if isinstance(k, int): ret.append(self.dimensions[k])
+ elif isinstance(k, str): ret.append(self.dimensions[self.get_index_from_name(k)])
+ return ret
+ else: raise TypeError(f'Only integers and strings are allowed but a {type(key)} was provided.')
+
+ def __len__(self):
+ return len(self.dimensions)
+
+ def add_dimension(self, dimension:Dict|Dimension) -> None:
+ """Add an dimension to the Dimensions object.
+
+ Parameters
+ ----------
+ dimension : Dict | Dimension
+ Dictionry with dimension calibrations or Dimension class to add.
+
+ Raises
+ ------
+ TypeError
+ If the provided dimension is not a dictionary or Dimension object.
+ """
+ dimension_n = len(self.dimensions)
+ if isinstance(dimension, Dict):
+ dimension = Dimension(dimension)
+ if isinstance(dimension, Dimension):
+ self.dimensions.append(dimension)
+ else: raise TypeError(f'Dimensions iterable value of {type(dimension)} was provided but is not an allowed type.')
+
+ self.order.append(dimension_n)
+
+ def get_names(self) -> List[str]:
+ return [ax.name for ax in self.dimensions]
+
+ def get_index_from_name(self, name:str) -> int:
+ names = self.get_names()
+ if name in names: return names.index(name)
+ else: raise KeyError(f'A key of {name} was provided and the dimensions names are {names}')
+
+ def get_dims_as_int(self,
+ dims: str | int | Iterable[str | int] | None
+ ) -> List | int:
+ """Convert named or integer indices to integers.
+
+ Parameters
+ ----------
+ dims : str | int | Iterable[str | int] | None
+ The index to convert.
+
+ Returns
+ -------
+ List | int
+ List of integer indicies
+
+ Raises
+ ------
+ IndexError
+ _description_
+ IndexError
+ _description_
+ """
+ # Convert to int, tuple(int), or None
+ if dims is None: out = None
+ elif isinstance(dims, str): out = self.get_index_from_name(dims)
+ elif isinstance(dims, int):
+ if dims > len(self):
+ raise IndexError(f'Axis index {dim} is out of bounds for signal with {self.ndim} dimensions.')
+ else:
+ out = dims if dims>=0 else len(self) + dims
+ elif isinstance(dims, Iterable):
+ out = []
+ for dim in dims:
+ if isinstance(dim, str):
+ out.append(self.get_index_from_name(dim))
+ elif isinstance(dim, int):
+ if dim > self.ndim:
+ raise IndexError(f'Axis index {dim} is out of bounds for signal with {self.ndim} dimensions.')
+ else:
+ out.append(dim if dim>=0 else len(self.dimensions) + dim)
+ return out
+
+ def to_dict(self,
+ hidden: bool = False,
+ properties: bool = True,
+ exclude_keys: List[str] = [],
+ deep: bool = True
+ ):
+ """
+ Recursively convert Dimension object to a dictionary.
+
+ Parameters
+ ----------
+ hidden : bool, optional
+ Include hidden attributes (starting with '_'), by default False.
+ properties : bool, optional
+ Include properties, by default True.
+ exclude_keys : List[str], optional
+ Keys to exclude from the dictionary, by default [].
+ deep : bool, optional
+ Recursively convert nested SEASerializable objects, by default True.
+
+ Returns
+ -------
+ dict
+ Dictionary representation of the Dimension object.
+ """
+ return super().to_dict(hidden=hidden, properties=properties, exclude_keys=exclude_keys, deep=deep)
+
+ def to_hdf5_group(self, parent_group: File|Group,
+ force_datasets: List = [],
+ name: str | None = None
+ ) -> None:
+ force_datasets = force_datasets#?+['dimensions']
+ super().to_hdf5_group(parent_group=parent_group,
+ force_datasets=force_datasets,
+ name=name)
+ def to_sea(self, file_path: str,
+ force_datasets: List = []) -> None:
+ """Save dimension to HDF5."""
+ force_datasets = force_datasets#?+['dimensions']
+ super().to_sea(file_path,
+ force_datasets=force_datasets)
+
+ def _get_tree_html(self, recursive_level: List[str] = 0,
+ exclude_keys: List[str] = [],
+ exclude_hidden: bool = True,
+ exclude_properties:bool = False,
+ promote_itterable_keys: List[str] = ['dimensions']
+ ) -> str:
+ return super().get_tree_html(recursive_level,
+ exclude_keys=exclude_keys,
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys
+ )
+ def get_tree_html(self, recursive_level: int = 0,
+ exclude_keys: List[str] = [],
+ exclude_hidden: bool = True,
+ exclude_properties:bool = False,
+ promote_itterable_keys: List[str] = []
+ ) -> str:
+ return self._get_tree_html(recursive_level,
+ exclude_keys=exclude_keys,
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys + ['dimensions']
+ )
+
+ def get_extents(self, kind: Literal['Axes','Image'] = 'Axes') -> List[float, List[float], List[Tuple[float]]]:
+ """Get the extents of all dimensions for plotting.
+
+ Returns
+ -------
+ List[float, Tuple[float]]
+ List of extents as [min, max] or list of (min, max) tuples for multi-D dimensions.
+ """
+ extents = [dim.get_extent() for dim in self.dimensions]
+ hf_sc = [dim.scale/2 for dim in self.dimensions]
+
+ if kind=='Image' and self.ndim==2:
+ # Flatten one level so extents becomes a single list like [xmin, xmax, ymax, ymin]
+ extents = [extents[1][0]-hf_sc[1], extents[1][1]+hf_sc[1],
+ extents[0][1]+hf_sc[0], extents[0][0]-hf_sc[0]]
+ return extents
+
+class Signal(SEASerializable):
+
+ def __init__(self, data: NDArray|None = None,
+ name: str = 'Signal',
+ uuid: str = None,
+ dimensions: Dimensions|Dict|None = None, #BUG Not sure if Dict will work
+ signal_type: Literal['2D-EELS','1D-EELS','Diffraction','Image']|None = None,
+ dimensions_domain:Literal['local','global'] = 'local',
+ #? metadata_domain: Literal['local','global'] = 'local',
+ original_metadata: GeneralMetadata|None = None,
+ is_lazy: bool = False,
+ metadata: GeneralMetadata|None = None
+ ):
+
+ self.data = data
+ self.name = name
+ self.uuid = uuid if uuid is not None else generate_uuid()
+ self.dimensions_domain = dimensions_domain
+ self.dimensions = dimensions
+ self._local_dimensions = dimensions
+ self.signal_type = signal_type
+ #self.metadata_domain = metadata_domain
+ self._original_metadata = original_metadata
+ self.is_lazy = is_lazy
+ self.metadata = metadata
+
+ self._parent_SignalSet: SignalSet| None = None
+
+ #HACK This is gross. should make GeneralMetadata sliceable like dict or with ints. Also not sure this will work when not available.
+ #? Might be worth thinking about where this should go. Could go in meta.instrument, even if it means all but instrument.detector is promoted, but this depends on how meta.instrument will be handled afer promotion.
+ self.detector: str = list(self.metadata.Instrument.Detectors.to_dict().keys())[0] if self.metadata is not None and hasattr(self.metadata, 'Instrument') and hasattr(self.metadata.Instrument, 'Detectors') else None
+
+ @property
+ def dimensions(self):
+ if self.dimensions_domain=='global' and self._parent_SignalSet:
+ names_global = self._parent_SignalSet.dimensions.get_names()
+ names_local = self._local_dimensions.get_names()
+ axs_global_i = [names_global.index(nl) for nl in names_local if nl in names_global]
+ # axs_local_i = [names_local.index(ng) for ng in names_global if ng in names_local]
+ axs_local = [self._parent_SignalSet.dimensions.dimensions[i] for i in axs_global_i]
+ nav_local = []
+ sig_local = []
+ order_local = []
+ for i in axs_global_i:
+ order_local.append(self._parent_SignalSet.dimensions.order.index(i))
+ if i in self._parent_SignalSet.dimensions.nav_dimensions:
+ nav_local.append(names_local.index(names_global[i]))
+ if i in self._parent_SignalSet.dimensions.sig_dimensions:
+ sig_local.append(names_local.index(names_global[i]))
+ if len(nav_local)==0: nav_local = None
+ if len(sig_local)==0: sig_local = None
+ self._local_dimensions = Dimensions(axs_local, nav_dimensions=nav_local, sig_dimensions=sig_local)
+ return self._local_dimensions
+ @dimensions.setter
+ def dimensions(self, dimensions):
+ self._local_dimensions = dimensions
+ if self.dimensions_domain=='global' and self._parent_SignalSet:
+ warn('This signal is using global dimensions. Setting the the signal locally will set the calibration_domian to local.')
+ while True:
+ user_input = input("Do you want to continue? (Y/N): ").upper() # Convert to uppercase for case-insensitivity
+ if user_input == 'Y':
+ print("Proceeding...")
+ # Add the code to execute if the user chooses 'Y' here
+ break # Exit the loop once a valid 'Y' is entered
+ elif user_input == 'N':
+ print("Exiting...")
+ # Add the code to execute if the user chooses 'N' here
+ break # Exit the loop once a valid 'N' is entered
+ else:
+ print("Invalid input. Please enter 'Y' or 'N'.")
+ self.dimensions_domain = 'local'
+ self._local_dimensions = dimensions
+ else:
+ self._local_dimensions = dimensions
+
+ @property
+ def original_metadata(self) -> GeneralMetadata:
+ return self._original_metadata
+ @original_metadata.setter
+ def original_metadata(self, values: Any) -> UserWarning | None:
+ if self._original_metadata is None: self._original_metadata = values
+ else: raise UserWarning('original_metadata is read-only. If it is necessary to change the original metadata use `_original_metadata` to set the value, but we do recomend against changing such values.')
+
+ def __str__(self):
+ return f'{self.name}-signal'
+
+ def __repr__(self):
+ return f''
+
+ def __getitem__(self, key: Union[int, float, slice, tuple ]):
+ """Support indexing and slicing of the Signal.
+
+ Parameters
+ ----------
+ key : Union[int, float, slice, tuple, EllipsisType]
+ Index specification. Can include integers, floats (converted to nearest index),
+ slices, ellipsis, or tuples of these.
+ - int: direct indexing
+ - float: converted to nearest index using dimension calibration
+ - slice: regular Python slicing, can include float values
+ - Ellipsis: expands to cover remaining dimensions
+
+ ToDo
+ ----
+ """
+ if not isinstance(key, tuple): key = (key,)
+
+ # Track which dimensions remain and their new sizes
+ remaining_dims = self.dimensions.dimensions.copy()
+ new_sizes = []
+
+ # Handle Ellipsis expansion
+ n_indices = len(key)
+ n_dims = len(self.dimensions.dimensions)
+ ellipsis_pos = None
+
+ #for i, k in enumerate(key):
+ # if k is Ellipsis:
+ # ellipsis_pos = i
+ # break
+
+ if ellipsis_pos is not None:
+ # Calculate how many dimensions the Ellipsis represents
+ n_extra = n_dims - (n_indices - 1)
+ # Replace Ellipsis with appropriate number of slice(None)
+ expanded_key = key[:ellipsis_pos] + (slice(None),) * n_extra + key[ellipsis_pos + 1:]
+ else:
+ expanded_key = key
+
+ # Ensure we don't have too many indices
+ if len(expanded_key) > n_dims:
+ raise IndexError(f'Too many indices: array is {n_dims}-dimensional, but {len(expanded_key)} were indexed')
+
+ # Pad with full slices if we have too few indices
+ if len(expanded_key) < n_dims:
+ expanded_key = expanded_key + (slice(None),) * (n_dims - len(expanded_key))
+
+ key_reg = tuple()
+ # Now process each key with the proper dimension
+ for i, k in enumerate(expanded_key):
+ orig_dim_i = self.dimensions.order[i]
+ orig_dim = self.dimensions.dimensions[orig_dim_i]
+ if isinstance(k, int):
+ remaining_dims.remove(orig_dim)
+ elif isinstance(k, float):
+ k = orig_dim.find_nearest_index(k)
+ # This dimension is removed by indexing
+ remaining_dims.remove(orig_dim)
+ elif isinstance(k, slice):
+ start = k.start
+ stop = k.stop
+ step = k.step
+ if isinstance(start, float): start = orig_dim.find_nearest_index(start)
+ if isinstance(stop, float): stop = orig_dim.find_nearest_index(stop)
+ if isinstance(step, float): step = int(round(step / orig_dim.scale, 0))
+ k = slice(start, stop, step)
+ # This dimension remains but might have a new size
+ # Calculate new size for sliced dimension
+ slice_indices = k.indices(orig_dim.size)
+ new_size = len(range(*slice_indices))
+ new_sizes.append(new_size)
+ else:
+ # Ellipse do not remove
+ pass
+ key_reg += (k,)
+
+ sliced_data = self.data[key_reg]
+
+ # Create new signal with updated dimensions
+ new_signal = self.deepcopy()
+ new_signal.data = sliced_data
+
+ # Update dimensions for the new signal
+ if remaining_dims:
+ new_dims = Dimensions(
+ dimensions=[dim.deepcopy() for dim in remaining_dims],
+ nav_dimensions=[i for i, dim in enumerate(remaining_dims)
+ if dim in [self.dimensions[d] for d in self.dimensions.nav_dimensions]],
+ sig_dimensions=[i for i, dim in enumerate(remaining_dims)
+ if dim in [self.dimensions[d] for d in self.dimensions.sig_dimensions]],
+ )
+ # Update sizes for sliced dimensions
+ for dim, new_size in zip(new_dims.dimensions, new_sizes):
+ dim.size = new_size
+ new_signal.dimensions = new_dims
+
+ return new_signal
+
+ #TODO: Implement a wrapper for numpy functions that modifies the dimensions accordingly
+ def __array__(self, dtype:DTypeLike=None) -> Any:
+ """Allow numpy to treat this object as an array."""
+ if dtype is None:
+ return self.data
+ return self.data.astype(dtype)
+
+ def __array_function__(self, func, types, args, kwargs):
+ """Handle numpy array functions like sum(), mean(), etc.
+
+ This is called by numpy when array-like objects are passed to numpy functions.
+ It differs from __array_ufunc__ which handles element-wise operations.
+ """
+ # Get the actual array data from any Signal objects
+ arrays = []
+ signal_inputs = []
+ for arg in args:
+ if isinstance(arg, Signal):
+ arrays.append(arg.data)
+ signal_inputs.append(arg)
+ else:
+ arrays.append(arg)
+
+ # Convert any dimension references and get the dimension key being used
+ dim_key = check_dimensions_call(kwargs, func)
+ if dim_key:
+ kwargs[dim_key] = self.dimensions.get_dims_as_int(kwargs[dim_key])
+ if isinstance(kwargs[dim_key], List): kwargs[dim_key] = tuple(kwargs[dim_key])
+
+ if isinstance(kwargs[dim_key], int | str | Iterable): dims_to_remove = np.atleast_1d(kwargs[dim_key])
+ else: raise KeyError(f'{dim_key} takes int, str, or an Iterable and {kwargs[dim_key]} was provided.')
+ remaining_dims = {i: dim for i, dim in enumerate(self.dimensions.dimensions)
+ if i not in dims_to_remove}
+
+ # Call the numpy function with our data arrays
+ result = func(*arrays, **kwargs)
+
+ # If the result is an array, wrap it in a Signal
+ if isinstance(result, np.ndarray):
+ if np.ndim(result) == self.data.ndim:
+ result = self.deepcopy_with_new_data(result)
+ elif np.ndim(result) < self.data.ndim:
+ result = self.deepcopy_with_reduced_data_dim(data=result, keep_dim=remaining_dims)
+ return result
+
+ def __array_ufunc__(self, ufunc: np.ufunc, method: str, *inputs, **kwargs) -> Any:
+ """Handle numpy universal functions (ufuncs).
+
+ Parameters
+ ----------
+ ufunc : np.ufunc
+ A numpy function that is applied to the input data.
+ method : str
+ How the ufunc operates on the inputs. This partially handles dimensionality expansion and contraction.
+ *inputs : tuple
+ Input arrays to the ufunc.
+ **kwargs : dict
+ Additional keyword arguments to pass to ufunc.
+ """
+ # Convert any Signal objects in inputs to their data arrays
+ args = []
+ signal_inputs = []
+ for i in inputs:
+ if isinstance(i, Signal):
+ args.append(i.data)
+ signal_inputs.append(i)
+ else:
+ args.append(i)
+
+ # Check that a signal exists in the inputs
+ if not signal_inputs: raise TypeError('At least one input must be a Signal object. I am not sure how this was called internally without a Signal. Please submit a detailed bug report.')
+
+ # Catch axis indexing by name
+ possible_dim_keys = ['axis', 'axes', 'dim']
+ dim_key = [k for k in possible_dim_keys if k in kwargs.keys()]
+ if len(dim_key) > 1:
+ raise ValueError(f'Only one of {possible_dim_keys} can be used at a time, but {dim_key} were provided. Check what dimensional refference {ufunc} permits and only provide that refference.')
+ elif len(dim_key) == 1:
+ dim_key = dim_key[0]
+ else:
+ dim_key = None
+
+ if dim_key:
+ # dim is used in SEA and PyTorch but not in numpy.
+ # Catch when SEA uses dim and convert to the funcitons allowed dim representation.
+ if dim_key=='dim':
+ for alwd_dim_key in possible_dim_keys[:-1]:
+ if alwd_dim_key in signature(ufunc).paramaters:
+ kwargs[alwd_dim_key] = kwargs['dim']
+ dim_key = alwd_dim_key
+ del kwargs['dim']
+ break
+
+ # Convert to int, tuple(int), or None
+ if kwargs[dim_key] is None: dims = None
+ elif isinstance(kwargs[dim_key], str):
+ dims = signal_inputs[0].dimensions.get_index_from_name(kwargs[dim_key])
+ elif isinstance(kwargs[dim_key], int):
+ if kwargs[dim_key] > signal_inputs[0].dimensions.ndim:
+ raise IndexError(f'Axis index {dim} is out of bounds for signal with {signal_inputs[0].dimensions.ndim} dimensions.')
+ else:
+ dim = kwargs[dim_key]
+ dims = dim if dim>=0 else len(self.dimensions) + dim
+ elif isinstance(kwargs[dim_key], Iterable):
+ dims = tuple()
+ for dim in kwargs[dim_key]:
+ if isinstance(dim, str):
+ dims += (signal_inputs[0].dimensions.get_index_from_name(dim), )
+ elif isinstance(dim, int):
+ if dim > signal_inputs[0].dimensions.ndim:
+ raise IndexError(f'Axis index {dim} is out of bounds for signal with {signal_inputs[0].dimensions.ndim} dimensions.')
+ else:
+ dim = dim if dim>=0 else len(self.dimensions) + dim
+ dims += (dim, )
+ kwargs[dim_key] = dims
+
+ # Call the ufunc on the underlying data
+ result = getattr(ufunc, method)(*args, **kwargs)
+
+ # If result is an array, wrap it back in a Signal
+ if isinstance(result, np.ndarray):
+ # Use the first Signal's attributes for the result
+ if signal_inputs:
+ base_signal = signal_inputs[0]
+ out = base_signal.deepcopy()
+ out.data = result
+
+ # Update dimensions based on the ufunc operation
+ if result.ndim != base_signal.data.ndim:
+ # Dimension reduction occurred
+ remaining_dims = {i: n for i, n in enumerate(base_signal.dimensions)}
+
+ if dim_key:
+ if isinstance(kwargs[dim_key], int): kwargs[dim_key] = tuple([kwargs[dim_key]])
+ for dim in kwargs[dim_key]: remaining_dims.pop(dim)
+
+ new_dims = Dimensions(
+ dimensions=remaining_dims.values(),
+ nav_dimensions=[i for i, dim in enumerate(remaining_dims)
+ if dim in [base_signal.dimensions[d] for d in base_signal.dimensions.nav_dimensions]],
+ sig_dimensions=[i for i, dim in enumerate(remaining_dims)
+ if dim in [base_signal.dimensions[d] for d in base_signal.dimensions.sig_dimensions]],
+ )
+ out.dimensions = new_dims
+
+ return out
+
+ # Return scalars or other types as-is
+ return result
+
+ def deepcopy_with_new_data(self, data:np.ndarray):
+ """Copy the signal with new data."""
+ out = self.deepcopy()
+ out.data = data
+ return out
+ def deepcopy_with_reduced_data_dim(self, data:np.ndarray, keep_dim:Tuple[int|str]) -> Signal: #!
+ """Copy the signal with new data of reduced dimensionality."""
+ out = self.deepcopy()
+ out.data = data
+
+ # Update dimensions based on the ufunc operation
+ new_dims = Dimensions(
+ dimensions=[out.dimensions[i] for i in keep_dim],
+ nav_dimensions=[i for i, dim in enumerate(keep_dim)
+ if dim in [self.dimensions[d] for d in self.dimensions.nav_dimensions]],
+ sig_dimensions=[i for i, dim in enumerate(keep_dim)
+ if dim in [self.dimensions[d] for d in self.dimensions.sig_dimensions]],
+ )
+ out.dimensions = new_dims
+
+ return out
+
+ def to_dict(self,
+ hidden: bool = False,
+ properties: bool = True,
+ exclude_keys: List[str] = ['data'],
+ deep: bool = True
+ ):
+ """
+ Recursively convert Dimension object to a dictionary.
+
+ Parameters
+ ----------
+ hidden : bool, optional
+ Include hidden attributes (starting with '_'), by default False.
+ properties : bool, optional
+ Include properties, by default True.
+ exclude_keys : List[str], optional
+ Keys to exclude from the dictionary, by default [].
+ deep : bool, optional
+ Recursively convert nested SEASerializable objects, by default True.
+
+ Returns
+ -------
+ dict
+ Dictionary representation of the Dimension object.
+ """
+ return super().to_dict(hidden=hidden, properties=properties, exclude_keys=exclude_keys, deep=deep)
+
+ def to_hdf5_group(self, parent_group: File|Group,
+ force_datasets: List = ['data'],
+ name: str | None = None
+ ) -> None:
+ super().to_hdf5_group(parent_group=parent_group,
+ force_datasets=force_datasets,
+ name=name)
+ def to_sea(self, file_path: str,
+ force_datasets: List = ['data']) -> None:
+ """Save dimension to HDF5."""
+ super().to_sea(file_path=file_path,
+ force_datasets=force_datasets)
+
+ def _get_tree_html(self, recursive_level: List[str] = 0,
+ exclude_keys: List[str]= ['data', 'original_metadata'],
+ exclude_hidden: bool = True,
+ exclude_properties:bool = False,
+ promote_itterable_keys: List[str] = []
+ ) -> str:
+ return super().get_tree_html(recursive_level,
+ exclude_keys=exclude_keys,
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys
+ )
+ def get_tree_html(self, recursive_level: int = 0,
+ exclude_keys: List[str] = [],
+ exclude_hidden: bool = True,
+ exclude_properties:bool = False,
+ promote_itterable_keys: List[str] = []
+ ) -> str:
+ return self._get_tree_html(recursive_level,
+ exclude_keys=exclude_keys+['data', 'original_metadata'],
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys
+ )
+
+ def infer_plot_dims(self,dims,fnc):
+ if dims is None:
+ if self.dimensions.ndim == 2: dims = [0,1] # The signal is already plottable
+ elif self.dimensions.ndim == 1: dims = [0] # The signal is already plottable
+ elif 0 < len(self.dimensions.sig_dimensions) <= 2: dims = self.dimensions.sig_dimensions # Plot the signal
+ elif 0 < len(self.dimensions.nav_dimensions) <= 2: dims = self.dimensions.nav_dimensions # Plot the navigation
+ else: raise ValueError('The total, signal, and navigation dimensions are larger than 2 dimensions so a dimension could not be infered. Ploting >2D is not yet implemented')
+ elif dims == 'sig':
+ if len(self.dimensions.sig_dimensions) <=2: dims = self.dimensions.sig_dimensions
+ else: raise ValueError('The signal dimensions being plotted is larger than 2 dimensions, which is not yet implemented')
+ elif dims == 'nav':
+ if len(self.dimensions.nav_dimensions) <=2: dims = self.dimensions.nav_dimensions
+ else: raise ValueError('The navigation dimensions being plotted is larger than 2 dimensions, which is not yet implemented')
+
+ #TODO use self.dimensions.get_dims_as_int()
+ if len(dims)>2: raise ValueError('The signal dimensions being plotted is larger than 2 dimensions, which is not yet implemented')
+ else: dims = self.dimensions.get_dims_as_int(dims)
+
+ dims_remain = tuple(i for i in range(len(self.dimensions)) if i not in dims)
+
+ if len(dims_remain) == 0:
+ return self,dims
+ else:
+ return fnc(self, axis=dims_remain),dims
+
+ def show(self,
+ ax: mplAxes|None = None,
+ dims: None|Literal['sig','nav']|Iterable[int, str]= None,
+ fnc: Callable|None = np.sum,
+ filename: str|None = None,
+ **kwargs
+ ) -> Any:
+
+ if not PLOTTING_AVAILABLE:
+ raise ImportError("Plotting functionality requires sea-eco plotting module. Use matplotlib directly or install sea-eco.")
+
+ sig,dims = self.infer_plot_dims(dims,fnc)
+
+ if 'xlabel' not in kwargs:
+ kwargs['xlabel'] = f'{sig.dimensions[-1].name} ({sig.dimensions[-1].units})'
+ if len(dims)==2:
+ if 'extent' not in kwargs: kwargs['extent'] = sig.dimensions.get_extents(kind='Image')
+ if 'ylabel' not in kwargs: kwargs['ylabel'] = f'{sig.dimensions[-2].name} ({sig.dimensions[-2].units})'
+ if 'scale_bar_kwargs' not in kwargs: kwargs['scale_bar_kwargs'] = {'units':sig.dimensions[-1].units}
+ else:
+ if 'units' not in kwargs['scale_bar_kwargs']:
+ kwargs['scale_bar_kwargs']['units'] =sig.dimensions[-1].units
+ if len(dims)==1:
+ if 'ylabel' not in kwargs: kwargs['xlabel'] = f'{sig.dimensions[0].name} ({sig.dimensions[0].units})'
+ p = plot_nd_array(sig.data, ax=ax, **kwargs)
+ if filename is not None:
+ save_plot(filename)
+ return p
+
+ def image(self,
+ dims: None|Literal['sig','nav']|Iterable[int, str]= None,
+ fnc: Callable|None = np.sum,
+ filename: str|None = None ) -> None:
+
+ if not PLOTTING_AVAILABLE:
+ raise ImportError("Plotting functionality requires sea-eco plotting module. Use matplotlib directly or install sea-eco.")
+
+ sig,dims = self.infer_plot_dims(dims,fnc)
+ size = np.asarray( [ d.get_extent() for d in sig.dimensions ] )
+ size = size[:,1]-size[:,0]
+ units = [ d.units for d in sig.dimensions ]
+ save_image(sig.data,size,units[0],filename=filename)
+
+class SignalSet(SEASerializable):
+
+ def __init__(self,
+ signals: Iterable[Signal]|None = None, main_signal: int|None = None,
+ name: str|None = None,
+ metadata: GeneralMetadata|None = None,
+ dimensions: Dimensions|None = None,
+ uuid: str|None = None,
+ merge_dimensions:bool = False, merge_metadata: bool = False
+ ) -> None:
+
+ #Initialize kwargs
+ self.uuid = uuid if uuid is not None else generate_uuid()
+ self.main_signal = main_signal
+ self.signals = []
+ self.dimensions = dimensions if dimensions is not None else Dimensions()
+ self.metadata = metadata
+
+ # Add signals
+ if signals is not None: # loop signals and add them
+ if main_signal is None: main_signal=0 #if main_signal is not defined define the first element as the main signal
+ else: signals.insert(0, signals.pop(main_signal)) # move the main signal to the first position in the list
+ self.main_signal = 0 # redefine main_signal as the first signal, as we just inforce
+
+ for signal in signals:
+ signal._parent_SignalSet = self # First set parent reference so dimensions can be accessed
+ self.add_signal(signal, merge_metadata=merge_metadata, merge_dimensions=merge_dimensions) # Then add signals with metadata and dimensions merging
+
+ def __getitem__(self, key:int|str):
+ if isinstance(key, int): return self.signals[key]
+ elif isinstance(key, str): return self.signals[self.get_index_from_name(key)]
+ else: raise TypeError(f'Only integers and strings are allowed but a {type(key)} was provided.')
+
+ # def to_hdf5_grop(
+ # def to_sea(self, group, name):
+ # pass
+
+ def _get_tree_html(self, recursive_level: List[str] = 0,
+ exclude_keys: List[str] = [],
+ exclude_hidden: bool = True,
+ exclude_properties:bool = False,
+ promote_itterable_keys: List[str] = ['signals']
+ ) -> str:
+ return super().get_tree_html(recursive_level,
+ exclude_keys=exclude_keys,
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys
+ )
+ def get_tree_html(self, recursive_level: int = 0,
+ exclude_keys: List[str] = [],
+ exclude_hidden: bool = True,
+ exclude_properties:bool = False,
+ promote_itterable_keys: List[str] = []
+ ) -> str:
+ return self._get_tree_html(recursive_level,
+ exclude_keys=exclude_keys,
+ exclude_hidden=exclude_hidden,
+ exclude_properties=exclude_properties,
+ promote_itterable_keys=promote_itterable_keys + ['signals']
+ )
+
+ def add_signal(self, signal,
+ merge_metadata:bool=False,
+ merge_dimensions:bool=False,
+ meta_kwargs=dict(kind='append', warn_duplicate=False, inform_new=False)):
+ signal = signal.deepcopy() #? Should this be coppied?
+ if merge_metadata:
+ if self.metadata is None: self.metadata = signal.metadata
+ elif signal.metadata is not None: self.metadata.merge(signal.metadata, **meta_kwargs)
+
+ if merge_dimensions:
+ # dimensions is initialized in __init__, so this case shouldn't happen anymore
+ if len(self.dimensions.nav_dimensions)==0 and len(signal.dimensions.nav_dimensions)!=0:
+ self.dimensions.nav_dimensions = signal.dimensions.nav_dimensions
+ if len(self.dimensions.sig_dimensions)==0 and len(signal.dimensions.sig_dimensions)!=0:
+ self.dimensions.sig_dimensions = signal.dimensions.sig_dimensions
+ if len(self.dimensions.nav_dimensions)==0 and len(signal.dimensions.nav_dimensions)!=0:
+ self.dimensions.nav_dimensions = signal.dimensions.nav_dimensions
+ for ax in signal.dimensions.dimensions:
+ if ax.name not in self.dimensions.get_names():
+ self.dimensions.add_dimension(ax)
+ signal.dimensions_domain = 'global'
+ self.signals.append(signal)
+
+ def get_names(self) -> List[str]:
+ return [sig.name for sig in self.signals]
+
+ def get_index_from_name(self, name:str) -> int:
+ names = self.get_names()
+ if name in names: return names.index(name)
+ else: raise KeyError(f'A key of {name} was provided and the signal names are {names}')
+
+class AcquisitionSet(SignalSet):
+
+ def __init__(self,
+ signals: Iterable[Signal]|None = None, main_signal: int|None = None,
+ metadata: GeneralMetadata|None = None,
+ dimensions: Dimensions|None = None,
+ merge_dimensions: bool=True, merge_metadata: bool = True,
+ instrument_uuid: str|None = None
+ ) -> None:
+
+ super().__init__(signals=signals, main_signal=main_signal,
+ metadata=metadata,
+ dimensions=dimensions,
+ merge_dimensions=merge_dimensions, merge_metadata=merge_metadata)
+ if self._check_aquisition_uuids():
+ self.uuid = self.signals[0].metadata.Instrument.Scan.scan_uuid
+ else:
+ self.uuid = generate_uuid()
+ self.instrument_uuid = instrument_uuid
+
+ def _check_aquisition_uuids(self):
+ uuids = [sig.metadata.Instrument.Scan.scan_uuid for sig in self.signals]
+ if len(self.signals)==0:
+ return False
+ elif len(set(uuids))!=1:
+ warn('Not all signals in this set have the same scan uuid.')
+ return False
+ return True
diff --git a/src/pyslice/data/__init__.py b/src/pyslice/data/NO__init__.py
similarity index 100%
rename from src/pyslice/data/__init__.py
rename to src/pyslice/data/NO__init__.py
diff --git a/src/pyslice/data/pyslice_serial.py b/src/pyslice/data/pyslice_serial.py
new file mode 100644
index 0000000..097880d
--- /dev/null
+++ b/src/pyslice/data/pyslice_serial.py
@@ -0,0 +1,243 @@
+"""
+PySliceSerial mixin for HDF5/SEA serialization of PySlice data classes.
+
+This mixin provides generalized serialization/deserialization for classes
+that inherit from Signal but have special attributes (tensors, Paths, etc.)
+that need conversion for HDF5 storage.
+"""
+import numpy as np
+from pathlib import Path
+from h5py import File, Group, Dataset
+
+try:
+ import sys
+ sys.path.insert(1,"../../")
+ from pySEA.sea_eco.architecture.base_structure_numpy import Signal, Dimensions, Dimension, Metadata, safe_decode
+except Exception as e:
+ class Signal:
+ def to_sea(self,*args,**kwargs):
+ print("ERROR: pySEA import failed, this functionality is not available")
+ Dimensions,Dimension,Metadata = None,None,None
+ print("failed to import pySEA:",e)
+
+def _to_numpy(x):
+ """Convert tensor or array-like to numpy array."""
+ if x is None:
+ return None
+ if hasattr(x, 'cpu'):
+ return x.cpu().numpy()
+ return np.asarray(x)
+
+
+class PySliceSerial:
+ """
+ Mixin class providing generalized HDF5/SEA serialization for PySlice data classes.
+
+ Subclasses should define a `_sea_config` dict with the following optional keys:
+
+ - tensor_attrs: List of attribute names that are torch tensors (converted to numpy)
+ - path_attrs: List of attribute names that are Path objects (converted to string)
+ - tuple_list_attrs: List of attribute names that are lists of tuples (converted to arrays)
+ - exclude_attrs: List of attribute names to exclude from serialization
+ - force_datasets: List of attribute names to store as HDF5 datasets (not attrs)
+ - default_attrs: Dict of default values to set during deserialization
+
+ Example:
+ class MyData(PySliceSerial, Signal):
+ _sea_config = {
+ 'tensor_attrs': ['_array', '_kxs', '_kys'],
+ 'path_attrs': ['cache_dir'],
+ 'tuple_list_attrs': ['probe_positions'],
+ 'exclude_attrs': ['probe', '_wf_array'],
+ 'force_datasets': ['_array', 'probe_positions'],
+ }
+ """
+
+ _sea_config = {}
+
+ def to_hdf5_group(self, parent_group, force_datasets=None, name=None):
+ """Serialize to HDF5 group with automatic type conversions."""
+ config = getattr(self, '_sea_config', {})
+
+ tensor_attrs = config.get('tensor_attrs', [])
+ path_attrs = config.get('path_attrs', [])
+ tuple_list_attrs = config.get('tuple_list_attrs', [])
+ exclude_attrs = config.get('exclude_attrs', [])
+ config_force_datasets = config.get('force_datasets', [])
+
+ if force_datasets is None:
+ force_datasets = ['data']
+ force_datasets = list(force_datasets) + config_force_datasets
+
+ # Store originals for restoration
+ originals = {}
+
+ # Convert tensor attributes to numpy
+ for attr in tensor_attrs:
+ if hasattr(self, attr):
+ originals[attr] = getattr(self, attr)
+ setattr(self, attr, _to_numpy(getattr(self, attr)))
+ # Ensure tensor attrs are stored as datasets
+ if attr not in force_datasets:
+ force_datasets.append(attr)
+
+ # Convert Path attributes to string
+ for attr in path_attrs:
+ if hasattr(self, attr):
+ originals[attr] = getattr(self, attr)
+ val = getattr(self, attr)
+ setattr(self, attr, str(val) if val is not None else None)
+
+ # Convert list of tuples to numpy array
+ for attr in tuple_list_attrs:
+ if hasattr(self, attr):
+ originals[attr] = getattr(self, attr)
+ val = getattr(self, attr)
+ if val is not None:
+ setattr(self, attr, np.array(val))
+ if attr not in force_datasets:
+ force_datasets.append(attr)
+
+ # Temporarily remove non-serializable attributes
+ for attr in exclude_attrs:
+ if hasattr(self, attr):
+ originals[attr] = getattr(self, attr)
+ try:
+ delattr(self, attr)
+ except AttributeError:
+ setattr(self, attr, None)
+
+ try:
+ # Call parent's to_hdf5_group (Signal's method)
+ result = super().to_hdf5_group(parent_group, force_datasets=force_datasets, name=name)
+ finally:
+ # Restore original attributes
+ for attr, val in originals.items():
+ setattr(self, attr, val)
+
+ return result
+
+ def to_sea(self, file_path, force_datasets=None):
+ """Save to .sea file with automatic type conversions."""
+ config = getattr(self, '_sea_config', {})
+ config_force_datasets = config.get('force_datasets', [])
+
+ if force_datasets is None:
+ force_datasets = ['data']
+ force_datasets = list(force_datasets) + config_force_datasets
+
+ super().to_sea(file_path, force_datasets=force_datasets)
+
+ def from_hdf5_group(self, group):
+ """Deserialize from HDF5 group with automatic type conversions."""
+ #from .signal import safe_decode, Dimensions, GeneralMetadata
+
+ config = getattr(self, '_sea_config', {})
+
+ tensor_attrs = config.get('tensor_attrs', [])
+ path_attrs = config.get('path_attrs', [])
+ tuple_list_attrs = config.get('tuple_list_attrs', [])
+ exclude_attrs = config.get('exclude_attrs', [])
+ default_attrs = config.get('default_attrs', {})
+
+ # Build mapping from storage keys (without _) to internal attr names
+ key_map = {}
+ for attr in tensor_attrs + path_attrs + tuple_list_attrs:
+ storage_key = attr[1:] if attr.startswith('_') else attr
+ key_map[storage_key] = attr
+
+ # Initialize default attributes (Signal expects these)
+ signal_defaults = {
+ '_original_metadata': None,
+ '_parent_SignalSet': None,
+ 'detector': None,
+ 'is_lazy': False,
+ '_array': None,
+ }
+ for attr, val in signal_defaults.items():
+ setattr(self, attr, val)
+
+ # Initialize excluded attrs to None
+ for attr in exclude_attrs:
+ setattr(self, attr, None)
+
+ # Initialize user-specified defaults
+ for attr, val in default_attrs.items():
+ setattr(self, attr, val)
+
+ # Read datasets (large arrays)
+ for key, item in group.items():
+ if isinstance(item, Dataset):
+ value = item[()]
+ attr_name = key_map.get(key, key)
+ # Check for private version
+ if not hasattr(self, attr_name) and hasattr(self, f'_{key}'):
+ attr_name = f'_{key}'
+ setattr(self, attr_name, value)
+
+ # Read attributes (scalars/small values)
+ for key, val in group.attrs.items():
+ if key == 'sea_type':
+ continue
+ decoded_val = safe_decode(val)
+ attr_name = key_map.get(key, key)
+
+ # Check for private version
+ if not hasattr(self, attr_name):
+ if hasattr(self, f'_{key}'):
+ attr_name = f'_{key}'
+
+ setattr(self, attr_name, decoded_val)
+
+ # Handle nested groups (Dimensions, GeneralMetadata)
+ for key, item in group.items():
+ if isinstance(item, Group):
+ sea_type = safe_decode(item.attrs.get('sea_type', b''))
+ if sea_type == 'Dimensions':
+ dims = Dimensions()
+ dims.from_hdf5_group(item)
+ self._local_dimensions = dims
+ elif sea_type == 'GeneralMetadata':
+ meta = GeneralMetadata()
+ meta.from_hdf5_group(item)
+ if key == 'metadata' or key == 'Metadata':
+ self.metadata = meta
+
+ # Post-process: convert types back
+ for attr in path_attrs:
+ if hasattr(self, attr):
+ val = getattr(self, attr)
+ if val is not None and isinstance(val, str):
+ setattr(self, attr, Path(val))
+
+ for attr in tuple_list_attrs:
+ if hasattr(self, attr):
+ val = getattr(self, attr)
+ if val is not None and isinstance(val, np.ndarray):
+ setattr(self, attr, [tuple(p) for p in val])
+
+ @classmethod
+ def load(cls, file_path):
+ """
+ Load an object from a .sea file.
+
+ Args:
+ file_path: Path to the .sea file
+
+ Returns:
+ Instance of the class populated with data from the file
+ """
+ file_path = Path(file_path)
+ if file_path.suffix != '.sea':
+ file_path = file_path.with_suffix('.sea')
+
+ # Create empty instance without calling __init__
+ obj = cls.__new__(cls)
+
+ with File(file_path, 'r') as f:
+ if len(f) != 1:
+ raise ValueError("The HDF5 file contains multiple groups.")
+ main_group = f[list(f.keys())[0]]
+ obj.from_hdf5_group(main_group)
+
+ return obj
diff --git a/src/pyslice/md/molecular_dynamics.py b/src/pyslice/md/molecular_dynamics.py
index e464f95..81c4bed 100644
--- a/src/pyslice/md/molecular_dynamics.py
+++ b/src/pyslice/md/molecular_dynamics.py
@@ -128,7 +128,7 @@ class MDCalculator:
Integrates with PySlice's Trajectory and Loader infrastructure.
"""
- def __init__(self, model_name: str = 'orb-v3-direct-inf-omat', device: str = 'cpu', precision: str = 'float32-high'):
+ def __init__(self, model_name: str = 'orb-v3-direct-inf-omat', device: str = 'cpu', precision: str = 'float32-high', weights_path: Optional[str] = None):
"""
Initialize MD calculator.
@@ -136,10 +136,12 @@ def __init__(self, model_name: str = 'orb-v3-direct-inf-omat', device: str = 'cp
model_name: ORB model to use
device: Device for ORB calculations ('cpu', 'cuda', etc.)
precision: Precision for ORB calculations ('float32-high', 'float32-highest', etc.)
+ weights_path: Optional local path to model weights (bypasses network download)
"""
self.model_name = model_name
self.device = device
self.precision = precision
+ self.weights_path = weights_path
self.calculator = None
# Available ORB models
@@ -169,15 +171,22 @@ def _setup_calculator(self) -> bool:
model_func = getattr(pretrained, model_func_name)
+ # Build kwargs for model loading
+ model_kwargs = {'precision': self.precision, 'compile': False}
+ if self.weights_path:
+ logger.info(f"Using local weights: {self.weights_path}")
+ model_kwargs['weights_path'] = self.weights_path
+
# ORB doesn't natively support MPS, so we load on CPU then move
if self.device == 'mps':
logger.info("MPS detected: loading on CPU, converting to float32, moving to MPS...")
# compile=False required for MPS (dynamo has float64 issues)
- orbff = model_func(device='cpu', precision=self.precision, compile=False)
+ orbff = model_func(device='cpu', **model_kwargs)
orbff = orbff.float() # Ensure float32 (MPS doesn't support float64)
orbff = orbff.to('mps')
else:
- orbff = model_func(device=self.device, precision=self.precision)
+ # compile=False to avoid slow torch.compile on first run
+ orbff = model_func(device=self.device, **model_kwargs)
self.calculator = ORBCalculator(orbff)
@@ -552,7 +561,8 @@ def run_production(
# Convert to PySlice Trajectory automatically
# Use ASE directly to preserve velocities (OVITO strips them)
- timestep_ps = self.timestep / 1000.0 # Convert fs to ps
+ # Account for save_interval: actual time between frames = timestep * save_interval
+ timestep_ps = self.timestep * self.save_interval / 1000.0 # Convert fs to ps
logger.info(f"Converting trajectory to PySlice format...")
from ase.io import read as aseread
diff --git a/src/pyslice/multislice/calculators.py b/src/pyslice/multislice/calculators.py
index 3bd5b24..2fc4537 100644
--- a/src/pyslice/multislice/calculators.py
+++ b/src/pyslice/multislice/calculators.py
@@ -3,7 +3,7 @@
import logging
from typing import Optional, Tuple, List
from tqdm import tqdm
-import time
+import time,os
import hashlib
try:
@@ -34,7 +34,7 @@
from .trajectory import Trajectory
from ..postprocessing.wf_data import WFData
from .sed import SED
-from ..backend import zeros,expand_dims
+from ..backend import zeros,expand_dims,to_cpu
logger = logging.getLogger(__name__)
@@ -165,16 +165,32 @@ def setup(
self.dx = xs[1]-xs[0] ; self.dy = ys[1]-ys[0] ; self.dy = ys[1]-ys[0]
# calculate kxs kys here, so we can crop them, since we'll pre-allocate wavefunction_data below
- self.kxs = xp.fft.fftshift(xp.fft.fftfreq(self.nx, self.sampling)) # k-space in 1/Å
- self.kys = xp.fft.fftshift(xp.fft.fftfreq(self.ny, self.sampling)) # k-space in 1/Å
- self.i1 = xp.argwhere(self.kxs >= -max_kx)[0][0] # first element >=
- self.i2 = xp.argwhere(self.kxs <= max_kx)[-1][0]+1 # last element <=, +1, so i1:i2 includes i2
- self.j1 = xp.argwhere(self.kys >= -max_ky)[0][0]
- self.j2 = xp.argwhere(self.kys <= max_ky)[-1][0]+1
- self.kxs = self.kxs[self.i1:self.i2]
- self.kys = self.kys[self.j1:self.j2]
+ self.kxs_uncrop = xp.fft.fftshift(xp.fft.fftfreq(self.nx, self.sampling)) # k-space in 1/Å
+ self.kys_uncrop = xp.fft.fftshift(xp.fft.fftfreq(self.ny, self.sampling)) # k-space in 1/Å
+ self.i1 = xp.argwhere(self.kxs_uncrop >= -max_kx)[0][0] # first element >=
+ self.i2 = xp.argwhere(self.kxs_uncrop <= max_kx)[-1][0]+1 # last element <=, +1, so i1:i2 includes i2
+ self.j1 = xp.argwhere(self.kys_uncrop >= -max_ky)[0][0]
+ self.j2 = xp.argwhere(self.kys_uncrop <= max_ky)[-1][0]+1
+ self.kxs = self.kxs_uncrop[self.i1:self.i2]
+ self.kys = self.kys_uncrop[self.j1:self.j2]
self.nx = self.i2 - self.i1 ; self.ny = self.j2 - self.j1 ; nx = self.nx ; ny = self.ny
+ # Preferred to pass probe_xs and probe_ys from which we will define a grid
+ if self.probe_xs is not None and self.probe_ys is not None:
+ x,y = np.meshgrid(self.probe_xs,self.probe_ys,indexing='ij')
+ self.probe_positions = np.asarray(list(zip(x.flat,y.flat)))
+
+ # If probe_positions provided but not probe_xs/probe_ys, derive them
+ elif self.probe_positions is not None:
+ positions = np.asarray(self.probe_positions)
+ self.probe_xs = sorted(list(set(positions[:, 0])))
+ self.probe_ys = sorted(list(set(positions[:, 1])))
+
+ # Set up default probe position if not provided
+ if self.probe_positions is None:
+ self.probe_positions = [(lx/2, ly/2)] # Center probe
+ self.probe_xs = [lx/2] ; self.probe_ys = [ly/2]
+
# Create probe on the correct device from the start
self.base_probe = Probe(xs, ys, self.aperture, self.voltage_eV, device=self.device, probe_xs=self.probe_xs, probe_ys=self.probe_ys, probe_positions=self.probe_positions)
self.base_probe.applyShifts()
@@ -195,7 +211,30 @@ def setup(
self.complex_dtype = np.complex128
self.float_dtype = np.float64
-
+ def preview_probes(self):
+ positions = self.trajectory.positions[0]
+ atom_types = self.trajectory.atom_types
+ atom_type_names = []
+ for atom_type in atom_types:
+ if atom_type in self.element_map:
+ atom_type_names.append(self.element_map[atom_type])
+ else:
+ atom_type_names.append(atom_type)
+ potential = Potential(self.xs, self.ys, self.zs, positions, atom_type_names, kind="kirkland", device=self.device, slice_axis=self.slice_axis)
+ potential.build()
+ potential.flatten()
+ import matplotlib.pyplot as plt
+ fig, ax = plt.subplots()
+ array = np.absolute(to_cpu(potential.array))[:,::-1,0].T # imshow convention: y,x. our convention: x,y, and flip y (0,0 upper-left)
+ xs = to_cpu(potential.xs) ; ys = to_cpu(potential.ys)
+ extent = (np.amin(xs),np.amax(xs),np.amin(ys),np.amax(ys))
+ print(extent)
+ ax.imshow(array, cmap="inferno", extent=extent)
+ ax.set_xlabel("x ($\\AA$)") ; ax.set_ylabel("y ($\\AA$)")
+ pp = np.asarray(self.base_probe.probe_positions)
+ ax.scatter(pp[:,0],pp[:,1],c='r')
+ plt.show()
+
def run(self) -> WFData:
@@ -231,6 +270,12 @@ def run(self) -> WFData:
# Show detailed progress for single-frame runs
show_progress = (frame_idx == 0 and self.n_frames == 1)
+ # special case: no frames cached, but we clearly finished and got to tacaw. if so, don't bother regenerating
+ # this allows cache_levels = [] to be used for disk space savings
+ if os.path.exists( self.output_dir / f"tacaw.npy" ) and not os.path.exists( cache_file ):
+ pbar.update(1)
+ continue
+
positions = self.trajectory.positions[frame_idx]
atom_types = self.trajectory.atom_types
atom_type_names = []
@@ -243,6 +288,14 @@ def run(self) -> WFData:
# frame_data should always be shaped: n_probes,nkx,nky,n_layers,1 (idk why there's a trailing 1)
cache_exists,frame_data = checkCache(cache_file,self.cache_levels)
+ if not os.path.exists(self.output_dir / f"kx.npy"):
+ np.save(self.output_dir / f"kx.npy",to_cpu(self.kxs))
+ np.save(self.output_dir / f"ky.npy",to_cpu(self.kys))
+ if len(self.kxs)!=len(self.kxs_uncrop) and not os.path.exists(self.output_dir / f"kx_uncrop.npy"):
+ np.save(self.output_dir / f"kx_uncrop.npy",to_cpu(self.kxs_uncrop))
+ if len(self.kys)!=len(self.kys_uncrop) and not os.path.exists(self.output_dir / f"ky_uncrop.npy"):
+ np.save(self.output_dir / f"ky_uncrop.npy",to_cpu(self.kys_uncrop))
+
if cache_exists:
frames_cached += 1
else:
@@ -335,7 +388,7 @@ def run(self) -> WFData:
# Handle cleanup
if self.cleanup_temp_files:
logger.info("Cleaning up cache files...")
- for frame_idx in range(n_frames):
+ for frame_idx in range(self.n_frames):
cache_file = self.output_dir / f"frame_{frame_idx}.npy"
if cache_file.exists():
cache_file.unlink()
diff --git a/src/pyslice/multislice/multislice.py b/src/pyslice/multislice/multislice.py
index 7599115..0f2f8ff 100644
--- a/src/pyslice/multislice/multislice.py
+++ b/src/pyslice/multislice/multislice.py
@@ -1,7 +1,7 @@
import numpy as np
from tqdm import tqdm
import logging
-from ..backend import zeros,mean,ones
+from ..backend import zeros,mean,ones,to_cpu
try:
import torch ; xp = torch
@@ -29,15 +29,48 @@
logger = logging.getLogger(__name__)
+def antialias_aperture(kxs, kys, cutoff_fraction=2/3, taper_width=0.02):
+ """Compute a 2/3 Nyquist anti-aliasing aperture in k-space.
+
+ Bandwidth-limits to ``cutoff_fraction`` of k_max with a smooth cosine
+ taper to avoid ringing from a hard cutoff. Returns a 2D real-valued
+ array (1 inside, tapers to 0 outside).
+ """
+ kx_max = xp.amax(xp.abs(kxs))
+ ky_max = xp.amax(xp.abs(kys))
+ k_max = min(float(kx_max), float(ky_max)) # Nyquist = 1/(2*sampling)
+ k_cutoff = cutoff_fraction * k_max
+
+ kx_grid, ky_grid = xp.meshgrid(kxs, kys, indexing='ij')
+ k_r = xp.sqrt(kx_grid**2 + ky_grid**2)
+
+ # Smooth cosine taper from (k_cutoff - taper) to k_cutoff, strictly zero above k_cutoff
+ taper = taper_width * k_max
+ aperture = xp.ones_like(k_r)
+ mask_taper = (k_r > k_cutoff - taper) & (k_r < k_cutoff)
+ mask_outer = k_r >= k_cutoff
+ if TORCH_AVAILABLE and hasattr(k_r, 'device'):
+ aperture[mask_taper] = 0.5 * (1 + torch.cos(torch.pi * (k_r[mask_taper] - k_cutoff + taper) / taper))
+ else:
+ aperture[mask_taper] = 0.5 * (1 + np.cos(np.pi * (k_r[mask_taper] - k_cutoff + taper) / taper))
+ aperture[mask_outer] = 0.0
+ return aperture
+
m_electron = 9.109383e-31 # mass of an electron, kg
-q_electron = 1.602177e-19 # charge of an electron, J / eV or kg m^2/s^2 / eV
+q_electron = 1.602177e-19 # charge of an electron, J / eV or kg m^2/s^2 / eV
c_light = 299792458.0 # speed of light, m / s
h_planck = 6.62607015e-34 # m^2 kg / s
+#what if we use units of Å throughout, instead of m?
+#m_electron = 9.109383e-19 # mass of an electron, nano-gram (ng)
+#q_electron = 1.602177e1 # charge of an electron, kg Å^2/s^2 / eV
+#c_light = 2.99792458e18 # speed of light, Å / s
+#h_planck = 6.62607015e-14 # Å^2 ng / s
def m_effective(eV):
"""Relativistic correction: E=m*c^2, so m=E/c^2, in kg"""
return m_electron + eV * q_electron / c_light**2
+ # units [ kg ] [ eV ] [ kg m² s⁻² eV⁻¹ ] [ m⁻² s² ]
def wavelength(eV):
"""
@@ -243,7 +276,7 @@ def plot(self,filename=None,title=None):
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# calling self.array should convert to CPU/numpy
- array = np.mean(np.absolute(self.array[:,:,:,:]),axis=1)[0,:,:] # positional,summable,x,y indices
+ array = np.mean(np.absolute(self.array[:,:,::-1,:]),axis=1)[0,:,:] # positional,summable,x,y indices
array=array.T # imshow convention: y,x. our convention: x,y
plot_array = np.absolute(array)**.25
@@ -340,9 +373,9 @@ def applyShifts(self):
# Create shifted probe using phase ramp in k-space
probe_k = xp.fft.fft2(self._array[:,i,:,:]) # positional,summable,x,y
- # Apply phase ramp for spatial shift
- kx_shift = xp.exp(2j * xp.pi * self.kxs[None,:, None] * (px-self.lx/2) )
- ky_shift = xp.exp(2j * xp.pi * self.kys[None,None, :] * (py-self.ly/2) )
+ # Apply phase ramp for spatial shift (negative sign = shift right)
+ kx_shift = xp.exp(-2j * xp.pi * self.kxs[None,:, None] * (px-self.lx/2) )
+ ky_shift = xp.exp(-2j * xp.pi * self.kys[None,None, :] * (py-self.ly/2) )
probe_k_shifted = probe_k * kx_shift * ky_shift
# Convert back to real space
@@ -446,9 +479,9 @@ def create_batched_probes(base_probe, probe_positions, device=None):
# Create shifted probe using phase ramp in k-space
probe_k = xp.fft.fft2(base_probe._array)
- # Apply phase ramp for spatial shift
- kx_shift = xp.exp(2j * xp.pi * base_probe.kxs[:, None] * (px-lx/2) )
- ky_shift = xp.exp(2j * xp.pi * base_probe.kys[None, :] * (py-ly/2) )
+ # Apply phase ramp for spatial shift (negative sign = shift right)
+ kx_shift = xp.exp(-2j * xp.pi * base_probe.kxs[:, None] * (px-lx/2) )
+ ky_shift = xp.exp(-2j * xp.pi * base_probe.kys[None, :] * (py-ly/2) )
probe_k_shifted = probe_k * kx_shift * ky_shift
# Convert back to real space
@@ -463,6 +496,12 @@ def create_batched_probes(base_probe, probe_positions, device=None):
return Probe(base_probe.xs, base_probe.ys, base_probe.mrad, base_probe.eV, array=array, device=base_probe.device)
+# Given a real-space entrance wave, and a potential (or object), calculate the exit wave: ψ₁ -> O -> ψ₂
+# From Kirkland2010:
+# propagator P = exp(-i π λ dz q²), Eq 6.65
+# transmission function t = exp(i σ O) where O is our object (or potential slice), Eq 6.59
+# ψ₂ = ℱ⁻¹[ P * ℱ[ t * ψ₁ ] ], Eq 6.67, noting the relationship: 𝒞[ f(x),g(x) ] = ℱ⁻¹[ ℱ[f(x)] * ℱ[g(x)] ] = ℱ⁻¹[ f(k) * g(k) ]
+# or as code: array = t * array ; fft_array = fft(array) ; propagated_fft = P * fft_array ; array = ifft(propagated_fft)
def Propagate(probe, potential, device=None, progress=False, onthefly=True, store_all_slices=False):
"""
PyTorch-accelerated multislice propagation function.
@@ -485,7 +524,6 @@ def Propagate(probe, potential, device=None, progress=False, onthefly=True, stor
raise ImportError("PyTorch not available. Please install PyTorch.")
# Initialize wavefunction with probe(s) - shape: (n_probes, nx, ny)
- #print(probe._array.shape)
nc,npt,nx,ny = probe._array.shape #; print("nc,npt,nx,ny",nc,npt,nx,ny)
array = probe._array.reshape((nc*npt,nx,ny)) # "flatten" first two indices
probe_wavelengths = probe.wavelengths[:,None]*ones(npt)[None,:] # also expand wavelengths and eVs arrays to cover all probe positions npt
@@ -497,7 +535,7 @@ def Propagate(probe, potential, device=None, progress=False, onthefly=True, stor
E0_eV = m_electron * c_light**2 / q_electron
sigma = (2 * np.pi) / (probe_wavelengths * probe_eVs) * \
(E0_eV + probe_eVs) / (2 * E0_eV + probe_eVs) # wavelength and eVs now have length of n_probes
-
+ #print("propagate sigma",sigma)
#if TORCH_AVAILABLE:
# #sigma_dtype = torch.float32 if device.type == 'mps' else torch.float64
# sigma = torch.tensor(sigma, dtype=float_dtype, device=device)
@@ -509,7 +547,12 @@ def Propagate(probe, potential, device=None, progress=False, onthefly=True, stor
# All tensors should already be on the correct device from creation
kx_grid, ky_grid = xp.meshgrid(potential.kxs, potential.kys, indexing='ij')
k_squared = kx_grid**2 + ky_grid**2
- P = xp.exp(-1j * xp.pi * probe_wavelengths[:,None,None] * dz * k_squared[None,:,:])
+
+ # Precompute 2/3 Nyquist anti-aliasing aperture for bandwidth-limiting transmission functions
+ aa_aperture = antialias_aperture(potential.kxs, potential.kys)
+
+ # Fold anti-aliasing aperture into propagator to bandwidth-limit wavefunction at every slice
+ P = xp.exp(-1j * xp.pi * probe_wavelengths[:,None,None] * dz * k_squared[None,:,:]) * aa_aperture[None,:,:] # Kirkland2010 Eq 6.65
if progress:
localtqdm = tqdm
@@ -532,10 +575,14 @@ def localtqdm(iterator):
potential_slice = potential.calculateSlice(z)
else:
potential_slice = potential._array[:, :, z]
- t = xp.exp(1j * sigma[:,None,None] * potential_slice[None,:,:])
+ t = xp.exp(1j * sigma[:,None,None] * potential_slice[None,:,:]) # Kirkland2010 Eq 6.59
+
+ # Bandwidth-limit the transmission function to 2/3 Nyquist to prevent aliasing
+ kwarg = {"dim":(-2,-1)} if TORCH_AVAILABLE else {"axes":(-2,-1)}
+ t = xp.fft.ifft2(xp.fft.fft2(t, **kwarg) * aa_aperture[None,:,:], **kwarg)
# Apply transmission to all probes: ψ' = t × ψ
- # Broadcasting: t[nx,ny] * array[n_probes,nx,ny] = array[n_probes,nx,ny]
+ # Broadcasting: t[n_probes,nx,ny] * array[n_probes,nx,ny] = array[n_probes,nx,ny]
array = t * array
# Store wavefunction at this slice if requested (after transmission)
@@ -570,3 +617,68 @@ def localtqdm(iterator):
# return array.squeeze(0)
return array # okay for Propagate to return a Tensor. we probably don't want to move things off-gpu yet
+# Given a real-space entrance and real-space exit wave, calculate the object the wave must have passed through: ψ₁ -> O -> ψ₂, given ψ₁,ψ₂, find O
+# From Kirkland2010:
+# propagator P = exp(-i π λ dz q²), Eq 6.65
+# transmission function t = exp(i σ O) where O is our object (or potential slice), Eq 6.59
+# ψ₂ = ℱ⁻¹[ P * ℱ[ t * ψ₁ ] ], Eq 6.67, noting the relationship: 𝒞[ f(x),g(x) ] = ℱ⁻¹[ ℱ[f(x)] * ℱ[g(x)] ] = ℱ⁻¹[ f(k) * g(k) ]
+# or as code: array = t * array ; fft_array = fft(array) ; propagated_fft = P * fft_array ; array = ifft(propagated_fft)
+# SO, to determine O from ψ₁ and ψ₂:
+# ℱ[ ψ₂ ] = P * ℱ[ t * ψ₁ ]
+# ℱ[ ψ₂ ]/P = ℱ[ t * ψ₁ ]
+# ℱ⁻¹[ ℱ[ ψ₂ ]/P ] = t * ψ₁
+# t = ℱ⁻¹[ ℱ[ ψ₂ ]/P ]/ψ₁
+# exp(i σ O) = ℱ⁻¹[ ℱ[ ψ₂ ]/P ]/ψ₁
+# i σ O = log( ℱ⁻¹[ ℱ[ ψ₂ ]/P ]/ψ₁ )
+# O = log( ℱ⁻¹[ ℱ[ ψ₂ ]/P ]/ψ₁ ) / i / σ
+def calculateObject(probe,exitwave,guessedObject,weighting=.5,dz=0.5,damping=.01):
+
+ import matplotlib.pyplot as plt
+ #fig, axs = plt.subplots(1,2)
+ #axs[0].imshow(to_cpu(xp.absolute(exitwave)), cmap="inferno") ; axs[0].set_title("exit wave")
+ #axs[1].imshow(to_cpu(xp.absolute(probe._array[0,0,:,:])), cmap="inferno") ; axs[1].set_title("entrance wave")
+ #plt.show()
+
+ nc,npt,nx,ny = probe._array.shape #; print("nc,npt,nx,ny",nc,npt,nx,ny)
+ psi1 = probe._array[0,0,:,:] # select first probe array only for now!
+ lamda = probe.wavelengths[0]
+ eV = probe.eVs[0]
+
+ # Calculate interaction parameter (Kirkland Eq 5.6)
+ E0_eV = m_electron * c_light**2 / q_electron
+ sigma = (2 * np.pi) / (lamda * eV) * \
+ (E0_eV + eV) / (2 * E0_eV + eV) # wavelength and eVs now have length of n_probes
+
+ # Pre-compute propagation operator in k-space (Fresnel propagation)
+ # All tensors should already be on the correct device from creation
+ kx_grid, ky_grid = xp.meshgrid(probe.kxs, probe.kys, indexing='ij') # TODO use probe.kxs instead, to free ourselves of the need to pass a potential
+ k_squared = kx_grid**2 + ky_grid**2
+
+ P = xp.exp(-1j * xp.pi * lamda * dz * k_squared[:,:]) # P in Kirkland2010 Eq 6.65 is exp(-i...), so to divide by P, we can use Pp, exp(+j...)
+
+ # t = ℱ⁻¹[ ℱ[ ψ₂ ]/P ]/ψ₁
+ t = xp.fft.ifft2(xp.fft.fft2(exitwave)/P)/psi1
+ # t = exp(i σ O) --> O = log(t)/i/σ
+ O = xp.log(t)/1j/sigma
+ # WHAT IS exp(i σ O) REALLY DOING? exp(iϕ) is a sinusoid. an only-real object is applying a phase shift? can we do calculate an angle instead?
+ O = np.angle(t)/sigma
+ # consider:
+ # instead of division, should i multiply by complex conjugate? (not technically the same, but it will deal with near-zeros)
+ # instead of log, should i use: https://en.wikipedia.org/wiki/Complex_logarithm#Calculating_the_principal_value
+ # should I apply a probe amplitude masking function?
+
+ #fig, axs = plt.subplots(1,3)
+ #axs[0].imshow(to_cpu(xp.absolute(exitwave)), cmap="inferno") ; axs[0].set_title("exit wave")
+ #axs[1].imshow(to_cpu(xp.absolute(probe._array[0,0,:,:])), cmap="inferno") ; axs[1].set_title("entrance wave")
+ #axs[2].imshow(to_cpu(xp.absolute(O)**.1), cmap="inferno") ; axs[2].set_title("object")
+ #plt.show()
+
+ delta=(O-guessedObject)
+
+ # probe amplitude masking function: zeros-out points where probe intensity is zero, without giving probe features as features in your potential
+ delta*=xp.absolute(psi1)/(xp.absolute(psi1)+damping*xp.amax(xp.absolute(psi1)))
+
+ return delta*weighting
+
+
+
diff --git a/src/pyslice/multislice/potentials.py b/src/pyslice/multislice/potentials.py
index 48e8134..092e7ac 100644
--- a/src/pyslice/multislice/potentials.py
+++ b/src/pyslice/multislice/potentials.py
@@ -2,6 +2,7 @@
from pathlib import Path
import logging,os
from tqdm import tqdm
+from ..backend import to_cpu,mean
try:
import torch ; xp = torch
@@ -186,8 +187,8 @@ def loadKirkland(device='cpu'):
else:
kirklandABCDs = np.asarray(kirkland_params)
-class Potential:
- def __init__(self, xs, ys, zs, positions, atomTypes, kind="kirkland", device=None, slice_axis=2, progress=False, cache_dir=None, frame_idx=None):
+class Potential:
+ def __init__(self, xs, ys, zs, positions=None, atomTypes=None, array=None, kind="kirkland", device=None, slice_axis=2, progress=False, cache_dir=None, frame_idx=None):
# Set up device and backend first
if TORCH_AVAILABLE:
# Auto-detect device if not specified
@@ -212,7 +213,12 @@ def __init__(self, xs, ys, zs, positions, atomTypes, kind="kirkland", device=Non
self.xs = torch.tensor(xs, dtype=self.dtype, device=device)
self.ys = torch.tensor(ys, dtype=self.dtype, device=device)
self.zs = torch.tensor(zs, dtype=self.dtype, device=device)
- positions = torch.tensor(positions, dtype=self.dtype, device=device)
+ if positions is not None:
+ positions = torch.tensor(positions, dtype=self.dtype, device=device)
+ if array is not None:
+ self._array = torch.tensor(array, device=device)
+ else:
+ self._array = None
else:
if device is not None:
raise ImportError("PyTorch not available. Please install PyTorch.")
@@ -223,6 +229,7 @@ def __init__(self, xs, ys, zs, positions, atomTypes, kind="kirkland", device=Non
self.xs = xs
self.ys = ys
self.zs = zs
+ self._array = array
self.nx = len(xs)
self.ny = len(ys)
@@ -255,32 +262,35 @@ def __init__(self, xs, ys, zs, positions, atomTypes, kind="kirkland", device=Non
qsq = self.kxs[:, None]**2 + self.kys[None, :]**2
# Convert atom types to atomic numbers if needed
- unique_atom_types = set(atomTypes)
- atomic_numbers = []
- for at in atomTypes:
- if isinstance(at, str):
- atomic_numbers.append(getZfromElementName(at))
- else:
- atomic_numbers.append(at)
- if TORCH_AVAILABLE:
- atomic_numbers = torch.tensor(atomic_numbers, device=device)
-
- # OPTIMIZATION 1: Compute form factors once per atom type on GPU
- form_factors = {}
- for at in unique_atom_types:
- if kind == "kirkland":
+ if atomTypes is not None:
+ unique_atom_types = set(atomTypes)
+ atomic_numbers = []
+ for at in atomTypes:
if isinstance(at, str):
- Z = getZfromElementName(at)
+ atomic_numbers.append(getZfromElementName(at))
else:
- Z = at
- form_factors[at] = kirkland(qsq, Z)
- elif kind == "gauss":
- form_factors[at] = torch.exp(-1**2 * qsq / 2)
+ atomic_numbers.append(at)
+ if TORCH_AVAILABLE:
+ atomic_numbers = torch.tensor(atomic_numbers, device=device)
+
+ # OPTIMIZATION 1: Compute form factors once per atom type on GPU
+ form_factors = {}
+ for at in unique_atom_types:
+ if kind == "kirkland":
+ if isinstance(at, str):
+ Z = getZfromElementName(at)
+ else:
+ Z = at
+ form_factors[at] = kirkland(qsq, Z)
+ elif kind == "gauss":
+ form_factors[at] = torch.exp(-1**2 * qsq / 2)
self.cache_dir = cache_dir
self.frame_idx = frame_idx
def calculateSlice(slice_idx):
+ if self._array is not None:
+ return self._array[:,:,slice_idx]
# check for caching
cache_file = None
if self.cache_dir is not None:
@@ -367,10 +377,11 @@ def calculateSlice(slice_idx):
return Z
self.calculateSlice = calculateSlice
- self._array = None
+ #self._array = None
def build(self,progress=False):
-
+ if self._array is not None:
+ return
# Initialize potential array using xp with conditional device
device_kwargs = {'device': self.device } if self.use_torch else {}
potential_real = xp.zeros((self.nx, self.ny, self.n_slices), dtype=float_dtype, **device_kwargs)
@@ -389,17 +400,15 @@ def localtqdm(iterator):
# Store tensor version for potential GPU operations
self._array = potential_real
+ def flatten(self):
+ self._array = mean(self._array,axis=2,keepdims=True)
+ self.nz = 1
+ self.zs=self.zs[:1]
+
@property
def array(self):
- return self.to_cpu()
-
- def to_cpu(self):
- """Convert tensors back to CPU NumPy arrays."""
- if self.use_torch:
- return self._array.cpu().numpy()
- else:
- return self._array
-
+ return to_cpu(self._array)
+
def to_device(self, device):
"""Move tensor data to specified device."""
if hasattr(self, 'array_torch'):
@@ -413,7 +422,7 @@ def plot(self,filename=None):
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
- array = np.sum(np.absolute(self.array),axis=2).T # imshow convention: y,x. our convention: x,y
+ array = np.sum(np.absolute(self.array),axis=2).T[::-1,:] # imshow convention: y,x. our convention: x,y, and flip y (0,0 upper-left)
# Convert to CPU if on GPU/MPS device
#if hasattr(array, 'cpu'):
# array = array.cpu()
diff --git a/src/pyslice/multislice/trajectory.py b/src/pyslice/multislice/trajectory.py
index f778eef..3039fb6 100644
--- a/src/pyslice/multislice/trajectory.py
+++ b/src/pyslice/multislice/trajectory.py
@@ -4,6 +4,7 @@
from dataclasses import dataclass
import numpy as np
from typing import List, Tuple, Optional
+from ase import Atoms
@dataclass
class Trajectory:
@@ -329,7 +330,7 @@ def generate_random_displacements(self,n_displacements,sigma,seed=None):
na=len(self.positions[0])
if seed is not None:
np.random.seed(seed)
- dxyz=np.random.random(size=(n_displacements,na,3))*sigma
+ dxyz=np.random.normal(0,sigma,size=(n_displacements,na,3))
positions = self.positions[0]+dxyz
return Trajectory(
@@ -503,3 +504,8 @@ def rotate_to(self, direction: Tuple[int, int, int]) -> 'Trajectory':
box_matrix=rotated_box_matrix,
timestep=self.timestep
)
+
+ # returns an ase object
+ def to_ase(self):
+ return Atoms(''.join(self.atom_types), positions=self.positions[0], cell=np.diag(self.box_matrix),pbc=True)
+
diff --git a/src/pyslice/postprocessing/haadf_data.py b/src/pyslice/postprocessing/haadf_data.py
index 671f544..74f9c78 100644
--- a/src/pyslice/postprocessing/haadf_data.py
+++ b/src/pyslice/postprocessing/haadf_data.py
@@ -6,8 +6,10 @@
from pathlib import Path
import logging
from .wf_data import WFData
-from ..data import Signal, Dimensions, Dimension, GeneralMetadata
-from ..backend import zeros
+from ..data.pyslice_serial import PySliceSerial, Signal, Dimensions, Dimension, Metadata
+#from ..data import Signal, Dimensions, Dimension, GeneralMetadata
+from pyslice.backend import zeros,to_cpu
+#from ..data.pyslice_serial import PySliceSerial
logger = logging.getLogger(__name__)
@@ -34,7 +36,7 @@
float_dtype = np.float64
-class HAADFData(Signal):
+class HAADFData(PySliceSerial, Signal):
"""
Data structure for HAADF (High Angle Annular Dark Field) imaging data.
@@ -49,6 +51,14 @@ class HAADFData(Signal):
cache_dir: Path to cache directory.
"""
+ _sea_config = {
+ 'tensor_attrs': ['_kxs', '_kys', '_xs', '_ys', '_array', 'data'],
+ 'path_attrs': ['cache_dir'],
+ 'tuple_list_attrs': ['probe_positions'],
+ 'exclude_attrs': ['probe', '_wf_array'],
+ 'force_datasets': ['_array', 'probe_positions', '_kxs', '_kys', '_xs', '_ys'],
+ }
+
def __init__(self, wf_data: WFData) -> None:
"""
Initialize HAADFData from WFData.
@@ -71,35 +81,28 @@ def __init__(self, wf_data: WFData) -> None:
self._xs = wf_data.probe_xs
self._ys = wf_data.probe_ys
- # Build placeholder dimensions (will be updated after calculateADF)
- dimensions = Dimensions([
- Dimension(name='x', space='position', units='Å', values=np.array([0])),
- Dimension(name='y', space='position', units='Å', values=np.array([0])),
- ], nav_dimensions=[0, 1], sig_dimensions=[])
-
- # Build metadata
- metadata_dict = {
- 'General': {
- 'title': 'HAADF Image',
- 'signal_type': 'HAADF'
- },
- 'Simulation': {
- 'voltage_eV': float(self.probe.eV),
- 'wavelength_A': float(self.probe.wavelength),
- 'aperture_mrad': float(self.probe.mrad),
- 'probe_positions': [list(p) for p in self.probe_positions],
+ if Dimensions is not None:
+ # Build placeholder dimensions (will be updated after calculateADF)
+ self.dimensions = Dimensions([
+ Dimension(name='x', space='position', units='Å', values=np.array([0])),
+ Dimension(name='y', space='position', units='Å', values=np.array([0])),
+ ], nav_dimensions=[0, 1], sig_dimensions=[])
+
+ # Build metadata
+ metadata_dict = {
+ 'General': {
+ 'title': 'HAADF Image',
+ 'signal_type': 'HAADF'
+ },
+ 'Simulation': {
+ 'voltage_eV': float(self.probe.eV),
+ 'wavelength_A': float(self.probe.wavelength),
+ 'aperture_mrad': float(self.probe.mrad),
+ 'probe_positions': [list(p) for p in self.probe_positions],
+ }
}
- }
- metadata = GeneralMetadata(metadata_dict)
-
- # Initialize Signal base class
- super().__init__(
- data=None, # We'll override the data property
- name='HAADFData',
- dimensions=dimensions,
- signal_type='Image',
- metadata=metadata
- )
+ self.metadata = Metadata(metadata_dict)
+ self.sea_type="Signal"
@property
def data(self):
@@ -126,7 +129,7 @@ def adf(self, value):
@property
def array(self):
"""Alias for adf (backward compatibility)."""
- return self._array
+ return to_cpu(self._array)
def __getattr__(self, name):
"""Auto-convert coordinate arrays from tensor to numpy on access."""
@@ -195,7 +198,7 @@ def calculateADF(self, inner_mrad: float = 45, outer_mrad: float = 150, preview:
plt.show()
collected = self._wf_array * mask[None,None,None,:,:,None] # c,x,y,t,kx,ky,l indices, mask is kx,ky
- self._array = xp.mean(xp.sum(xp.absolute(collected),axis=(4,5)),axis=(0,3,4)) # sum over kx,ky, mean over c,t,l
+ self._array = xp.mean(xp.sum(xp.absolute(collected)**2,axis=(4,5)),axis=(0,3,4)) # sum |ψ|² over kx,ky, mean over c,t,l
# Update dimensions with computed xs, ys
def to_numpy(x):
@@ -206,13 +209,14 @@ def to_numpy(x):
xs_np = to_numpy(self._xs)
ys_np = to_numpy(self._ys)
- self._local_dimensions = Dimensions([
- Dimension(name='x', space='position', units='Å', values=xs_np),
- Dimension(name='y', space='position', units='Å', values=ys_np),
- ], nav_dimensions=[0, 1], sig_dimensions=[])
+ if Dimensions is not None:
+ self._local_dimensions = Dimensions([
+ Dimension(name='x', space='position', units='Å', values=xs_np),
+ Dimension(name='y', space='position', units='Å', values=ys_np),
+ ], nav_dimensions=[0, 1], sig_dimensions=[])
- # Update metadata with detector settings
- if hasattr(self.metadata, 'Simulation'):
+ # Update metadata with detector settings
+ #if hasattr(self.signal.metadata, 'Simulation'):
self.metadata.Simulation.inner_mrad = inner_mrad
self.metadata.Simulation.outer_mrad = outer_mrad
@@ -231,16 +235,9 @@ def plot(self, filename=None):
raise RuntimeError("calculateADF() must be called before plotting")
fig, ax = plt.subplots()
- array = self._array.T # imshow convention: y,x. our convention: x,y
-
- if TORCH_AVAILABLE and hasattr(array, 'cpu'):
- array = array.cpu().numpy()
- if TORCH_AVAILABLE and hasattr(self._xs, 'cpu'):
- xs = self._xs.cpu().numpy()
- ys = self._ys.cpu().numpy()
- else:
- xs = np.asarray(self._xs)
- ys = np.asarray(self._ys)
+ array = self.array.T[::-1,:] # imshow convention: y,x. our convention: x,y, and flip y (0,0 upper-left)
+ xs = to_cpu(self._xs)
+ ys = to_cpu(self._ys)
extent = (np.amin(xs), np.amax(xs), np.amin(ys), np.amax(ys))
ax.imshow(array, cmap="inferno", extent=extent)
diff --git a/src/pyslice/postprocessing/tacaw_data.py b/src/pyslice/postprocessing/tacaw_data.py
index ba4e0df..c49c0d1 100644
--- a/src/pyslice/postprocessing/tacaw_data.py
+++ b/src/pyslice/postprocessing/tacaw_data.py
@@ -6,7 +6,9 @@
from pathlib import Path
import logging, os
from .wf_data import WFData
-from ..data import Signal, Dimensions, Dimension, GeneralMetadata
+from ..data.pyslice_serial import PySliceSerial, Signal, Dimensions, Dimension, Metadata
+#from ..data import Signal, Dimensions, Dimension, GeneralMetadata
+#from ..data.pyslice_serial import PySliceSerial
from pyslice.backend import to_cpu,fft,fftshift,mean
from tqdm import tqdm
@@ -35,7 +37,7 @@
float_dtype = np.float64
-class TACAWData(Signal):
+class TACAWData(PySliceSerial, Signal):
"""
Data structure for storing TACAW EELS results with format: probe_positions, frequency, kx, ky.
@@ -53,6 +55,14 @@ class TACAWData(Signal):
cache_dir: Path to cache directory.
"""
+ _sea_config = {
+ 'tensor_attrs': ['_kxs', '_kys', '_xs', '_ys', '_time', '_layer', '_frequencies', '_array', 'data'],
+ 'path_attrs': ['cache_dir'],
+ 'tuple_list_attrs': ['probe_positions'],
+ 'exclude_attrs': ['probe', '_wf_array'],
+ 'force_datasets': ['_array', 'probe_positions', '_kxs', '_kys', '_xs', '_ys', '_time', '_layer', '_frequencies'],
+ }
+
def __init__(self, wf_data: WFData, layer_index: int = None, keep_complex: bool = False, chunkFFT: bool = False) -> None:
"""
Initialize TACAWData from WFData by performing FFT.
@@ -77,7 +87,7 @@ def __init__(self, wf_data: WFData, layer_index: int = None, keep_complex: bool
# Store reference to source WFData array for FFT computation
self._wf_array = wf_data._array
- print("tacaw > wfdata",wf_data._array.shape)
+ #print("tacaw > wfdata",wf_data._array.shape)
# Initialize intensity as None, will be set by fft_from_wf_data
self._array = None
@@ -101,40 +111,34 @@ def to_numpy(x):
kxs_arr = to_numpy(self._kxs)
kys_arr = to_numpy(self._kys)
- dimensions = Dimensions([
- Dimension(name='probe', space='position',
- values=np.arange(len(self.probe_positions))),
- Dimension(name='frequency', space='spectral', units='THz',
- values=freq_arr),
- Dimension(name='kx', space='scattering', units='Å⁻¹',
- values=kxs_arr),
- Dimension(name='ky', space='scattering', units='Å⁻¹',
- values=kys_arr),
- ], nav_dimensions=[0, 1], sig_dimensions=[2, 3])
-
- # Build metadata
- metadata_dict = {
- 'General': {
- 'title': 'TACAW Intensity',
- 'signal_type': 'TACAW'
- },
- 'Simulation': {
- 'voltage_eV': float(self.probe.eV),
- 'wavelength_A': float(self.probe.wavelength),
- 'aperture_mrad': float(self.probe.mrad),
- 'probe_positions': [list(p) for p in self.probe_positions],
+ if Dimensions is not None:
+
+ self.dimensions = Dimensions([
+ Dimension(name='probe', space='position',
+ values=np.arange(len(self.probe_positions))),
+ Dimension(name='frequency', space='spectral', units='THz',
+ values=freq_arr),
+ Dimension(name='kx', space='scattering', units='Å⁻¹',
+ values=kxs_arr),
+ Dimension(name='ky', space='scattering', units='Å⁻¹',
+ values=kys_arr),
+ ], nav_dimensions=[0, 1], sig_dimensions=[2, 3])
+
+ # Build metadata
+ metadata_dict = {
+ 'General': {
+ 'title': 'TACAW Intensity',
+ 'signal_type': 'TACAW'
+ },
+ 'Simulation': {
+ 'voltage_eV': float(self.probe.eV),
+ 'wavelength_A': float(self.probe.wavelength),
+ 'aperture_mrad': float(self.probe.mrad),
+ 'probe_positions': [list(p) for p in self.probe_positions],
+ }
}
- }
- metadata = GeneralMetadata(metadata_dict)
-
- # Initialize Signal base class (this will set self.data = None)
- super().__init__(
- data=None,
- name='TACAWData',
- dimensions=dimensions,
- signal_type='2D-EELS',
- metadata=metadata
- )
+ self.metadata = Metadata(metadata_dict)
+ self.sea_type="Signal"
# Restore computed values AFTER super().__init__
self._array = computed_array
@@ -157,9 +161,7 @@ def data(self):
"""Lazy conversion to numpy for Signal compatibility."""
if self._array is None:
return None
- if hasattr(self._array, 'cpu'):
- return self._array.cpu().numpy()
- return np.asarray(self._array)
+ return to_cpu(self._array)
@data.setter
def data(self, value):
@@ -177,7 +179,7 @@ def intensity(self, value):
@property
def array(self):
"""Alias for intensity (backward compatibility with WFData interface)."""
- return self._array
+ return to_cpu(self._array)
def _fft_from_wf_data(self, layer_index: int = None):
"""
@@ -267,6 +269,8 @@ def _fft_from_wf_data(self, layer_index: int = None):
# else:
# self._array = np.abs(wf_fft)**2
+ # Ensure cache directory exists (may have been cleaned up by calculator)
+ self.cache_dir.mkdir(parents=True, exist_ok=True)
np.save(self.cache_dir / "tacaw_freq.npy", self._frequencies)
np.save(self.cache_dir / "tacaw.npy", self._array.detach().cpu().numpy() if TORCH_AVAILABLE and hasattr(self._array, 'cpu') else self._array)
@@ -285,6 +289,7 @@ def spectrum(self, probe_index: int = None) -> np.ndarray:
Returns:
Spectrum array (frequency intensity)
"""
+
if probe_index is None:
# Average over all probe positions
all_spectra = []
@@ -427,7 +432,7 @@ def spectral_diffraction(self, frequency: float, probe_index: int = None, space:
return spectral_diffraction
- def masked_spectrum(self, mask: np.ndarray, probe_index: int = None) -> np.ndarray:
+ def masked_spectrum(self, mask: np.ndarray|dict|None = None, probe_index: int = None, preview=False) -> np.ndarray:
"""
Extract spectrum with spatial masking in k-space.
@@ -441,38 +446,38 @@ def masked_spectrum(self, mask: np.ndarray, probe_index: int = None) -> np.ndarr
kxs = to_cpu(self.kxs)
kys = to_cpu(self.kys)
- if mask.shape != (len(kxs), len(kys)):
+ if mask is None:
+ mask = np.zeros((len(kxs),len(kys)))+1
+ elif isinstance(mask,dict):
+ cx,cy=mask.get("center",(0,0))
+ if mask["shape"] == "round":
+ r=mask["radius"]
+ radii = np.sqrt((kxs[:,None]-cx)**2+(kys[None,:]-cy)**2)
+ mask = np.zeros((len(kxs),len(kys)))
+ mask[radii<=r]=1
+
+ elif mask.shape != (len(kxs), len(kys)):
raise ValueError(f"Mask shape {mask.shape} doesn't match k-space shape ({len(kxs)}, {len(kys)})")
if probe_index is None:
- # Average over all probe positions
- all_masked_spectra = []
- for i in range(len(self.probe_positions)):
- probe_intensity = self._array[i] # Shape: (frequency, kx, ky)
- masked_intensity = probe_intensity * mask[None, :, :] # Broadcast mask to all frequencies
- masked_spectrum = xp.sum(masked_intensity, axis=(1, 2)) # Sum over masked k-space
- all_masked_spectra.append(masked_spectrum)
-
- # Average all masked spectra
- if TORCH_AVAILABLE and hasattr(all_masked_spectra[0], 'cpu'):
- all_masked_spectra = [ms.cpu().numpy() for ms in all_masked_spectra]
- masked_spectrum = np.mean(all_masked_spectra, axis=0)
- else:
- if probe_index >= len(self.probe_positions):
- raise ValueError(f"Probe index {probe_index} out of range")
-
- # Extract intensity data for this probe
- probe_intensity = self._array[probe_index] # Shape: (frequency, kx, ky)
-
- # Apply spatial mask in k-space
- masked_intensity = probe_intensity * mask[None, :, :] # Broadcast mask to all frequencies
- masked_spectrum = xp.sum(masked_intensity, axis=(1, 2)) # Sum over masked k-space
-
- # Convert to numpy if PyTorch tensor
- if TORCH_AVAILABLE and hasattr(masked_spectrum, 'cpu'):
- masked_spectrum = masked_spectrum.cpu().numpy()
-
- return masked_spectrum
+ probe_index = np.arange(len(self.probe_positions))
+ elif isinstance(probe_index,int):
+ probe_index=[probe_index]
+ spectra = []
+ for i in probe_index:
+ masked = self._array[i] * mask[None,:,:]
+ if preview:
+ import matplotlib.pyplot as plt
+ fig, ax = plt.subplots()
+ extent = ( np.amin(kxs) , np.amax(kxs) , np.amin(kys) , np.amax(kys) )
+ ax.imshow(to_cpu(xp.sum(masked,axis=0).T)[::-1,:], cmap="inferno",extent=extent,aspect=1)
+ ax.set_xlabel("kx")
+ ax.set_ylabel("ky")
+ ax.set_title("masked_spectrum - preview")
+ plt.show()
+ preview=False
+ spectra.append(to_cpu(xp.sum(masked,axis=(1,2))))
+ return np.mean(spectra,axis=0)
def dispersion(self, kx_path: np.ndarray, ky_path: np.ndarray, probe_index: int = None, space: str = "reciprocal") -> np.ndarray:
"""
@@ -579,7 +584,6 @@ def plot(self,intensities,xvals,yvals,xlabel="kx ($\\AA^{-1}$)",ylabel="ky ($\\A
else:
plt.show()
-
class SEDData(TACAWData):
"""
Data structure for SED (Spectral Energy Density) calculations.
diff --git a/src/pyslice/postprocessing/wf_data.py b/src/pyslice/postprocessing/wf_data.py
index 7d0dcaf..128fef1 100644
--- a/src/pyslice/postprocessing/wf_data.py
+++ b/src/pyslice/postprocessing/wf_data.py
@@ -4,7 +4,7 @@
import numpy as np
from typing import List, Tuple, Optional
from ..multislice.multislice import Probe,aberrationFunction
-from ..data import Signal, Dimensions, Dimension, GeneralMetadata
+from ..data.pyslice_serial import PySliceSerial, Signal, Dimensions, Dimension, Metadata
from pathlib import Path
from ..backend import mean,ones,zeros
@@ -31,7 +31,7 @@
float_dtype = np.float64
-class WFData(Signal):
+class WFData(PySliceSerial, Signal):
"""
Data structure for wave function data with format: probe_positions, frame, kx, ky, layer.
@@ -50,6 +50,14 @@ class WFData(Signal):
cache_dir: Path to cache directory.
"""
+ _sea_config = {
+ 'tensor_attrs': ['_kxs', '_kys', '_xs', '_ys', '_time', '_layer', '_array'],
+ 'path_attrs': ['cache_dir'],
+ 'tuple_list_attrs': ['probe_positions'],
+ 'exclude_attrs': ['probe'],
+ 'force_datasets': ['_array', 'probe_positions', '_kxs', '_kys', '_xs', '_ys', '_time', '_layer'],
+ }
+
def __init__(
self,
probe_positions: List[Tuple[float, float]],
@@ -90,46 +98,37 @@ def to_numpy(x):
kys_arr = to_numpy(kys)
layer_arr = to_numpy(layer) if layer is not None else np.array([0])
- dimensions = Dimensions([
- Dimension(name='probe', space='position',
- values=np.arange(len(probe_positions))),
- Dimension(name='time', space='temporal', units='ps',
- values=time_arr),
- Dimension(name='kx', space='scattering', units='Å⁻¹',
- values=kxs_arr),
- Dimension(name='ky', space='scattering', units='Å⁻¹',
- values=kys_arr),
- Dimension(name='layer', space='position',
- values=layer_arr),
- ], nav_dimensions=[0, 1], sig_dimensions=[2, 3, 4])
-
- # Build metadata from simulation parameters
- # Flatten probe_positions for HDF5 compatibility, store n_probes to reshape on load
- pp_array = np.array(probe_positions).flatten().tolist()
- metadata_dict = {
- 'General': {
- 'title': 'Multislice Wavefunction',
- 'signal_type': 'Wavefunction'
- },
- 'Simulation': {
- 'voltage_eV': float(probe.eV),
- 'wavelength_A': float(probe.wavelength),
- 'aperture_mrad': float(probe.mrad),
- 'probe_positions': pp_array,
- 'n_probes': len(probe_positions),
+ if Dimensions is not None:
+ dimensions = Dimensions([
+ Dimension(name='probe', space='position',
+ values=np.arange(len(probe_positions))),
+ Dimension(name='time', space='temporal', units='ps',
+ values=time_arr),
+ Dimension(name='kx', space='scattering', units='Å⁻¹',
+ values=kxs_arr),
+ Dimension(name='ky', space='scattering', units='Å⁻¹',
+ values=kys_arr),
+ Dimension(name='layer', space='position',
+ values=layer_arr),
+ ], nav_dimensions=[0, 1], sig_dimensions=[2, 3, 4])
+
+ # Build metadata from simulation parameters
+ # Flatten probe_positions for HDF5 compatibility, store n_probes to reshape on load
+ pp_array = np.array(probe_positions).flatten().tolist()
+ metadata_dict = {
+ 'General': {
+ 'title': 'Multislice Wavefunction',
+ 'signal_type': 'Wavefunction'
+ },
+ 'Simulation': {
+ 'voltage_eV': float(probe.eV),
+ 'wavelength_A': float(probe.wavelength),
+ 'aperture_mrad': float(probe.mrad),
+ 'probe_positions': pp_array,
+ 'n_probes': len(probe_positions),
+ }
}
- }
- metadata = GeneralMetadata(metadata_dict)
-
- # Initialize Signal base class (must be called before setting _array
- # because Signal.__init__ sets self.data which calls our setter)
- super().__init__(
- data=None,
- name='WFData',
- dimensions=dimensions,
- signal_type='Diffraction',
- metadata=metadata
- )
+ metadata = Metadata(metadata_dict)
# Store array AFTER super().__init__ to avoid being overwritten
self._array = array
@@ -176,54 +175,6 @@ def __getattr__(self, name):
return np.asarray(raw)
raise AttributeError(f"'{type(self).__name__}' has no attribute '{name}'")
- def to_hdf5_group(self, parent_group, force_datasets=['data'], name=None):
- """Override to convert tensors to numpy and exclude non-serializable attrs."""
- # Put numpy data directly in __dict__ for serialization
- # (to_dict pulls from __dict__, not properties)
- if hasattr(self._array, 'cpu'):
- self.__dict__['data'] = self._array.cpu().numpy()
- else:
- self.__dict__['data'] = np.asarray(self._array)
-
- # Temporarily remove non-serializable attributes (but keep _array for data property)
- orig_probe = self.probe
- orig_cache_dir = self.cache_dir
- orig_probe_positions = self.probe_positions
- orig_kxs = self._kxs
- orig_kys = self._kys
- orig_time = self._time
- orig_xs = self._xs
- orig_ys = self._ys
- orig_layer = self._layer
-
- del self.probe
- del self.cache_dir
- del self.probe_positions
- del self._kxs
- del self._kys
- del self._time
- del self._xs
- del self._ys
- del self._layer
- # Note: DON'T delete _array - the data property depends on it for hasattr check
-
- # Call parent implementation
- result = super().to_hdf5_group(parent_group, force_datasets=force_datasets, name=name)
-
- # Restore all original attributes and clean up
- del self.__dict__['data'] # Remove the temp data from __dict__
- self.probe = orig_probe
- self.cache_dir = orig_cache_dir
- self.probe_positions = orig_probe_positions
- self._kxs = orig_kxs
- self._kys = orig_kys
- self._time = orig_time
- self._xs = orig_xs
- self._ys = orig_ys
- self._layer = orig_layer
-
- return result
-
def plot_reciprocal(self,filename=None,whichProbe="mean",whichTimestep="mean",powerscaling=0.25,extent=None,nuke_zerobeam=False):
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
diff --git a/tests/01_potentials_arbitrary.py b/tests/01_potentials_arbitrary.py
new file mode 100644
index 0000000..ca087ab
--- /dev/null
+++ b/tests/01_potentials_arbitrary.py
@@ -0,0 +1,33 @@
+import sys,os,time
+try:
+ import pyslice
+except ModuleNotFoundError:
+ print("import failed, falling back to relative paths")
+ sys.path.insert(0, '../src')
+from pyslice.backend import zeros,fft,fftshift
+from pyslice import Probe,Propagate,Potential
+import matplotlib.pyplot as plt
+import numpy as np
+try:
+ import torch
+ xp = torch
+except:
+ xp = np
+
+xs=np.linspace(0,11,111)
+ys=np.linspace(0,10,101)
+
+array = zeros((len(xs),len(ys),1))+1+.2*np.sin(10*xs[:,None,None]+13*ys[None,:,None])
+array*=1000
+#plt.imshow(array[:,:,0])
+#plt.show()
+
+O = Potential(xs, ys, [0], array=array)
+P = probe=Probe(xs,ys,mrad=30,eV=100e3)
+E = Propagate(P,O)
+
+#E.plot()
+#plt.imshow(np.absolute(E[0,:,:]))
+#plt.show()
+plt.imshow(np.absolute(fftshift(xp.fft.fft2(E[0,:,:]))))
+plt.show()
diff --git a/tests/02_unpropagate.py b/tests/02_unpropagate.py
new file mode 100644
index 0000000..68b52e8
--- /dev/null
+++ b/tests/02_unpropagate.py
@@ -0,0 +1,78 @@
+import sys,os
+try:
+ import pyslice
+except ModuleNotFoundError:
+ sys.path.insert(0, '../src')
+
+from pyslice import Loader,Probe,Propagate,gridFromTrajectory,Potential,differ,to_cpu,calculateObject
+import matplotlib.pyplot as plt
+import numpy as np
+
+dump="inputs/hBN_truncated.lammpstrj"
+dt=.005
+types={1:"B",2:"N"}
+
+for flatten in [True,False]:
+
+ # LOAD MD OUTPUT
+ trajectory=Loader(dump,timestep=dt,atom_mapping=types).load()
+ xs,ys,zs,lx,ly,lz=gridFromTrajectory(trajectory,sampling=0.1,slice_thickness=0.5)
+
+ # GENERATE PROBE (ENSURE 00_PROBE.PY PASSES BEFORE RUNNING)
+ xpr=[lx/2,lx/2+5] ; ypr=[ly/2]*2 ; Os=[]
+ for x,y in zip(xpr,ypr):
+
+ probe=Probe(xs,ys,mrad=5,eV=100e3,probe_xs=[x],probe_ys=[y])
+ probe.defocus(200)
+ #probe.plot()
+
+ # GENERATE THE POTENTIAL (ENSURE 01_POTENTIAL.PY PASSES BEFORE RUNNING)
+ positions = trajectory.positions[0]
+ atom_types=trajectory.atom_types
+ potential = Potential(xs, ys, zs, positions, atom_types, kind="kirkland")
+ potential.plot()
+ potential.build()
+ if flatten:
+ potential.flatten() # TECHNICALLY calculateObject ONLY RETURNS THE TRULY CORRECT SOLUTION FOR A SINGLE SLICE
+ p_arry = np.absolute(np.sum(potential.array,axis=2))
+
+ #fig, ax = plt.subplots()
+ #ax.imshow(p_arry, cmap="inferno")
+ #plt.title("Original Potential")
+ #plt.show()
+
+ # PROPAGATION
+ # Handle device conversion properly for PyTorch tensors
+ result = Propagate(probe,potential,onthefly=True)
+ res = to_cpu(result[0,:,:])
+ #fig, ax = plt.subplots()
+ #ax.imshow(np.absolute(res), cmap="inferno")
+ #plt.title("|Exit Wave|")
+ #plt.show()
+ #fig, ax = plt.subplots()
+ #ax.imshow(np.angle(res), cmap="inferno")
+ #plt.title("Phi Exit Wave")
+ #plt.show()
+
+ # RECALCULATE OBJECT FROM THE RESULT
+ dO = calculateObject(probe,result[0,:,:],np.zeros((len(xs),len(ys))),weighting=1,dz=0.5)
+ Os.append(dO)
+ dO = to_cpu(dO)
+ fig, ax = plt.subplots()
+ ax.imshow(np.absolute(dO)**.1, cmap="inferno")
+ plt.title("Reconstructed Potential")
+ plt.show()
+
+ O = np.sum(Os,axis=0)
+ fig, ax = plt.subplots()
+ ax.imshow(np.absolute(O)**.1, cmap="inferno")
+ plt.title("summed reconstructed")
+ plt.show()
+
+
+ fig, ax = plt.subplots()
+ delta = np.absolute(dO-p_arry)
+ ax.imshow(delta**.1, cmap="inferno")
+ plt.title("|OP-RP|/|OP|="+str(np.amax(delta)/np.amax(p_arry)))
+ plt.show()
+
diff --git a/tests/03_manyprobes.py b/tests/03_manyprobes.py
index 5781371..670c594 100644
--- a/tests/03_manyprobes.py
+++ b/tests/03_manyprobes.py
@@ -21,8 +21,8 @@
# GENERATE PROBE (ENSURE 00_PROBE.PY PASSES BEFORE RUNNING)
#probe=Probe(xs,ys,mrad=30,eV=100e3)
-xsp = np.linspace(a,3*a,16)
-ysp = np.linspace(b,3*b,16)
+xsp = np.linspace(10*a-a,10*a-3*a,16)
+ysp = np.linspace(10*b-b,10*b-3*b,16)
#x,y=np.meshgrid(xs,ys)
#xy=np.reshape([x,y],(2,len(x.flat))).T
#print(xy)
diff --git a/tests/04_haadf.py b/tests/04_haadf.py
index d8a4f94..c098e51 100644
--- a/tests/04_haadf.py
+++ b/tests/04_haadf.py
@@ -29,9 +29,9 @@
# SET UP GRID OF HAADF SCAN POINTS
#xy=probe_grid([a,3*a],[b,3*b],14,16)
#calculator.setup(trajectory,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_positions=xy,cache_levels=[])
-probe_xs = np.linspace(a,3*a,14)
-probe_ys = np.linspace(b,3*b,16)
-calculator.setup(trajectory,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys,cache_levels=[])
+probe_xs = np.linspace(10*a-a,10*a-3*a,14)
+probe_ys = np.linspace(10*b-b,10*b-3*b,16)
+calculator.setup(trajectory,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys)#,cache_levels=[])
# RUN MULTISLICE
exitwaves = calculator.run()
@@ -60,5 +60,7 @@
#plt.show()
haadf.plot("outputs/figs/04_haadf.png")
+haadf.to_sea("04_haadf.sea")
+
ary=np.asarray(ary)
differ(ary[::4,::4],"outputs/haadf-test.npy","HAADF")
diff --git a/tests/04_haadf_aberrations.py b/tests/04_haadf_aberrations.py
index f09ca2f..b141b53 100644
--- a/tests/04_haadf_aberrations.py
+++ b/tests/04_haadf_aberrations.py
@@ -29,8 +29,8 @@
# SET UP GRID OF HAADF SCAN POINTS
#xy=probe_grid([a,3*a],[b,3*b],14,16)
#calculator.setup(trajectory,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_positions=xy,cache_levels=[])
-probe_xs = np.linspace(a,3*a,14)
-probe_ys = np.linspace(b,3*b,16)
+probe_xs = np.linspace(10*a-a,10*a-3*a,14)
+probe_ys = np.linspace(10*b-b,10*b-3*b,16)
calculator.setup(trajectory,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys,cache_levels=[])
calculator.base_probe.aberrate({"C30":1e3,"C12":1e2})
# RUN MULTISLICE
diff --git a/tests/05_tacaw.py b/tests/05_tacaw.py
index 659a0bf..aac3e1c 100644
--- a/tests/05_tacaw.py
+++ b/tests/05_tacaw.py
@@ -39,6 +39,7 @@
tacaw = TACAWData(exitwaves)
+#tacaw.to_sea("05_tacaw.sea")
# MANUAL PLOTTING
#print(tacaw.frequencies, tacaw.frequencies[65])
#intensity_data = tacaw.intensity[0,65,:,:]**.1
@@ -55,6 +56,8 @@
Z = tacaw.spectral_diffraction(30) ; print(Z.shape)
tacaw.plot(Z**.1,"kx","ky",filename="outputs/figs/05_tacaw_30THz.png")
+tacaw.to_sea("05_tacaw.sea")
+
#differ(Z[:,:]**.1,"outputs/tacaw-test.npy","TACAW SLICE")
# OR THE DISPERSION:
diff --git a/tests/16_sea_eco_integration.py b/tests/16_sea_eco_integration.py
index 3922e87..c7e5272 100644
--- a/tests/16_sea_eco_integration.py
+++ b/tests/16_sea_eco_integration.py
@@ -478,6 +478,143 @@ def test_haadf_is_signal():
return haadf
+def test_tacawdata_sea_roundtrip(tacaw):
+ """Test TACAWData .sea serialization round-trip using PySliceSerial mixin."""
+ print("\n--- Testing TACAWData .sea Round-trip (PySliceSerial) ---")
+
+ from pathlib import Path
+ from pyslice.postprocessing.tacaw_data import TACAWData
+ from pyslice.backend import to_cpu
+
+ # Store original values
+ original_array = to_cpu(tacaw._array)
+ original_freqs = to_cpu(tacaw.frequencies)
+ original_positions = list(tacaw.probe_positions)
+ original_cache_dir = tacaw.cache_dir
+
+ # Save using to_sea
+ output_path = 'outputs/test_tacaw_serial.sea'
+ tacaw.to_sea(output_path)
+ assert os.path.exists(output_path)
+ print(f" Saved TACAWData to: {output_path}")
+
+ # Load using classmethod
+ loaded = TACAWData.load(output_path)
+ assert isinstance(loaded, TACAWData)
+ print(" Loaded TACAWData using TACAWData.load()")
+
+ # Verify data integrity
+ assert np.allclose(loaded._array, original_array), "Array data mismatch"
+ print(" PASSED: Array data matches")
+
+ assert np.allclose(loaded.frequencies, original_freqs), "Frequencies mismatch"
+ print(" PASSED: Frequencies match")
+
+ assert loaded.probe_positions == original_positions, "Probe positions mismatch"
+ assert isinstance(loaded.probe_positions, list), "Probe positions should be list"
+ assert isinstance(loaded.probe_positions[0], tuple), "Probe positions elements should be tuples"
+ print(" PASSED: Probe positions match (list of tuples)")
+
+ assert isinstance(loaded.cache_dir, Path), "cache_dir should be Path"
+ assert str(loaded.cache_dir) == str(original_cache_dir), "cache_dir mismatch"
+ print(" PASSED: cache_dir is Path and matches")
+
+ # Verify kxs, kys are restored
+ assert loaded._kxs is not None, "_kxs should be restored"
+ assert loaded._kys is not None, "_kys should be restored"
+ print(" PASSED: Coordinate arrays restored")
+
+ # Verify excluded attrs are None
+ assert loaded.probe is None, "probe should be None after load"
+ assert loaded._wf_array is None, "_wf_array should be None after load"
+ print(" PASSED: Excluded attrs are None")
+
+ print(" PASSED: TACAWData .sea round-trip complete")
+ return loaded
+
+
+def test_wfdata_sea_roundtrip(wf_data):
+ """Test WFData .sea serialization round-trip using PySliceSerial mixin."""
+ print("\n--- Testing WFData .sea Round-trip (PySliceSerial) ---")
+
+ from pathlib import Path
+ from pyslice.postprocessing.wf_data import WFData
+ from pyslice.backend import to_cpu
+
+ # Store original values
+ original_array = to_cpu(wf_data._array)
+ original_positions = list(wf_data.probe_positions)
+ original_kxs = to_cpu(wf_data.kxs)
+
+ # Save using to_sea
+ output_path = 'outputs/test_wf_serial.sea'
+ wf_data.to_sea(output_path)
+ assert os.path.exists(output_path)
+ print(f" Saved WFData to: {output_path}")
+
+ # Load using classmethod
+ loaded = WFData.load(output_path)
+ assert isinstance(loaded, WFData)
+ print(" Loaded WFData using WFData.load()")
+
+ # Verify data integrity
+ assert np.allclose(loaded._array, original_array), "Array data mismatch"
+ print(" PASSED: Array data matches")
+
+ assert loaded.probe_positions == original_positions, "Probe positions mismatch"
+ assert isinstance(loaded.probe_positions, list), "Probe positions should be list"
+ print(" PASSED: Probe positions match")
+
+ assert np.allclose(loaded.kxs, original_kxs), "kxs mismatch"
+ print(" PASSED: Coordinate arrays match")
+
+ assert isinstance(loaded.cache_dir, Path), "cache_dir should be Path"
+ print(" PASSED: cache_dir is Path")
+
+ print(" PASSED: WFData .sea round-trip complete")
+ return loaded
+
+
+def test_haadfdata_sea_roundtrip(haadf):
+ """Test HAADFData .sea serialization round-trip using PySliceSerial mixin."""
+ print("\n--- Testing HAADFData .sea Round-trip (PySliceSerial) ---")
+
+ from pathlib import Path
+ from pyslice.postprocessing.haadf_data import HAADFData
+ from pyslice.backend import to_cpu
+
+ # Store original values
+ original_array = to_cpu(haadf._array)
+ original_positions = list(haadf.probe_positions)
+
+ # Save using to_sea
+ output_path = 'outputs/test_haadf_serial.sea'
+ haadf.to_sea(output_path)
+ assert os.path.exists(output_path)
+ print(f" Saved HAADFData to: {output_path}")
+
+ # Load using classmethod
+ loaded = HAADFData.load(output_path)
+ assert isinstance(loaded, HAADFData)
+ print(" Loaded HAADFData using HAADFData.load()")
+
+ # Verify data integrity
+ assert np.allclose(loaded._array, original_array), "Array data mismatch"
+ print(" PASSED: Array data matches")
+
+ # HAADFData stores probe_positions as array, compare as arrays
+ loaded_positions = np.array(loaded.probe_positions) if isinstance(loaded.probe_positions, list) else loaded.probe_positions
+ original_positions_arr = np.array(original_positions)
+ assert np.allclose(loaded_positions, original_positions_arr), "Probe positions mismatch"
+ print(" PASSED: Probe positions match")
+
+ assert isinstance(loaded.cache_dir, Path), "cache_dir should be Path"
+ print(" PASSED: cache_dir is Path")
+
+ print(" PASSED: HAADFData .sea round-trip complete")
+ return loaded
+
+
if __name__ == '__main__':
# Run all tests
print("=" * 60)
@@ -499,6 +636,13 @@ def test_haadf_is_signal():
tacaw = test_tacawdata_is_signal(wf_data)
haadf = test_haadf_is_signal()
+ print("\n" + "=" * 60)
+ print("PART 3: PySliceSerial Mixin Tests (.sea round-trips)")
+ print("=" * 60)
+ test_tacawdata_sea_roundtrip(tacaw)
+ test_wfdata_sea_roundtrip(wf_data)
+ test_haadfdata_sea_roundtrip(haadf)
+
print("\n" + "=" * 60)
print("All sea-eco integration tests PASSED!")
print("=" * 60)
diff --git a/tests/16b_sea_eco_reload.py b/tests/16b_sea_eco_reload.py
new file mode 100644
index 0000000..1ac10a1
--- /dev/null
+++ b/tests/16b_sea_eco_reload.py
@@ -0,0 +1,40 @@
+import os,sys,shutil
+import matplotlib.pyplot as plt
+
+# ensure we have pySEA downloaded
+if not os.path.exists("../../pySEA"):
+ print("downloading pySEA from private github repo")
+ u,k=open("/home/qwe/.gitp").readlines() # may need git username and git key for private repo
+ u=u.strip() ; k=k.strip()
+ os.system("git clone https://"+u+":"+k+"@github.com/sea-ecosystem/sea-eco")
+ shutil.move("sea-eco/src/pySEA","../../")
+ shutil.rmtree("sea-eco")
+
+# make sure the import works before we try anything else....
+sys.path.insert(1,"../../")
+from pySEA.sea_eco.io import load
+from pySEA.sea_eco.architecture.base_structure_numpy import SEAFile
+
+# run 05, which should conditionally save a .sea file if pySEA is found
+if not os.path.exists("04_haadf.sea"):
+ print("sea file does not exist, running 04_haadf")
+ os.system("python3 04_haadf.py")
+
+# run 05, which should conditionally save a .sea file if pySEA is found
+if not os.path.exists("05_tacaw.sea"):
+ print("sea file does not exist, running 05_tacaw")
+ os.system("python3 05_tacaw.py")
+
+# attempt to reload and plot it
+loaded = load(file_path='05_tacaw.sea')
+loaded.show_tree()
+
+loaded.show(dims=('frequency','kx'))
+plt.show()
+
+loaded.show(dims=('kx','ky'))
+plt.show()
+
+loaded = load(file_path='04_haadf.sea')
+loaded.show()
+plt.show()
diff --git a/tests/17_FPcifCBED.py b/tests/17_FPcifCBED.py
index e9eb34a..f289cb0 100644
--- a/tests/17_FPcifCBED.py
+++ b/tests/17_FPcifCBED.py
@@ -4,12 +4,12 @@
except ModuleNotFoundError:
sys.path.insert(0, '../src')
-from pyslice import Loader,gridFromTrajectory,Potential,MultisliceCalculator,HAADFData,differ
+from pyslice import Loader,gridFromTrajectory,Potential,MultisliceCalculator,HAADFData
import matplotlib.pyplot as plt
import numpy as np
-cif = "inputs/hBN.cif" ; a,b=2.4907733333333337,2.1570729817355123
+cif = "inputs/hBN_cif.cif" ; a,b=2.4907733333333337,2.1570729817355123
trajectory=Loader(cif).load()
trajectory = trajectory.tile_positions([5,5,1])
trajectory = trajectory.generate_random_displacements(n_displacements=20,sigma=.1,seed=0) # PRO TIP: use a random seed so you get repeatable "random" configurations and don't need to re-multislice on subsequent runs
@@ -38,4 +38,4 @@
array = exitwaves.array
-print("array shape",array.shape)
\ No newline at end of file
+print("array shape",array.shape)
diff --git a/tests/18_caching.py b/tests/18_caching.py
index 9d0a0a5..b79aa7c 100644
--- a/tests/18_caching.py
+++ b/tests/18_caching.py
@@ -4,7 +4,7 @@
except ModuleNotFoundError:
sys.path.insert(0, '../src')
-from pyslice import Loader,probe_grid,MultisliceCalculator,HAADFData,differ
+from pyslice import Loader,MultisliceCalculator,HAADFData,differ
import numpy as np
import matplotlib.pyplot as plt
@@ -51,8 +51,8 @@
print("3. one timestep, many probes, normal caching")
traj3=trajectory.get_random_timesteps(1,seed=3)
calculator=MultisliceCalculator()
- probe_xs = np.linspace(a,3*a,14)
- probe_ys = np.linspace(b,3*b,16)
+ probe_xs = np.linspace(10*a-a,10*a-3*a,14)
+ probe_ys = np.linspace(10*b-b,10*b-3*b,16)
calculator.setup(traj3,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys)
exitwaves = calculator.run()
differ(exitwaves.array[::5,:,::5,::5,:],"outputs/caching/03-test.npy","03") # p,t,x,y,l indices
@@ -71,8 +71,8 @@
print("5. many timesteps, many probes, normal caching")
traj5=trajectory.get_random_timesteps(5,seed=5)
calculator=MultisliceCalculator()
- probe_xs = np.linspace(a,3*a,9)
- probe_ys = np.linspace(b,3*b,10)
+ probe_xs = np.linspace(10*a-a,10*a-3*a,9)
+ probe_ys = np.linspace(10*b-b,10*b-3*b,10)
calculator.setup(traj5,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys)
exitwaves = calculator.run()
differ(exitwaves.array[:,:,::10,::10,:],"outputs/caching/05-test.npy","05") # p,t,x,y,l indices
@@ -82,8 +82,8 @@
print("5.5 many timesteps, many probes, normal caching, with decoherence added")
traj55=trajectory.get_random_timesteps(5,seed=5)
calculator=MultisliceCalculator()
- probe_xs = np.linspace(a,3*a,9)
- probe_ys = np.linspace(b,3*b,10)
+ probe_xs = np.linspace(10*a-a,10*a-3*a,9)
+ probe_ys = np.linspace(10*b-b,10*b-3*b,10)
calculator.setup(traj55,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys)
calculator.base_probe.addSpatialDecoherence(1000,7)
exitwaves = calculator.run()
@@ -95,8 +95,8 @@
print("6. many timesteps, many probes, no caching")
traj6=trajectory.get_random_timesteps(5,seed=6)
calculator=MultisliceCalculator()
- probe_xs = np.linspace(a,3*a,9)
- probe_ys = np.linspace(b,3*b,10)
+ probe_xs = np.linspace(10*a-a,10*a-3*a,9)
+ probe_ys = np.linspace(10*b-b,10*b-3*b,10)
calculator.setup(traj6,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys,cache_levels=[])
exitwaves = calculator.run()
differ(exitwaves.array[:,:,::10,::10,:],"outputs/caching/06-test.npy","06") # p,t,x,y,l indices
@@ -115,8 +115,8 @@
print("8. many timesteps, many probes, layerwise caching")
traj8=trajectory.get_random_timesteps(5,seed=8)
calculator=MultisliceCalculator()
- probe_xs = np.linspace(a,3*a,6)
- probe_ys = np.linspace(b,3*b,7)
+ probe_xs = np.linspace(10*a-a,10*a-3*a,6)
+ probe_ys = np.linspace(10*b-b,10*b-3*b,7)
calculator.setup(traj8,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys,cache_levels=["slices"])
exitwaves = calculator.run()
differ(exitwaves.array[:,::3,::20,::20,::5],"outputs/caching/08-test.npy","08") # p,t,x,y,l indices
@@ -135,8 +135,8 @@
print("10. one timestep, many probes, layerwise caching")
traj10=trajectory.get_random_timesteps(1,seed=10)
calculator=MultisliceCalculator()
- probe_xs = np.linspace(a,3*a,9)
- probe_ys = np.linspace(b,3*b,10)
+ probe_xs = np.linspace(10*a-a,10*a-3*a,9)
+ probe_ys = np.linspace(10*b-b,10*b-3*b,10)
calculator.setup(traj10,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys,cache_levels=["slices"])
exitwaves = calculator.run()
differ(exitwaves.array[:,:,::10,::10,::5],"outputs/caching/10-test.npy","10") # p,t,x,y,l indices
diff --git a/tests/20_probepositions.py b/tests/20_probepositions.py
new file mode 100644
index 0000000..c6ad4fd
--- /dev/null
+++ b/tests/20_probepositions.py
@@ -0,0 +1,61 @@
+import sys,os
+try:
+ import pyslice
+except ModuleNotFoundError:
+ sys.path.insert(0, '../src')
+
+from pyslice import Loader,MultisliceCalculator,HAADFData,differ,gridFromTrajectory,Potential
+
+import numpy as np
+import matplotlib.pyplot as plt
+import os,shutil
+
+#if os.path.exists("psi_data"):
+# shutil.rmtree("psi_data")
+
+dump="inputs/hBN_truncated.lammpstrj"
+dt=.005
+types={1:"B",2:"N"}
+a,b=2.4907733333333337,2.1570729817355123
+
+# LOAD TRAJECTORY
+trajectory=Loader(dump,timestep=dt,atom_mapping=types).load()
+# SELECT 10 "RANDOM" TIMESTEPS (use seed for reproducibility)
+trajectory=trajectory.get_random_timesteps(3,seed=5)
+# REPLACE A SINGLE ATOM WITH SILICON
+dxyz = trajectory.positions[0,:,:]-np.asarray([a,b*4/3,0])[None,:]
+distances = np.sqrt(np.sum((dxyz)**2,axis=1))
+i = np.argmin(distances) # which atom is closest to a,b?
+trajectory.atom_types[i] = 28
+# PREVIEW IT:
+xs,ys,zs,lx,ly,lz=gridFromTrajectory(trajectory,sampling=0.1,slice_thickness=0.5)
+potential = Potential(xs, ys, zs, trajectory.positions[0], trajectory.atom_types, kind="kirkland")
+potential.plot()
+# TRIM TO 10x10 UC
+trajectory=trajectory.slice_positions([0,10*a],[0,10*b])
+# CHECK AGAIN, POST-CROP
+xs,ys,zs,lx,ly,lz=gridFromTrajectory(trajectory,sampling=0.1,slice_thickness=0.5)
+potential = Potential(xs, ys, zs, trajectory.positions[0], trajectory.atom_types, kind="kirkland")
+potential.plot()
+# CREATE CALCULATOR OBJECT
+calculator=MultisliceCalculator()
+# SET UP GRID OF HAADF SCAN POINTS
+#xy=probe_grid([a,3*a],[b,3*b],14,16)
+#calculator.setup(trajectory,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_positions=xy,cache_levels=[])
+probe_xs = np.linspace(a/2,2.5*a,14)
+probe_ys = np.linspace(b/2,2.5*b,16)
+calculator.setup(trajectory,aperture=30,voltage_eV=100e3,sampling=.1,slice_thickness=.5,probe_xs=probe_xs,probe_ys=probe_ys,cache_levels=[])
+# RUN MULTISLICE
+exitwaves = calculator.run()
+
+haadf=HAADFData(exitwaves)
+ary=haadf.calculateADF(preview=False) # use preview=True to view the collection angles of the ADF detector in reciprocal space
+xs=haadf.xs ; ys=haadf.ys
+
+#fig, ax = plt.subplots()
+#ax.imshow(ary.T, cmap="inferno")
+#plt.show()
+haadf.plot()#"outputs/figs/04_haadf.png")
+
+#ary=np.asarray(ary)
+#differ(ary[::4,::4],"outputs/haadf-test.npy","HAADF")
diff --git a/tests/cpu.sberr b/tests/cpu.sberr
index 3c45608..ad601e6 100644
--- a/tests/cpu.sberr
+++ b/tests/cpu.sberr
@@ -6,4 +6,5 @@ cuda/11.4.0:
Please note, CUDA/11.4.0 is required if compiling for NVIDIA K80 GPUs.
Newer toolchain versions will not work for K80's.
--------------------------------------------------------------------------------DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.
+-------------------------------------------------------------------------------runAllTests.sh: line 5: 2727913 Killed python3 $s >> runAllTests-$1.log 2>> runAllTests-$1.log
+slurmstepd: error: Detected 1 oom_kill event in StepId=4581718.batch. Some of the step tasks have been OOM Killed.
diff --git a/tests/gpu.sberr b/tests/gpu.sberr
index 3c45608..dd3d051 100644
--- a/tests/gpu.sberr
+++ b/tests/gpu.sberr
@@ -6,4 +6,4 @@ cuda/11.4.0:
Please note, CUDA/11.4.0 is required if compiling for NVIDIA K80 GPUs.
Newer toolchain versions will not work for K80's.
--------------------------------------------------------------------------------DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.
+-------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/tests/numpy.sberr b/tests/numpy.sberr
index 3c45608..dd3d051 100644
--- a/tests/numpy.sberr
+++ b/tests/numpy.sberr
@@ -6,4 +6,4 @@ cuda/11.4.0:
Please note, CUDA/11.4.0 is required if compiling for NVIDIA K80 GPUs.
Newer toolchain versions will not work for K80's.
--------------------------------------------------------------------------------DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.
+-------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/tests/outputs/caching/01-test.npy b/tests/outputs/caching/01-test.npy
index ce47ef2..9490399 100644
Binary files a/tests/outputs/caching/01-test.npy and b/tests/outputs/caching/01-test.npy differ
diff --git a/tests/outputs/caching/02-test.npy b/tests/outputs/caching/02-test.npy
index 800602f..1886695 100644
Binary files a/tests/outputs/caching/02-test.npy and b/tests/outputs/caching/02-test.npy differ
diff --git a/tests/outputs/caching/03-test.npy b/tests/outputs/caching/03-test.npy
index 20d5ae9..2670fbe 100644
Binary files a/tests/outputs/caching/03-test.npy and b/tests/outputs/caching/03-test.npy differ
diff --git a/tests/outputs/caching/04-test.npy b/tests/outputs/caching/04-test.npy
index 6671bad..e073e83 100644
Binary files a/tests/outputs/caching/04-test.npy and b/tests/outputs/caching/04-test.npy differ
diff --git a/tests/outputs/caching/05-test.npy b/tests/outputs/caching/05-test.npy
index a587d58..7d63d00 100644
Binary files a/tests/outputs/caching/05-test.npy and b/tests/outputs/caching/05-test.npy differ
diff --git a/tests/outputs/caching/06-test.npy b/tests/outputs/caching/06-test.npy
index bef999a..ee51f5b 100644
Binary files a/tests/outputs/caching/06-test.npy and b/tests/outputs/caching/06-test.npy differ
diff --git a/tests/outputs/caching/07-test.npy b/tests/outputs/caching/07-test.npy
index 42cf408..c49aca6 100644
Binary files a/tests/outputs/caching/07-test.npy and b/tests/outputs/caching/07-test.npy differ
diff --git a/tests/outputs/caching/08-test.npy b/tests/outputs/caching/08-test.npy
index d589472..fa04230 100644
Binary files a/tests/outputs/caching/08-test.npy and b/tests/outputs/caching/08-test.npy differ
diff --git a/tests/outputs/caching/09-test.npy b/tests/outputs/caching/09-test.npy
index 34eec94..28a73dd 100644
Binary files a/tests/outputs/caching/09-test.npy and b/tests/outputs/caching/09-test.npy differ
diff --git a/tests/outputs/caching/10-test.npy b/tests/outputs/caching/10-test.npy
index aad9c97..7e9e096 100644
Binary files a/tests/outputs/caching/10-test.npy and b/tests/outputs/caching/10-test.npy differ
diff --git a/tests/outputs/defocus-test.npy b/tests/outputs/defocus-test.npy
index a1e141e..4315045 100644
Binary files a/tests/outputs/defocus-test.npy and b/tests/outputs/defocus-test.npy differ
diff --git a/tests/outputs/figs/00_probe.png b/tests/outputs/figs/00_probe.png
index 7f9eff0..b01f38b 100644
Binary files a/tests/outputs/figs/00_probe.png and b/tests/outputs/figs/00_probe.png differ
diff --git a/tests/outputs/figs/00_probe_0.png b/tests/outputs/figs/00_probe_0.png
index 5ce47dd..7d388c7 100644
Binary files a/tests/outputs/figs/00_probe_0.png and b/tests/outputs/figs/00_probe_0.png differ
diff --git a/tests/outputs/figs/00_probe_1.png b/tests/outputs/figs/00_probe_1.png
index df924ee..532cdd6 100644
Binary files a/tests/outputs/figs/00_probe_1.png and b/tests/outputs/figs/00_probe_1.png differ
diff --git a/tests/outputs/figs/00_probe_2.png b/tests/outputs/figs/00_probe_2.png
index bcf56ae..b19a613 100644
Binary files a/tests/outputs/figs/00_probe_2.png and b/tests/outputs/figs/00_probe_2.png differ
diff --git a/tests/outputs/figs/00_probe_3.png b/tests/outputs/figs/00_probe_3.png
index 8079b3a..dd476af 100644
Binary files a/tests/outputs/figs/00_probe_3.png and b/tests/outputs/figs/00_probe_3.png differ
diff --git a/tests/outputs/figs/00_probe_4.png b/tests/outputs/figs/00_probe_4.png
index bf82b94..71aeb6e 100644
Binary files a/tests/outputs/figs/00_probe_4.png and b/tests/outputs/figs/00_probe_4.png differ
diff --git a/tests/outputs/figs/01_potentials.png b/tests/outputs/figs/01_potentials.png
index 0d3da73..b349266 100644
Binary files a/tests/outputs/figs/01_potentials.png and b/tests/outputs/figs/01_potentials.png differ
diff --git a/tests/outputs/figs/02_propagate_otf=False.png b/tests/outputs/figs/02_propagate_otf=False.png
index 10d707a..4c3a0dd 100644
Binary files a/tests/outputs/figs/02_propagate_otf=False.png and b/tests/outputs/figs/02_propagate_otf=False.png differ
diff --git a/tests/outputs/figs/02_propagate_otf=True.png b/tests/outputs/figs/02_propagate_otf=True.png
index 10d707a..4c3a0dd 100644
Binary files a/tests/outputs/figs/02_propagate_otf=True.png and b/tests/outputs/figs/02_propagate_otf=True.png differ
diff --git a/tests/outputs/figs/03_manyprobes.png b/tests/outputs/figs/03_manyprobes.png
index ac09183..5898736 100644
Binary files a/tests/outputs/figs/03_manyprobes.png and b/tests/outputs/figs/03_manyprobes.png differ
diff --git a/tests/outputs/figs/04_haadf.png b/tests/outputs/figs/04_haadf.png
index 7ad5bf0..ce8595f 100644
Binary files a/tests/outputs/figs/04_haadf.png and b/tests/outputs/figs/04_haadf.png differ
diff --git a/tests/outputs/figs/04_haadf_aberrations.png b/tests/outputs/figs/04_haadf_aberrations.png
index 25eb8eb..a3df7b8 100644
Binary files a/tests/outputs/figs/04_haadf_aberrations.png and b/tests/outputs/figs/04_haadf_aberrations.png differ
diff --git a/tests/outputs/figs/04_haadf_cbed.png b/tests/outputs/figs/04_haadf_cbed.png
index 32229e2..c1aca5a 100644
Binary files a/tests/outputs/figs/04_haadf_cbed.png and b/tests/outputs/figs/04_haadf_cbed.png differ
diff --git a/tests/outputs/figs/05_tacaw_30THz.png b/tests/outputs/figs/05_tacaw_30THz.png
index 098d01a..2ca767c 100644
Binary files a/tests/outputs/figs/05_tacaw_30THz.png and b/tests/outputs/figs/05_tacaw_30THz.png differ
diff --git a/tests/outputs/figs/05_tacaw_diff.png b/tests/outputs/figs/05_tacaw_diff.png
index 642f888..657a6ef 100644
Binary files a/tests/outputs/figs/05_tacaw_diff.png and b/tests/outputs/figs/05_tacaw_diff.png differ
diff --git a/tests/outputs/figs/05_tacaw_disp.png b/tests/outputs/figs/05_tacaw_disp.png
index 59d8b4a..76b604f 100644
Binary files a/tests/outputs/figs/05_tacaw_disp.png and b/tests/outputs/figs/05_tacaw_disp.png differ
diff --git a/tests/outputs/figs/05_tacawcrop_30THz.png b/tests/outputs/figs/05_tacawcrop_30THz.png
index 43d1c9d..71a62c2 100644
Binary files a/tests/outputs/figs/05_tacawcrop_30THz.png and b/tests/outputs/figs/05_tacawcrop_30THz.png differ
diff --git a/tests/outputs/figs/05_tacawcrop_diff.png b/tests/outputs/figs/05_tacawcrop_diff.png
index c73925a..349eefb 100644
Binary files a/tests/outputs/figs/05_tacawcrop_diff.png and b/tests/outputs/figs/05_tacawcrop_diff.png differ
diff --git a/tests/outputs/figs/05_tacawcrop_disp.png b/tests/outputs/figs/05_tacawcrop_disp.png
index 59d8b4a..f0d8af0 100644
Binary files a/tests/outputs/figs/05_tacawcrop_disp.png and b/tests/outputs/figs/05_tacawcrop_disp.png differ
diff --git a/tests/outputs/figs/06_loaders_0.png b/tests/outputs/figs/06_loaders_0.png
index 132b352..7451d98 100644
Binary files a/tests/outputs/figs/06_loaders_0.png and b/tests/outputs/figs/06_loaders_0.png differ
diff --git a/tests/outputs/figs/06_loaders_1.png b/tests/outputs/figs/06_loaders_1.png
index eedf689..18d960a 100644
Binary files a/tests/outputs/figs/06_loaders_1.png and b/tests/outputs/figs/06_loaders_1.png differ
diff --git a/tests/outputs/figs/06_loaders_2.png b/tests/outputs/figs/06_loaders_2.png
index 0d3da73..b349266 100644
Binary files a/tests/outputs/figs/06_loaders_2.png and b/tests/outputs/figs/06_loaders_2.png differ
diff --git a/tests/outputs/figs/06_loaders_3.png b/tests/outputs/figs/06_loaders_3.png
index 88ca4cf..a412e66 100644
Binary files a/tests/outputs/figs/06_loaders_3.png and b/tests/outputs/figs/06_loaders_3.png differ
diff --git a/tests/outputs/figs/07_defocus_2D.png b/tests/outputs/figs/07_defocus_2D.png
index da1cc8f..c752ec8 100644
Binary files a/tests/outputs/figs/07_defocus_2D.png and b/tests/outputs/figs/07_defocus_2D.png differ
diff --git a/tests/outputs/figs/07_defocus_3D.png b/tests/outputs/figs/07_defocus_3D.png
index f32c54d..4b74012 100644
Binary files a/tests/outputs/figs/07_defocus_3D.png and b/tests/outputs/figs/07_defocus_3D.png differ
diff --git a/tests/outputs/figs/08_LACBED_iterative.png b/tests/outputs/figs/08_LACBED_iterative.png
index 75362b8..2fde38f 100644
Binary files a/tests/outputs/figs/08_LACBED_iterative.png and b/tests/outputs/figs/08_LACBED_iterative.png differ
diff --git a/tests/outputs/figs/08_LACBED_onthefly.png b/tests/outputs/figs/08_LACBED_onthefly.png
index 4873e22..70fab28 100644
Binary files a/tests/outputs/figs/08_LACBED_onthefly.png and b/tests/outputs/figs/08_LACBED_onthefly.png differ
diff --git a/tests/outputs/figs/10_midgley_30THz.png b/tests/outputs/figs/10_midgley_30THz.png
index 9e22cdf..99726a9 100644
Binary files a/tests/outputs/figs/10_midgley_30THz.png and b/tests/outputs/figs/10_midgley_30THz.png differ
diff --git a/tests/outputs/figs/10_midgley_diff.png b/tests/outputs/figs/10_midgley_diff.png
index b374bb9..e775265 100644
Binary files a/tests/outputs/figs/10_midgley_diff.png and b/tests/outputs/figs/10_midgley_diff.png differ
diff --git a/tests/outputs/figs/10_midgley_diff2.png b/tests/outputs/figs/10_midgley_diff2.png
index 56b6e59..825d154 100644
Binary files a/tests/outputs/figs/10_midgley_diff2.png and b/tests/outputs/figs/10_midgley_diff2.png differ
diff --git a/tests/outputs/figs/10_midgley_disp.png b/tests/outputs/figs/10_midgley_disp.png
index 3a9cc08..3312bdd 100644
Binary files a/tests/outputs/figs/10_midgley_disp.png and b/tests/outputs/figs/10_midgley_disp.png differ
diff --git a/tests/outputs/figs/11_SED_30THz.png b/tests/outputs/figs/11_SED_30THz.png
index 1245159..f2c9c73 100644
Binary files a/tests/outputs/figs/11_SED_30THz.png and b/tests/outputs/figs/11_SED_30THz.png differ
diff --git a/tests/outputs/figs/12_aberrations_espread.png b/tests/outputs/figs/12_aberrations_espread.png
index 3dcc7f9..166ea3d 100644
Binary files a/tests/outputs/figs/12_aberrations_espread.png and b/tests/outputs/figs/12_aberrations_espread.png differ
diff --git a/tests/outputs/figs/12_aberrations_tableau.png b/tests/outputs/figs/12_aberrations_tableau.png
index a6b4735..ca63f48 100644
Binary files a/tests/outputs/figs/12_aberrations_tableau.png and b/tests/outputs/figs/12_aberrations_tableau.png differ
diff --git a/tests/outputs/figs/17_cbed.png b/tests/outputs/figs/17_cbed.png
index 5bf350f..32a9e59 100644
Binary files a/tests/outputs/figs/17_cbed.png and b/tests/outputs/figs/17_cbed.png differ
diff --git a/tests/outputs/figs/17_haadf.png b/tests/outputs/figs/17_haadf.png
index bc9c713..05936a0 100644
Binary files a/tests/outputs/figs/17_haadf.png and b/tests/outputs/figs/17_haadf.png differ
diff --git a/tests/outputs/figs/17_potential.png b/tests/outputs/figs/17_potential.png
index f4f1527..0cb81f2 100644
Binary files a/tests/outputs/figs/17_potential.png and b/tests/outputs/figs/17_potential.png differ
diff --git a/tests/outputs/figs/19_coherence_dZ1.png b/tests/outputs/figs/19_coherence_dZ1.png
new file mode 100644
index 0000000..001ea15
Binary files /dev/null and b/tests/outputs/figs/19_coherence_dZ1.png differ
diff --git a/tests/outputs/figs/19_coherence_dZ2.png b/tests/outputs/figs/19_coherence_dZ2.png
new file mode 100644
index 0000000..48c2a34
Binary files /dev/null and b/tests/outputs/figs/19_coherence_dZ2.png differ
diff --git a/tests/outputs/figs/19_coherence_eV1.png b/tests/outputs/figs/19_coherence_eV1.png
new file mode 100644
index 0000000..d6727bb
Binary files /dev/null and b/tests/outputs/figs/19_coherence_eV1.png differ
diff --git a/tests/outputs/figs/19_coherence_eV2.png b/tests/outputs/figs/19_coherence_eV2.png
new file mode 100644
index 0000000..1ee0bee
Binary files /dev/null and b/tests/outputs/figs/19_coherence_eV2.png differ
diff --git a/tests/outputs/figs/19_coherence_eVdZ.png b/tests/outputs/figs/19_coherence_eVdZ.png
new file mode 100644
index 0000000..bc18873
Binary files /dev/null and b/tests/outputs/figs/19_coherence_eVdZ.png differ
diff --git a/tests/outputs/figs/19_coherence_vanilla.png b/tests/outputs/figs/19_coherence_vanilla.png
new file mode 100644
index 0000000..9561384
Binary files /dev/null and b/tests/outputs/figs/19_coherence_vanilla.png differ
diff --git a/tests/outputs/haadf-test.npy b/tests/outputs/haadf-test.npy
index 799df5b..f9fa99e 100644
Binary files a/tests/outputs/haadf-test.npy and b/tests/outputs/haadf-test.npy differ
diff --git a/tests/outputs/haadfaberrations-test.npy b/tests/outputs/haadfaberrations-test.npy
index 9ef1c16..9a4a79d 100644
Binary files a/tests/outputs/haadfaberrations-test.npy and b/tests/outputs/haadfaberrations-test.npy differ
diff --git a/tests/outputs/lacbed-test.npy b/tests/outputs/lacbed-test.npy
index 9cb51b9..f54aa5f 100644
Binary files a/tests/outputs/lacbed-test.npy and b/tests/outputs/lacbed-test.npy differ
diff --git a/tests/outputs/manyprobes-test.npy b/tests/outputs/manyprobes-test.npy
index 74c4114..b7296a5 100644
Binary files a/tests/outputs/manyprobes-test.npy and b/tests/outputs/manyprobes-test.npy differ
diff --git a/tests/outputs/potentials-test.npy b/tests/outputs/potentials-test.npy
index f22f932..7aac50e 100644
Binary files a/tests/outputs/potentials-test.npy and b/tests/outputs/potentials-test.npy differ
diff --git a/tests/outputs/probe-test.npy b/tests/outputs/probe-test.npy
index 522d35d..3e66e1d 100644
Binary files a/tests/outputs/probe-test.npy and b/tests/outputs/probe-test.npy differ
diff --git a/tests/outputs/propagate-test.npy b/tests/outputs/propagate-test.npy
index 91d2965..8836b9d 100644
Binary files a/tests/outputs/propagate-test.npy and b/tests/outputs/propagate-test.npy differ
diff --git a/tests/outputs/tacaw-test.npy b/tests/outputs/tacaw-test.npy
index 2e37a1f..b660d0b 100644
Binary files a/tests/outputs/tacaw-test.npy and b/tests/outputs/tacaw-test.npy differ
diff --git a/tests/outputs/tacawcrop-test.npy b/tests/outputs/tacawcrop-test.npy
index 2d72f9b..56780d5 100644
Binary files a/tests/outputs/tacawcrop-test.npy and b/tests/outputs/tacawcrop-test.npy differ
diff --git a/tests/outputs/test_complex_signal.sea b/tests/outputs/test_complex_signal.sea
new file mode 100644
index 0000000..5959c8d
Binary files /dev/null and b/tests/outputs/test_complex_signal.sea differ
diff --git a/tests/outputs/test_sea_eco.sea b/tests/outputs/test_sea_eco.sea
new file mode 100644
index 0000000..ecdb220
Binary files /dev/null and b/tests/outputs/test_sea_eco.sea differ
diff --git a/tests/outputs/test_signal_set.sea b/tests/outputs/test_signal_set.sea
new file mode 100644
index 0000000..ec3e5c7
Binary files /dev/null and b/tests/outputs/test_signal_set.sea differ
diff --git a/tests/runAllTests-numpy.log b/tests/runAllTests-numpy.log
index 66c7ec1..b2ce330 100644
--- a/tests/runAllTests-numpy.log
+++ b/tests/runAllTests-numpy.log
@@ -1,16 +1,18 @@
-Sat Jan 10 17:08:00 EST 2026
+Wed Feb 4 12:50:08 EST 2026
python3 00_probe.py
import failed, falling back to relative paths
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
-probe import took 2.1932120323181152 s
-differ import took 0.0002701282501220703 s
+probe import took 1.6938552856445312 s
+differ import took 0.00021028518676757812 s
python3 01_potentials.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
@@ -18,18 +20,21 @@ PyTorch not available, falling back to NumPy
python3 02_propagate_otf=False.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
python3 02_propagate_otf=True.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
python3 03_manyprobes.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
@@ -37,61 +42,65 @@ PyTorch not available, falling back to NumPy
python3 04_haadf.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
-
Processing frames: 0%| | 0/3 [00:00, ?frame/s]
Processing frames: 33%|███▎ | 1/3 [00:27<00:55, 27.88s/frame]
Processing frames: 67%|██████▋ | 2/3 [00:55<00:27, 27.78s/frame]
Processing frames: 100%|██████████| 3/3 [01:23<00:00, 27.84s/frame]
Processing frames: 100%|██████████| 3/3 [01:23<00:00, 27.84s/frame]
+
Processing frames: 0%| | 0/3 [00:00, ?frame/s]
Processing frames: 33%|███▎ | 1/3 [00:25<00:50, 25.18s/frame]
Processing frames: 67%|██████▋ | 2/3 [00:50<00:25, 25.18s/frame]
Processing frames: 100%|██████████| 3/3 [01:15<00:00, 25.21s/frame]
Processing frames: 100%|██████████| 3/3 [01:15<00:00, 25.20s/frame]
+ERROR: pySEA import failed, this functionality is not available
python3 05_tacaw.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:12<20:36, 12.49s/frame]
Processing frames: 2%|▏ | 2/100 [00:24<20:17, 12.42s/frame]
Processing frames: 3%|▎ | 3/100 [00:37<20:03, 12.41s/frame]
Processing frames: 4%|▍ | 4/100 [00:49<19:44, 12.34s/frame]
Processing frames: 5%|▌ | 5/100 [01:01<19:30, 12.32s/frame]
Processing frames: 6%|▌ | 6/100 [01:14<19:17, 12.31s/frame]
Processing frames: 7%|▋ | 7/100 [01:26<19:04, 12.30s/frame]
Processing frames: 8%|▊ | 8/100 [01:38<18:51, 12.30s/frame]
Processing frames: 9%|▉ | 9/100 [01:50<18:40, 12.31s/frame]
Processing frames: 10%|█ | 10/100 [02:03<18:24, 12.27s/frame]
Processing frames: 11%|█ | 11/100 [02:15<18:11, 12.26s/frame]
Processing frames: 12%|█▏ | 12/100 [02:27<17:58, 12.25s/frame]
Processing frames: 13%|█▎ | 13/100 [02:39<17:45, 12.25s/frame]
Processing frames: 14%|█▍ | 14/100 [02:52<17:31, 12.22s/frame]
Processing frames: 15%|█▌ | 15/100 [03:04<17:19, 12.23s/frame]
Processing frames: 16%|█▌ | 16/100 [03:16<17:06, 12.22s/frame]
Processing frames: 17%|█▋ | 17/100 [03:28<16:53, 12.21s/frame]
Processing frames: 18%|█▊ | 18/100 [03:40<16:42, 12.22s/frame]
Processing frames: 19%|█▉ | 19/100 [03:53<16:30, 12.23s/frame]
Processing frames: 20%|██ | 20/100 [04:05<16:17, 12.22s/frame]
Processing frames: 21%|██ | 21/100 [04:17<16:05, 12.23s/frame]
Processing frames: 22%|██▏ | 22/100 [04:29<15:52, 12.21s/frame]
Processing frames: 23%|██▎ | 23/100 [04:42<15:41, 12.23s/frame]
Processing frames: 24%|██▍ | 24/100 [04:54<15:29, 12.23s/frame]
Processing frames: 25%|██▌ | 25/100 [05:06<15:16, 12.22s/frame]
Processing frames: 26%|██▌ | 26/100 [05:18<15:02, 12.19s/frame]
Processing frames: 27%|██▋ | 27/100 [05:30<14:49, 12.19s/frame]
Processing frames: 28%|██▊ | 28/100 [05:43<14:38, 12.20s/frame]
Processing frames: 29%|██▉ | 29/100 [05:55<14:24, 12.17s/frame]
Processing frames: 30%|███ | 30/100 [06:07<14:16, 12.24s/frame]
Processing frames: 31%|███ | 31/100 [06:19<14:06, 12.27s/frame]
Processing frames: 32%|███▏ | 32/100 [06:31<13:50, 12.22s/frame]
Processing frames: 33%|███▎ | 33/100 [06:44<13:35, 12.17s/frame]
Processing frames: 34%|███▍ | 34/100 [06:56<13:20, 12.12s/frame]
Processing frames: 35%|███▌ | 35/100 [07:08<13:06, 12.09s/frame]
Processing frames: 36%|███▌ | 36/100 [07:20<12:52, 12.07s/frame]
Processing frames: 37%|███▋ | 37/100 [07:32<12:38, 12.04s/frame]
Processing frames: 38%|███▊ | 38/100 [07:44<12:26, 12.03s/frame]
Processing frames: 39%|███▉ | 39/100 [07:56<12:13, 12.03s/frame]
Processing frames: 40%|████ | 40/100 [08:08<12:01, 12.03s/frame]
Processing frames: 41%|████ | 41/100 [08:20<11:49, 12.03s/frame]
Processing frames: 42%|████▏ | 42/100 [08:32<11:37, 12.03s/frame]
Processing frames: 43%|████▎ | 43/100 [08:44<11:25, 12.03s/frame]
Processing frames: 44%|████▍ | 44/100 [08:56<11:13, 12.02s/frame]
Processing frames: 45%|████▌ | 45/100 [09:08<11:01, 12.03s/frame]
Processing frames: 46%|████▌ | 46/100 [09:20<10:50, 12.04s/frame]
Processing frames: 47%|████▋ | 47/100 [09:32<10:38, 12.05s/frame]
Processing frames: 48%|████▊ | 48/100 [09:44<10:26, 12.05s/frame]
Processing frames: 49%|████▉ | 49/100 [09:56<10:14, 12.06s/frame]
Processing frames: 50%|█████ | 50/100 [10:08<10:02, 12.05s/frame]
Processing frames: 51%|█████ | 51/100 [10:20<09:51, 12.07s/frame]
Processing frames: 52%|█████▏ | 52/100 [10:32<09:41, 12.11s/frame]
Processing frames: 53%|█████▎ | 53/100 [10:45<09:31, 12.17s/frame]
Processing frames: 54%|█████▍ | 54/100 [10:57<09:20, 12.19s/frame]
Processing frames: 55%|█████▌ | 55/100 [11:09<09:10, 12.22s/frame]
Processing frames: 56%|█████▌ | 56/100 [11:21<08:57, 12.22s/frame]
Processing frames: 57%|█████▋ | 57/100 [11:34<08:48, 12.29s/frame]
Processing frames: 58%|█████▊ | 58/100 [11:46<08:38, 12.34s/frame]
Processing frames: 59%|█████▉ | 59/100 [11:59<08:27, 12.38s/frame]
Processing frames: 60%|██████ | 60/100 [12:11<08:16, 12.42s/frame]
Processing frames: 61%|██████ | 61/100 [12:24<08:03, 12.39s/frame]
Processing frames: 62%|██████▏ | 62/100 [12:36<07:51, 12.40s/frame]
Processing frames: 63%|██████▎ | 63/100 [12:48<07:38, 12.39s/frame]
Processing frames: 64%|██████▍ | 64/100 [13:01<07:25, 12.37s/frame]
Processing frames: 65%|██████▌ | 65/100 [13:13<07:12, 12.37s/frame]
Processing frames: 66%|██████▌ | 66/100 [13:26<07:00, 12.38s/frame]
Processing frames: 67%|██████▋ | 67/100 [13:38<06:49, 12.40s/frame]
Processing frames: 68%|██████▊ | 68/100 [13:50<06:36, 12.40s/frame]
Processing frames: 69%|██████▉ | 69/100 [14:03<06:23, 12.37s/frame]
Processing frames: 70%|███████ | 70/100 [14:15<06:10, 12.35s/frame]
Processing frames: 71%|███████ | 71/100 [14:27<05:58, 12.37s/frame]
Processing frames: 72%|███████▏ | 72/100 [14:40<05:46, 12.36s/frame]
Processing frames: 73%|███████▎ | 73/100 [14:52<05:33, 12.36s/frame]
Processing frames: 74%|███████▍ | 74/100 [15:04<05:21, 12.37s/frame]
Processing frames: 75%|███████▌ | 75/100 [15:17<05:09, 12.36s/frame]
Processing frames: 76%|███████▌ | 76/100 [15:29<04:57, 12.39s/frame]
Processing frames: 77%|███████▋ | 77/100 [15:41<04:43, 12.31s/frame]
Processing frames: 78%|███████▊ | 78/100 [15:54<04:29, 12.25s/frame]
Processing frames: 79%|███████▉ | 79/100 [16:05<04:15, 12.16s/frame]
Processing frames: 80%|████████ | 80/100 [16:17<04:02, 12.11s/frame]
Processing frames: 81%|████████ | 81/100 [16:30<03:49, 12.09s/frame]
Processing frames: 82%|████████▏ | 82/100 [16:42<03:37, 12.09s/frame]
Processing frames: 83%|████████▎ | 83/100 [16:54<03:25, 12.08s/frame]
Processing frames: 84%|████████▍ | 84/100 [17:06<03:13, 12.07s/frame]
Processing frames: 85%|████████▌ | 85/100 [17:18<03:00, 12.05s/frame]
Processing frames: 86%|████████▌ | 86/100 [17:30<02:48, 12.05s/frame]
Processing frames: 87%|████████▋ | 87/100 [17:42<02:36, 12.03s/frame]
Processing frames: 88%|████████▊ | 88/100 [17:54<02:24, 12.03s/frame]
Processing frames: 89%|████████▉ | 89/100 [18:06<02:12, 12.03s/frame]
Processing frames: 90%|█████████ | 90/100 [18:18<02:00, 12.04s/frame]
Processing frames: 91%|█████████ | 91/100 [18:30<01:48, 12.03s/frame]
Processing frames: 92%|█████████▏| 92/100 [18:42<01:36, 12.04s/frame]
Processing frames: 93%|█████████▎| 93/100 [18:54<01:24, 12.05s/frame]
Processing frames: 94%|█████████▍| 94/100 [19:06<01:12, 12.07s/frame]
Processing frames: 95%|█████████▌| 95/100 [19:18<01:00, 12.06s/frame]
Processing frames: 96%|█████████▌| 96/100 [19:30<00:48, 12.05s/frame]
Processing frames: 97%|█████████▋| 97/100 [19:42<00:36, 12.06s/frame]
Processing frames: 98%|█████████▊| 98/100 [19:54<00:24, 12.07s/frame]
Processing frames: 99%|█████████▉| 99/100 [20:06<00:12, 12.08s/frame]
Processing frames: 100%|██████████| 100/100 [20:19<00:00, 12.08s/frame]
Processing frames: 100%|██████████| 100/100 [20:19<00:00, 12.19s/frame]
-tacaw > wfdata (1, 100, 1495, 1295, 1)
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:13<21:51, 13.25s/frame]
Processing frames: 2%|▏ | 2/100 [00:26<21:30, 13.17s/frame]
Processing frames: 3%|▎ | 3/100 [00:39<21:10, 13.10s/frame]
Processing frames: 4%|▍ | 4/100 [00:52<20:56, 13.09s/frame]
Processing frames: 5%|▌ | 5/100 [01:05<20:47, 13.13s/frame]
Processing frames: 6%|▌ | 6/100 [01:18<20:35, 13.14s/frame]
Processing frames: 7%|▋ | 7/100 [01:31<20:21, 13.13s/frame]
Processing frames: 8%|▊ | 8/100 [01:45<20:09, 13.15s/frame]
Processing frames: 9%|▉ | 9/100 [01:58<19:55, 13.14s/frame]
Processing frames: 10%|█ | 10/100 [02:11<19:40, 13.12s/frame]
Processing frames: 11%|█ | 11/100 [02:24<19:27, 13.11s/frame]
Processing frames: 12%|█▏ | 12/100 [02:37<19:12, 13.10s/frame]
Processing frames: 13%|█▎ | 13/100 [02:50<18:59, 13.10s/frame]
Processing frames: 14%|█▍ | 14/100 [03:03<18:39, 13.02s/frame]
Processing frames: 15%|█▌ | 15/100 [03:16<18:20, 12.95s/frame]
Processing frames: 16%|█▌ | 16/100 [03:30<18:31, 13.23s/frame]
Processing frames: 17%|█▋ | 17/100 [03:42<18:09, 13.13s/frame]
Processing frames: 18%|█▊ | 18/100 [03:55<17:52, 13.07s/frame]
Processing frames: 19%|█▉ | 19/100 [04:08<17:37, 13.06s/frame]
Processing frames: 20%|██ | 20/100 [04:21<17:24, 13.05s/frame]
Processing frames: 21%|██ | 21/100 [04:34<17:09, 13.03s/frame]
Processing frames: 22%|██▏ | 22/100 [04:48<16:56, 13.03s/frame]
Processing frames: 23%|██▎ | 23/100 [05:01<16:44, 13.04s/frame]
Processing frames: 24%|██▍ | 24/100 [05:14<16:30, 13.03s/frame]
Processing frames: 25%|██▌ | 25/100 [05:27<16:17, 13.04s/frame]
Processing frames: 26%|██▌ | 26/100 [05:40<16:05, 13.05s/frame]
Processing frames: 27%|██▋ | 27/100 [05:53<15:54, 13.07s/frame]
Processing frames: 28%|██▊ | 28/100 [06:06<15:42, 13.09s/frame]
Processing frames: 29%|██▉ | 29/100 [06:19<15:30, 13.11s/frame]
Processing frames: 30%|███ | 30/100 [06:32<15:17, 13.10s/frame]
Processing frames: 31%|███ | 31/100 [06:45<15:03, 13.10s/frame]
Processing frames: 32%|███▏ | 32/100 [06:58<14:45, 13.02s/frame]
Processing frames: 33%|███▎ | 33/100 [07:11<14:28, 12.96s/frame]
Processing frames: 34%|███▍ | 34/100 [07:24<14:11, 12.91s/frame]
Processing frames: 35%|███▌ | 35/100 [07:37<13:56, 12.87s/frame]
Processing frames: 36%|███▌ | 36/100 [07:49<13:43, 12.87s/frame]
Processing frames: 37%|███▋ | 37/100 [08:02<13:30, 12.86s/frame]
Processing frames: 38%|███▊ | 38/100 [08:15<13:18, 12.88s/frame]
Processing frames: 39%|███▉ | 39/100 [08:28<13:06, 12.90s/frame]
Processing frames: 40%|████ | 40/100 [08:41<12:55, 12.93s/frame]
Processing frames: 41%|████ | 41/100 [08:54<12:44, 12.96s/frame]
Processing frames: 42%|████▏ | 42/100 [09:07<12:32, 12.98s/frame]
Processing frames: 43%|████▎ | 43/100 [09:20<12:20, 12.99s/frame]
Processing frames: 44%|████▍ | 44/100 [09:33<12:08, 13.00s/frame]
Processing frames: 45%|████▌ | 45/100 [09:46<11:55, 13.01s/frame]
Processing frames: 46%|████▌ | 46/100 [09:59<11:42, 13.01s/frame]
Processing frames: 47%|████▋ | 47/100 [10:12<11:29, 13.01s/frame]
Processing frames: 48%|████▊ | 48/100 [10:25<11:17, 13.03s/frame]
Processing frames: 49%|████▉ | 49/100 [10:38<11:06, 13.07s/frame]
Processing frames: 50%|█████ | 50/100 [10:51<10:51, 13.04s/frame]
Processing frames: 51%|█████ | 51/100 [11:04<10:36, 12.98s/frame]
Processing frames: 52%|█████▏ | 52/100 [11:17<10:20, 12.93s/frame]
Processing frames: 53%|█████▎ | 53/100 [11:30<10:06, 12.90s/frame]
Processing frames: 54%|█████▍ | 54/100 [11:43<09:51, 12.87s/frame]
Processing frames: 55%|█████▌ | 55/100 [11:56<09:38, 12.85s/frame]
Processing frames: 56%|█████▌ | 56/100 [12:08<09:25, 12.85s/frame]
Processing frames: 57%|█████▋ | 57/100 [12:21<09:11, 12.83s/frame]
Processing frames: 58%|█████▊ | 58/100 [12:34<08:59, 12.84s/frame]
Processing frames: 59%|█████▉ | 59/100 [12:47<08:48, 12.90s/frame]
Processing frames: 60%|██████ | 60/100 [13:00<08:37, 12.93s/frame]
Processing frames: 61%|██████ | 61/100 [13:13<08:25, 12.95s/frame]
Processing frames: 62%|██████▏ | 62/100 [13:26<08:13, 13.00s/frame]
Processing frames: 63%|██████▎ | 63/100 [13:39<08:02, 13.04s/frame]
Processing frames: 64%|██████▍ | 64/100 [13:52<07:50, 13.06s/frame]
Processing frames: 65%|██████▌ | 65/100 [14:06<07:39, 13.11s/frame]
Processing frames: 66%|██████▌ | 66/100 [14:19<07:26, 13.13s/frame]
Processing frames: 67%|██████▋ | 67/100 [14:32<07:13, 13.13s/frame]
Processing frames: 68%|██████▊ | 68/100 [14:45<06:58, 13.07s/frame]
Processing frames: 69%|██████▉ | 69/100 [14:58<06:43, 13.03s/frame]
Processing frames: 70%|███████ | 70/100 [15:11<06:29, 12.98s/frame]
Processing frames: 71%|███████ | 71/100 [15:24<06:15, 12.95s/frame]
Processing frames: 72%|███████▏ | 72/100 [15:36<06:02, 12.93s/frame]
Processing frames: 73%|███████▎ | 73/100 [15:49<05:48, 12.92s/frame]
Processing frames: 74%|███████▍ | 74/100 [16:02<05:35, 12.92s/frame]
Processing frames: 75%|███████▌ | 75/100 [16:15<05:23, 12.93s/frame]
Processing frames: 76%|███████▌ | 76/100 [16:28<05:10, 12.95s/frame]
Processing frames: 77%|███████▋ | 77/100 [16:41<04:58, 12.96s/frame]
Processing frames: 78%|███████▊ | 78/100 [16:54<04:46, 13.02s/frame]
Processing frames: 79%|███████▉ | 79/100 [17:07<04:33, 13.03s/frame]
Processing frames: 80%|████████ | 80/100 [17:20<04:20, 13.03s/frame]
Processing frames: 81%|████████ | 81/100 [17:34<04:07, 13.04s/frame]
Processing frames: 82%|████████▏ | 82/100 [17:47<03:55, 13.09s/frame]
Processing frames: 83%|████████▎ | 83/100 [18:00<03:42, 13.11s/frame]
Processing frames: 84%|████████▍ | 84/100 [18:13<03:30, 13.14s/frame]
Processing frames: 85%|████████▌ | 85/100 [18:26<03:17, 13.15s/frame]
Processing frames: 86%|████████▌ | 86/100 [18:39<03:03, 13.12s/frame]
Processing frames: 87%|████████▋ | 87/100 [18:52<02:50, 13.09s/frame]
Processing frames: 88%|████████▊ | 88/100 [19:05<02:36, 13.03s/frame]
Processing frames: 89%|████████▉ | 89/100 [19:18<02:22, 12.99s/frame]
Processing frames: 90%|█████████ | 90/100 [19:31<02:09, 12.97s/frame]
Processing frames: 91%|█████████ | 91/100 [19:44<01:56, 12.95s/frame]
Processing frames: 92%|█████████▏| 92/100 [19:56<01:42, 12.82s/frame]
Processing frames: 93%|█████████▎| 93/100 [20:09<01:28, 12.66s/frame]
Processing frames: 94%|█████████▍| 94/100 [20:21<01:15, 12.54s/frame]
Processing frames: 95%|█████████▌| 95/100 [20:33<01:02, 12.45s/frame]
Processing frames: 96%|█████████▌| 96/100 [20:46<00:49, 12.41s/frame]
Processing frames: 97%|█████████▋| 97/100 [20:58<00:37, 12.39s/frame]
Processing frames: 98%|█████████▊| 98/100 [21:11<00:25, 12.51s/frame]
Processing frames: 99%|█████████▉| 99/100 [21:23<00:12, 12.49s/frame]
Processing frames: 100%|██████████| 100/100 [21:36<00:00, 12.54s/frame]
Processing frames: 100%|██████████| 100/100 [21:36<00:00, 12.96s/frame]
(1495, 1295)
+ERROR: pySEA import failed, this functionality is not available
(1, 100, 1495, 1295)
kx (241,)
python3 05_tacaw_chunkFFT.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/numpy_62cafdc8a4f9
-
Processing frames: 1%| | 1/100 [00:00<00:37, 2.61frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:37, 2.59frame/s]
Processing frames: 3%|▎ | 3/100 [00:01<00:36, 2.65frame/s]
Processing frames: 4%|▍ | 4/100 [00:01<00:37, 2.54frame/s]
Processing frames: 5%|▌ | 5/100 [00:01<00:36, 2.58frame/s]
Processing frames: 6%|▌ | 6/100 [00:02<00:34, 2.71frame/s]
Processing frames: 7%|▋ | 7/100 [00:02<00:34, 2.73frame/s]
Processing frames: 8%|▊ | 8/100 [00:02<00:33, 2.73frame/s]
Processing frames: 9%|▉ | 9/100 [00:03<00:33, 2.75frame/s]
Processing frames: 10%|█ | 10/100 [00:03<00:32, 2.78frame/s]
Processing frames: 11%|█ | 11/100 [00:04<00:33, 2.70frame/s]
Processing frames: 12%|█▏ | 12/100 [00:04<00:32, 2.74frame/s]
Processing frames: 13%|█▎ | 13/100 [00:04<00:31, 2.79frame/s]
Processing frames: 14%|█▍ | 14/100 [00:05<00:31, 2.77frame/s]
Processing frames: 15%|█▌ | 15/100 [00:05<00:30, 2.78frame/s]
Processing frames: 16%|█▌ | 16/100 [00:05<00:30, 2.78frame/s]
Processing frames: 17%|█▋ | 17/100 [00:06<00:31, 2.63frame/s]
Processing frames: 18%|█▊ | 18/100 [00:06<00:30, 2.65frame/s]
Processing frames: 19%|█▉ | 19/100 [00:07<00:30, 2.63frame/s]
Processing frames: 20%|██ | 20/100 [00:07<00:30, 2.64frame/s]
Processing frames: 21%|██ | 21/100 [00:07<00:30, 2.62frame/s]
Processing frames: 22%|██▏ | 22/100 [00:08<00:30, 2.53frame/s]
Processing frames: 23%|██▎ | 23/100 [00:08<00:30, 2.48frame/s]
Processing frames: 24%|██▍ | 24/100 [00:09<00:30, 2.49frame/s]
Processing frames: 25%|██▌ | 25/100 [00:09<00:28, 2.63frame/s]
Processing frames: 26%|██▌ | 26/100 [00:09<00:28, 2.62frame/s]
Processing frames: 27%|██▋ | 27/100 [00:10<00:28, 2.59frame/s]
Processing frames: 28%|██▊ | 28/100 [00:10<00:27, 2.64frame/s]
Processing frames: 29%|██▉ | 29/100 [00:10<00:25, 2.76frame/s]
Processing frames: 30%|███ | 30/100 [00:11<00:25, 2.80frame/s]
Processing frames: 31%|███ | 31/100 [00:11<00:25, 2.69frame/s]
Processing frames: 32%|███▏ | 32/100 [00:11<00:25, 2.71frame/s]
Processing frames: 33%|███▎ | 33/100 [00:12<00:24, 2.72frame/s]
Processing frames: 34%|███▍ | 34/100 [00:12<00:25, 2.62frame/s]
Processing frames: 35%|███▌ | 35/100 [00:13<00:24, 2.61frame/s]
Processing frames: 36%|███▌ | 36/100 [00:13<00:25, 2.50frame/s]
Processing frames: 37%|███▋ | 37/100 [00:13<00:25, 2.51frame/s]
Processing frames: 38%|███▊ | 38/100 [00:14<00:24, 2.58frame/s]
Processing frames: 39%|███▉ | 39/100 [00:14<00:23, 2.57frame/s]
Processing frames: 40%|████ | 40/100 [00:15<00:23, 2.60frame/s]
Processing frames: 41%|████ | 41/100 [00:15<00:22, 2.64frame/s]
Processing frames: 42%|████▏ | 42/100 [00:15<00:22, 2.58frame/s]
Processing frames: 43%|████▎ | 43/100 [00:16<00:21, 2.59frame/s]
Processing frames: 44%|████▍ | 44/100 [00:16<00:21, 2.63frame/s]
Processing frames: 45%|████▌ | 45/100 [00:17<00:21, 2.54frame/s]
Processing frames: 46%|████▌ | 46/100 [00:17<00:21, 2.54frame/s]
Processing frames: 47%|████▋ | 47/100 [00:17<00:20, 2.57frame/s]
Processing frames: 48%|████▊ | 48/100 [00:18<00:20, 2.53frame/s]
Processing frames: 49%|████▉ | 49/100 [00:18<00:20, 2.48frame/s]
Processing frames: 50%|█████ | 50/100 [00:19<00:19, 2.51frame/s]
Processing frames: 51%|█████ | 51/100 [00:19<00:19, 2.47frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:19<00:18, 2.54frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:20<00:18, 2.54frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:20<00:17, 2.56frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:21<00:17, 2.55frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:21<00:17, 2.57frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:21<00:16, 2.64frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:22<00:16, 2.57frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:22<00:15, 2.67frame/s]
Processing frames: 60%|██████ | 60/100 [00:22<00:15, 2.62frame/s]
Processing frames: 61%|██████ | 61/100 [00:23<00:14, 2.75frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:23<00:14, 2.71frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:23<00:13, 2.80frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:24<00:13, 2.74frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:24<00:12, 2.80frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:25<00:13, 2.46frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:25<00:13, 2.49frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:25<00:13, 2.43frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:26<00:12, 2.56frame/s]
Processing frames: 70%|███████ | 70/100 [00:26<00:11, 2.63frame/s]
Processing frames: 71%|███████ | 71/100 [00:27<00:11, 2.60frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:27<00:10, 2.63frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:27<00:10, 2.56frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:28<00:10, 2.54frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:28<00:09, 2.58frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:29<00:09, 2.61frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:29<00:09, 2.45frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:29<00:08, 2.47frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:30<00:08, 2.58frame/s]
Processing frames: 80%|████████ | 80/100 [00:30<00:07, 2.60frame/s]
Processing frames: 81%|████████ | 81/100 [00:30<00:07, 2.60frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:31<00:07, 2.54frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:31<00:06, 2.61frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:32<00:05, 2.70frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:32<00:05, 2.64frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:32<00:05, 2.73frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:33<00:04, 2.79frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:33<00:04, 2.74frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:33<00:04, 2.69frame/s]
Processing frames: 90%|█████████ | 90/100 [00:34<00:03, 2.58frame/s]
Processing frames: 91%|█████████ | 91/100 [00:34<00:03, 2.67frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:35<00:03, 2.62frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:35<00:02, 2.77frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:35<00:02, 2.78frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:36<00:01, 2.71frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:36<00:01, 2.59frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:36<00:01, 2.60frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:37<00:00, 2.70frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:37<00:00, 2.73frame/s]
Processing frames: 100%|██████████| 100/100 [00:38<00:00, 2.70frame/s]
Processing frames: 100%|██████████| 100/100 [00:38<00:00, 2.63frame/s]
-tacaw > wfdata (1, 100, 1495, 1295, 1)
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/numpy_895c70622a6c
+
Processing frames: 1%| | 1/100 [00:00<00:37, 2.65frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:34, 2.86frame/s]
Processing frames: 3%|▎ | 3/100 [00:01<00:35, 2.70frame/s]
Processing frames: 4%|▍ | 4/100 [00:01<00:36, 2.66frame/s]
Processing frames: 5%|▌ | 5/100 [00:01<00:33, 2.86frame/s]
Processing frames: 6%|▌ | 6/100 [00:02<00:30, 3.04frame/s]
Processing frames: 7%|▋ | 7/100 [00:02<00:30, 3.07frame/s]
Processing frames: 8%|▊ | 8/100 [00:02<00:29, 3.11frame/s]
Processing frames: 9%|▉ | 9/100 [00:03<00:30, 2.98frame/s]
Processing frames: 10%|█ | 10/100 [00:03<00:30, 2.97frame/s]
Processing frames: 11%|█ | 11/100 [00:03<00:29, 3.00frame/s]
Processing frames: 12%|█▏ | 12/100 [00:04<00:28, 3.07frame/s]
Processing frames: 13%|█▎ | 13/100 [00:04<00:26, 3.26frame/s]
Processing frames: 14%|█▍ | 14/100 [00:04<00:26, 3.25frame/s]
Processing frames: 15%|█▌ | 15/100 [00:04<00:25, 3.29frame/s]
Processing frames: 16%|█▌ | 16/100 [00:05<00:25, 3.27frame/s]
Processing frames: 17%|█▋ | 17/100 [00:05<00:26, 3.17frame/s]
Processing frames: 18%|█▊ | 18/100 [00:05<00:24, 3.29frame/s]
Processing frames: 19%|█▉ | 19/100 [00:06<00:23, 3.44frame/s]
Processing frames: 20%|██ | 20/100 [00:06<00:23, 3.41frame/s]
Processing frames: 21%|██ | 21/100 [00:06<00:23, 3.39frame/s]
Processing frames: 22%|██▏ | 22/100 [00:07<00:23, 3.28frame/s]
Processing frames: 23%|██▎ | 23/100 [00:07<00:22, 3.41frame/s]
Processing frames: 24%|██▍ | 24/100 [00:07<00:24, 3.09frame/s]
Processing frames: 25%|██▌ | 25/100 [00:08<00:26, 2.80frame/s]
Processing frames: 26%|██▌ | 26/100 [00:08<00:30, 2.46frame/s]
Processing frames: 27%|██▋ | 27/100 [00:08<00:28, 2.58frame/s]
Processing frames: 28%|██▊ | 28/100 [00:09<00:26, 2.76frame/s]
Processing frames: 29%|██▉ | 29/100 [00:09<00:24, 2.93frame/s]
Processing frames: 30%|███ | 30/100 [00:09<00:23, 2.99frame/s]
Processing frames: 31%|███ | 31/100 [00:10<00:22, 3.11frame/s]
Processing frames: 32%|███▏ | 32/100 [00:10<00:20, 3.35frame/s]
Processing frames: 33%|███▎ | 33/100 [00:10<00:20, 3.19frame/s]
Processing frames: 34%|███▍ | 34/100 [00:11<00:21, 3.08frame/s]
Processing frames: 35%|███▌ | 35/100 [00:11<00:21, 2.99frame/s]
Processing frames: 36%|███▌ | 36/100 [00:11<00:21, 3.03frame/s]
Processing frames: 37%|███▋ | 37/100 [00:12<00:20, 3.13frame/s]
Processing frames: 38%|███▊ | 38/100 [00:12<00:19, 3.26frame/s]
Processing frames: 39%|███▉ | 39/100 [00:12<00:19, 3.07frame/s]
Processing frames: 40%|████ | 40/100 [00:13<00:20, 3.00frame/s]
Processing frames: 41%|████ | 41/100 [00:13<00:19, 2.97frame/s]
Processing frames: 42%|████▏ | 42/100 [00:13<00:20, 2.84frame/s]
Processing frames: 43%|████▎ | 43/100 [00:14<00:19, 2.86frame/s]
Processing frames: 44%|████▍ | 44/100 [00:14<00:20, 2.78frame/s]
Processing frames: 45%|████▌ | 45/100 [00:14<00:19, 2.80frame/s]
Processing frames: 46%|████▌ | 46/100 [00:15<00:19, 2.84frame/s]
Processing frames: 47%|████▋ | 47/100 [00:15<00:20, 2.64frame/s]
Processing frames: 48%|████▊ | 48/100 [00:16<00:19, 2.62frame/s]
Processing frames: 49%|████▉ | 49/100 [00:16<00:19, 2.57frame/s]
Processing frames: 50%|█████ | 50/100 [00:16<00:21, 2.38frame/s]
Processing frames: 51%|█████ | 51/100 [00:17<00:19, 2.49frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:17<00:19, 2.45frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:18<00:18, 2.55frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:18<00:18, 2.52frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:18<00:17, 2.62frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:19<00:16, 2.73frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:19<00:14, 2.96frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:19<00:13, 3.07frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:20<00:13, 3.01frame/s]
Processing frames: 60%|██████ | 60/100 [00:20<00:13, 2.89frame/s]
Processing frames: 61%|██████ | 61/100 [00:20<00:13, 2.93frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:21<00:12, 3.12frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:21<00:11, 3.22frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:21<00:11, 3.08frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:22<00:12, 2.82frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:22<00:13, 2.53frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:23<00:13, 2.46frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:23<00:13, 2.39frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:24<00:14, 2.17frame/s]
Processing frames: 70%|███████ | 70/100 [00:24<00:14, 2.14frame/s]
Processing frames: 71%|███████ | 71/100 [00:24<00:13, 2.23frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:25<00:11, 2.37frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:25<00:11, 2.28frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:26<00:11, 2.22frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:26<00:11, 2.18frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:27<00:12, 1.95frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:27<00:11, 2.04frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:28<00:10, 2.18frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:28<00:10, 2.10frame/s]
Processing frames: 80%|████████ | 80/100 [00:29<00:09, 2.09frame/s]
Processing frames: 81%|████████ | 81/100 [00:31<00:17, 1.06frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:31<00:15, 1.20frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:32<00:14, 1.16frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:33<00:11, 1.34frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:33<00:10, 1.45frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:34<00:09, 1.44frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:34<00:07, 1.68frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:35<00:07, 1.71frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:36<00:06, 1.61frame/s]
Processing frames: 90%|█████████ | 90/100 [00:37<00:07, 1.29frame/s]
Processing frames: 91%|█████████ | 91/100 [00:37<00:06, 1.41frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:38<00:05, 1.39frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:39<00:04, 1.55frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:39<00:03, 1.78frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:40<00:03, 1.49frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:40<00:02, 1.59frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:41<00:01, 1.81frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:41<00:01, 1.83frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:42<00:00, 1.43frame/s]
Processing frames: 100%|██████████| 100/100 [00:43<00:00, 1.50frame/s]
Processing frames: 100%|██████████| 100/100 [00:43<00:00, 2.30frame/s]
(1495, 1295)
kx (241,)
python3 05_tacaw_cropped.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/numpy_62cafdc8a4f9
-
Processing frames: 3%|▎ | 3/100 [00:00<00:03, 25.79frame/s]
Processing frames: 6%|▌ | 6/100 [00:00<00:03, 27.00frame/s]
Processing frames: 9%|▉ | 9/100 [00:00<00:03, 27.33frame/s]
Processing frames: 12%|█▏ | 12/100 [00:00<00:03, 27.70frame/s]
Processing frames: 15%|█▌ | 15/100 [00:00<00:03, 27.81frame/s]
Processing frames: 18%|█▊ | 18/100 [00:00<00:02, 27.75frame/s]
Processing frames: 21%|██ | 21/100 [00:00<00:02, 27.78frame/s]
Processing frames: 24%|██▍ | 24/100 [00:00<00:02, 27.91frame/s]
Processing frames: 27%|██▋ | 27/100 [00:00<00:02, 28.03frame/s]
Processing frames: 30%|███ | 30/100 [00:01<00:02, 28.00frame/s]
Processing frames: 33%|███▎ | 33/100 [00:01<00:02, 27.88frame/s]
Processing frames: 36%|███▌ | 36/100 [00:01<00:02, 27.78frame/s]
Processing frames: 39%|███▉ | 39/100 [00:01<00:02, 27.87frame/s]
Processing frames: 42%|████▏ | 42/100 [00:01<00:02, 27.96frame/s]
Processing frames: 45%|████▌ | 45/100 [00:01<00:01, 27.88frame/s]
Processing frames: 48%|████▊ | 48/100 [00:01<00:01, 27.87frame/s]
Processing frames: 51%|█████ | 51/100 [00:01<00:01, 27.89frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:01<00:01, 27.98frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:02<00:01, 28.08frame/s]
Processing frames: 60%|██████ | 60/100 [00:02<00:01, 27.92frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:02<00:01, 27.81frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:02<00:01, 27.78frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:02<00:01, 27.81frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:02<00:01, 27.76frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:02<00:00, 27.77frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:02<00:00, 27.86frame/s]
Processing frames: 81%|████████ | 81/100 [00:02<00:00, 27.72frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:03<00:00, 27.65frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:03<00:00, 27.67frame/s]
Processing frames: 90%|█████████ | 90/100 [00:03<00:00, 27.68frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:03<00:00, 27.90frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:03<00:00, 27.94frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:03<00:00, 27.64frame/s]
Processing frames: 100%|██████████| 100/100 [00:03<00:00, 27.78frame/s]
-tacaw > wfdata (1, 100, 481, 481, 1)
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/numpy_895c70622a6c
+
Processing frames: 7%|▋ | 7/100 [00:00<00:01, 65.43frame/s]
Processing frames: 15%|█▌ | 15/100 [00:00<00:01, 70.69frame/s]
Processing frames: 23%|██▎ | 23/100 [00:00<00:01, 71.87frame/s]
Processing frames: 31%|███ | 31/100 [00:00<00:00, 72.45frame/s]
Processing frames: 39%|███▉ | 39/100 [00:00<00:00, 73.17frame/s]
Processing frames: 47%|████▋ | 47/100 [00:00<00:00, 73.16frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:00<00:00, 73.32frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:00<00:00, 73.34frame/s]
Processing frames: 71%|███████ | 71/100 [00:00<00:00, 73.87frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:01<00:00, 74.47frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:01<00:00, 74.17frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:01<00:00, 74.02frame/s]
Processing frames: 100%|██████████| 100/100 [00:01<00:00, 73.22frame/s]
(481, 481)
kx (241,)
python3 06_loaders.py
No velocity data found. Setting velocities to zero.
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
attempting to load inputs/silicon_pos.positions
-
Loading frames: 0%| | 0/1 [00:00, ?frame/s]
Loading frames: 100%|██████████| 1/1 [00:00<00:00, 3548.48frame/s]
+
Loading frames: 0%| | 0/1 [00:00, ?frame/s]
Loading frames: 100%|██████████| 1/1 [00:00<00:00, 4691.62frame/s]
saving plot for silicon_pos.positions to 06_loaders_0.png
attempting to load inputs/hBN_cif.cif
saving plot for hBN_cif.cif to 06_loaders_1.png
attempting to load inputs/hBN_truncated.lammpstrj
-
Loading frames: 0%| | 0/100 [00:00, ?frame/s]
Loading frames: 34%|███▍ | 34/100 [00:00<00:00, 337.52frame/s]
Loading frames: 68%|██████▊ | 68/100 [00:00<00:00, 334.90frame/s]
Loading frames: 100%|██████████| 100/100 [00:00<00:00, 332.78frame/s]
+
Loading frames: 0%| | 0/100 [00:00, ?frame/s]
Loading frames: 34%|███▍ | 34/100 [00:00<00:00, 336.59frame/s]
Loading frames: 68%|██████▊ | 68/100 [00:00<00:00, 320.59frame/s]
Loading frames: 100%|██████████| 100/100 [00:00<00:00, 317.21frame/s]
No velocity data found. Setting velocities to zero.
saving plot for hBN_truncated.lammpstrj to 06_loaders_2.png
attempting to load inputs/hBN_GAP_ase.trj
-
Loading frames: 0%| | 0/101 [00:00, ?frame/s]
Loading frames: 7%|▋ | 7/101 [00:00<00:01, 63.14frame/s]
Loading frames: 14%|█▍ | 14/101 [00:00<00:01, 57.87frame/s]
Loading frames: 20%|█▉ | 20/101 [00:00<00:01, 56.38frame/s]
Loading frames: 26%|██▌ | 26/101 [00:00<00:01, 55.77frame/s]
Loading frames: 32%|███▏ | 32/101 [00:00<00:01, 55.41frame/s]
Loading frames: 38%|███▊ | 38/101 [00:00<00:01, 55.38frame/s]
Loading frames: 44%|████▎ | 44/101 [00:00<00:01, 55.37frame/s]
Loading frames: 50%|████▉ | 50/101 [00:00<00:00, 55.19frame/s]
Loading frames: 55%|█████▌ | 56/101 [00:01<00:00, 54.93frame/s]
Loading frames: 61%|██████▏ | 62/101 [00:01<00:00, 54.77frame/s]
Loading frames: 67%|██████▋ | 68/101 [00:01<00:00, 54.94frame/s]
Loading frames: 73%|███████▎ | 74/101 [00:01<00:00, 55.07frame/s]
Loading frames: 79%|███████▉ | 80/101 [00:01<00:00, 54.98frame/s]
Loading frames: 85%|████████▌ | 86/101 [00:01<00:00, 54.77frame/s]
Loading frames: 91%|█████████ | 92/101 [00:01<00:00, 54.72frame/s]
Loading frames: 97%|█████████▋| 98/101 [00:01<00:00, 54.72frame/s]
Loading frames: 100%|██████████| 101/101 [00:01<00:00, 55.35frame/s]
+
Loading frames: 0%| | 0/101 [00:00, ?frame/s]
Loading frames: 7%|▋ | 7/101 [00:00<00:01, 58.50frame/s]
Loading frames: 13%|█▎ | 13/101 [00:00<00:01, 52.19frame/s]
Loading frames: 19%|█▉ | 19/101 [00:00<00:01, 50.64frame/s]
Loading frames: 25%|██▍ | 25/101 [00:00<00:01, 49.87frame/s]
Loading frames: 31%|███ | 31/101 [00:00<00:01, 50.32frame/s]
Loading frames: 37%|███▋ | 37/101 [00:00<00:01, 49.66frame/s]
Loading frames: 42%|████▏ | 42/101 [00:00<00:01, 49.17frame/s]
Loading frames: 47%|████▋ | 47/101 [00:00<00:01, 48.91frame/s]
Loading frames: 51%|█████▏ | 52/101 [00:01<00:01, 48.62frame/s]
Loading frames: 56%|█████▋ | 57/101 [00:01<00:00, 48.40frame/s]
Loading frames: 62%|██████▏ | 63/101 [00:01<00:00, 48.71frame/s]
Loading frames: 67%|██████▋ | 68/101 [00:01<00:00, 48.44frame/s]
Loading frames: 72%|███████▏ | 73/101 [00:01<00:00, 48.38frame/s]
Loading frames: 77%|███████▋ | 78/101 [00:01<00:00, 48.23frame/s]
Loading frames: 82%|████████▏ | 83/101 [00:01<00:00, 48.11frame/s]
Loading frames: 88%|████████▊ | 89/101 [00:01<00:00, 48.77frame/s]
Loading frames: 93%|█████████▎| 94/101 [00:01<00:00, 48.51frame/s]
Loading frames: 99%|█████████▉| 100/101 [00:02<00:00, 49.77frame/s]
Loading frames: 100%|██████████| 101/101 [00:02<00:00, 49.40frame/s]
saving plot for hBN_GAP_ase.trj to 06_loaders_3.png
Testing ASE Atoms object loading (single frame)
@@ -104,1185 +113,1190 @@ Testing ASE Atoms trajectory loading (multiple frames)
python3 07_defocus.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
python3 08_LACBED_iterative.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
-
Loading frames: 0%| | 0/50 [00:00, ?frame/s]
Loading frames: 24%|██▍ | 12/50 [00:00<00:00, 116.66frame/s]
Loading frames: 48%|████▊ | 24/50 [00:00<00:00, 110.20frame/s]
Loading frames: 72%|███████▏ | 36/50 [00:00<00:00, 110.07frame/s]
Loading frames: 96%|█████████▌| 48/50 [00:00<00:00, 110.42frame/s]
Loading frames: 100%|██████████| 50/50 [00:00<00:00, 110.50frame/s]
+
Loading frames: 0%| | 0/50 [00:00, ?frame/s]
Loading frames: 24%|██▍ | 12/50 [00:00<00:00, 113.07frame/s]
Loading frames: 48%|████▊ | 24/50 [00:00<00:00, 101.76frame/s]
Loading frames: 70%|███████ | 35/50 [00:00<00:00, 95.29frame/s]
Loading frames: 90%|█████████ | 45/50 [00:00<00:00, 96.37frame/s]
Loading frames: 100%|██████████| 50/50 [00:00<00:00, 98.06frame/s]
+
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
+
+
0%| | 0/55 [00:00, ?it/s][A
+
2%|▏ | 1/55 [00:00<00:29, 1.83it/s][A
+
4%|▎ | 2/55 [00:00<00:21, 2.48it/s][A
+
5%|▌ | 3/55 [00:01<00:20, 2.51it/s][A
+
7%|▋ | 4/55 [00:02<00:33, 1.54it/s][A
+
9%|▉ | 5/55 [00:02<00:26, 1.92it/s][A
+
11%|█ | 6/55 [00:03<00:28, 1.72it/s][A
+
13%|█▎ | 7/55 [00:03<00:30, 1.60it/s][A
+
15%|█▍ | 8/55 [00:04<00:24, 1.93it/s][A
+
16%|█▋ | 9/55 [00:05<00:31, 1.48it/s][A
+
18%|█▊ | 10/55 [00:05<00:26, 1.69it/s][A
+
20%|██ | 11/55 [00:06<00:23, 1.91it/s][A
+
22%|██▏ | 12/55 [00:07<00:29, 1.46it/s][A
+
24%|██▎ | 13/55 [00:07<00:24, 1.70it/s][A
+
25%|██▌ | 14/55 [00:07<00:21, 1.88it/s][A
+
27%|██▋ | 15/55 [00:08<00:27, 1.46it/s][A
+
29%|██▉ | 16/55 [00:09<00:22, 1.76it/s][A
+
31%|███ | 17/55 [00:09<00:23, 1.64it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.58it/s][A
+
35%|███▍ | 19/55 [00:10<00:19, 1.89it/s][A
+
36%|███▋ | 20/55 [00:11<00:23, 1.47it/s][A
+
38%|███▊ | 21/55 [00:12<00:20, 1.67it/s][A
+
40%|████ | 22/55 [00:12<00:16, 1.98it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.48it/s][A
+
44%|████▎ | 24/55 [00:14<00:17, 1.73it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.92it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.50it/s][A
+
49%|████▉ | 27/55 [00:15<00:15, 1.80it/s][A
+
51%|█████ | 28/55 [00:16<00:16, 1.66it/s][A
+
53%|█████▎ | 29/55 [00:17<00:16, 1.59it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.89it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.46it/s][A
+
58%|█████▊ | 32/55 [00:18<00:13, 1.67it/s][A
+
60%|██████ | 33/55 [00:19<00:11, 1.98it/s][A
+
62%|██████▏ | 34/55 [00:20<00:14, 1.49it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.78it/s][A
+
65%|██████▌ | 36/55 [00:20<00:09, 1.94it/s][A
+
67%|██████▋ | 37/55 [00:21<00:11, 1.51it/s][A
+
69%|██████▉ | 38/55 [00:22<00:09, 1.83it/s][A
+
71%|███████ | 39/55 [00:22<00:09, 1.68it/s][A
+
73%|███████▎ | 40/55 [00:23<00:09, 1.60it/s][A
+
75%|███████▍ | 41/55 [00:23<00:07, 1.90it/s][A
+
76%|███████▋ | 42/55 [00:24<00:08, 1.48it/s][A
+
78%|███████▊ | 43/55 [00:25<00:07, 1.70it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 2.00it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.50it/s][A
+
84%|████████▎ | 46/55 [00:26<00:04, 1.81it/s][A
+
85%|████████▌ | 47/55 [00:27<00:04, 1.96it/s][A
+
87%|████████▋ | 48/55 [00:28<00:04, 1.50it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.79it/s][A
+
91%|█████████ | 50/55 [00:29<00:03, 1.65it/s][A
+
93%|█████████▎| 51/55 [00:30<00:02, 1.58it/s][A
+
95%|█████████▍| 52/55 [00:30<00:01, 1.89it/s][A
+
96%|█████████▋| 53/55 [00:31<00:01, 1.48it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.69it/s][A
+
100%|██████████| 55/55 [00:32<00:00, 1.92it/s][A
100%|██████████| 55/55 [00:32<00:00, 1.71it/s]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.65s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.65s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
2%|▏ | 1/55 [00:00<00:29, 1.85it/s][A
-
4%|▎ | 2/55 [00:00<00:21, 2.49it/s][A
-
5%|▌ | 3/55 [00:01<00:20, 2.52it/s][A
-
7%|▋ | 4/55 [00:02<00:32, 1.56it/s][A
-
9%|▉ | 5/55 [00:02<00:25, 1.95it/s][A
-
11%|█ | 6/55 [00:03<00:28, 1.75it/s][A
-
13%|█▎ | 7/55 [00:03<00:29, 1.61it/s][A
-
15%|█▍ | 8/55 [00:04<00:24, 1.94it/s][A
-
16%|█▋ | 9/55 [00:05<00:30, 1.50it/s][A
-
18%|█▊ | 10/55 [00:05<00:26, 1.70it/s][A
-
20%|██ | 11/55 [00:06<00:22, 1.93it/s][A
+
4%|▎ | 2/55 [00:00<00:21, 2.52it/s][A
+
5%|▌ | 3/55 [00:01<00:20, 2.53it/s][A
+
7%|▋ | 4/55 [00:02<00:33, 1.54it/s][A
+
9%|▉ | 5/55 [00:02<00:26, 1.92it/s][A
+
11%|█ | 6/55 [00:03<00:28, 1.72it/s][A
+
13%|█▎ | 7/55 [00:03<00:30, 1.60it/s][A
+
15%|█▍ | 8/55 [00:04<00:24, 1.91it/s][A
+
16%|█▋ | 9/55 [00:05<00:31, 1.48it/s][A
+
18%|█▊ | 10/55 [00:05<00:26, 1.69it/s][A
+
20%|██ | 11/55 [00:06<00:22, 1.92it/s][A
22%|██▏ | 12/55 [00:07<00:29, 1.47it/s][A
24%|██▎ | 13/55 [00:07<00:24, 1.72it/s][A
-
25%|██▌ | 14/55 [00:07<00:21, 1.90it/s][A
+
25%|██▌ | 14/55 [00:07<00:21, 1.91it/s][A
27%|██▋ | 15/55 [00:08<00:26, 1.49it/s][A
-
29%|██▉ | 16/55 [00:09<00:21, 1.80it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.68it/s][A
-
33%|███▎ | 18/55 [00:10<00:23, 1.60it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.91it/s][A
-
36%|███▋ | 20/55 [00:11<00:23, 1.49it/s][A
-
38%|███▊ | 21/55 [00:12<00:19, 1.71it/s][A
-
40%|████ | 22/55 [00:12<00:16, 2.02it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.52it/s][A
-
44%|████▎ | 24/55 [00:13<00:17, 1.76it/s][A
-
45%|████▌ | 25/55 [00:14<00:15, 1.95it/s][A
-
47%|████▋ | 26/55 [00:15<00:19, 1.51it/s][A
-
49%|████▉ | 27/55 [00:15<00:15, 1.82it/s][A
-
51%|█████ | 28/55 [00:16<00:16, 1.67it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.60it/s][A
-
55%|█████▍ | 30/55 [00:17<00:13, 1.90it/s][A
-
56%|█████▋ | 31/55 [00:18<00:16, 1.48it/s][A
-
58%|█████▊ | 32/55 [00:18<00:13, 1.71it/s][A
-
60%|██████ | 33/55 [00:18<00:10, 2.02it/s][A
-
62%|██████▏ | 34/55 [00:19<00:13, 1.51it/s][A
-
64%|██████▎ | 35/55 [00:20<00:11, 1.81it/s][A
-
65%|██████▌ | 36/55 [00:20<00:09, 1.98it/s][A
-
67%|██████▋ | 37/55 [00:21<00:11, 1.53it/s][A
-
69%|██████▉ | 38/55 [00:21<00:09, 1.84it/s][A
-
71%|███████ | 39/55 [00:22<00:09, 1.70it/s][A
-
73%|███████▎ | 40/55 [00:23<00:09, 1.62it/s][A
-
75%|███████▍ | 41/55 [00:23<00:07, 1.93it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.50it/s][A
-
78%|███████▊ | 43/55 [00:25<00:06, 1.72it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 2.03it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.52it/s][A
-
84%|████████▎ | 46/55 [00:26<00:04, 1.83it/s][A
-
85%|████████▌ | 47/55 [00:27<00:04, 2.00it/s][A
-
87%|████████▋ | 48/55 [00:28<00:04, 1.53it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.83it/s][A
-
91%|█████████ | 50/55 [00:29<00:02, 1.68it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
-
95%|█████████▍| 52/55 [00:29<00:01, 1.92it/s][A
-
96%|█████████▋| 53/55 [00:30<00:01, 1.50it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.71it/s][A
-
100%|██████████| 55/55 [00:31<00:00, 1.95it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.73it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.30s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.30s/frame]
+
29%|██▉ | 16/55 [00:09<00:21, 1.79it/s][A
+
31%|███ | 17/55 [00:09<00:22, 1.66it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.59it/s][A
+
35%|███▍ | 19/55 [00:10<00:19, 1.89it/s][A
+
36%|███▋ | 20/55 [00:11<00:23, 1.48it/s][A
+
38%|███▊ | 21/55 [00:12<00:19, 1.70it/s][A
+
40%|████ | 22/55 [00:12<00:16, 2.01it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.51it/s][A
+
44%|████▎ | 24/55 [00:13<00:17, 1.75it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.93it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.50it/s][A
+
49%|████▉ | 27/55 [00:15<00:15, 1.81it/s][A
+
51%|█████ | 28/55 [00:16<00:15, 1.69it/s][A
+
53%|█████▎ | 29/55 [00:17<00:16, 1.60it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.89it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.47it/s][A
+
58%|█████▊ | 32/55 [00:18<00:13, 1.69it/s][A
+
60%|██████ | 33/55 [00:19<00:11, 1.98it/s][A
+
62%|██████▏ | 34/55 [00:20<00:13, 1.50it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.73it/s][A
+
65%|██████▌ | 36/55 [00:20<00:09, 1.93it/s][A
+
67%|██████▋ | 37/55 [00:21<00:12, 1.49it/s][A
+
69%|██████▉ | 38/55 [00:22<00:09, 1.79it/s][A
+
71%|███████ | 39/55 [00:22<00:09, 1.66it/s][A
+
73%|███████▎ | 40/55 [00:23<00:09, 1.58it/s][A
+
75%|███████▍ | 41/55 [00:23<00:07, 1.89it/s][A
+
76%|███████▋ | 42/55 [00:24<00:08, 1.49it/s][A
+
78%|███████▊ | 43/55 [00:25<00:07, 1.70it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 2.00it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.50it/s][A
+
84%|████████▎ | 46/55 [00:26<00:04, 1.80it/s][A
+
85%|████████▌ | 47/55 [00:27<00:04, 1.99it/s][A
+
87%|████████▋ | 48/55 [00:28<00:04, 1.52it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.82it/s][A
+
91%|█████████ | 50/55 [00:29<00:03, 1.66it/s][A
+
93%|█████████▎| 51/55 [00:30<00:02, 1.60it/s][A
+
95%|█████████▍| 52/55 [00:30<00:01, 1.90it/s][A
+
96%|█████████▋| 53/55 [00:31<00:01, 1.49it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.69it/s][A
+
100%|██████████| 55/55 [00:32<00:00, 1.90it/s][A
100%|██████████| 55/55 [00:32<00:00, 1.71it/s]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.51s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.51s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:28, 1.90it/s][A
-
4%|▎ | 2/55 [00:00<00:20, 2.59it/s][A
-
5%|▌ | 3/55 [00:01<00:20, 2.54it/s][A
-
7%|▋ | 4/55 [00:02<00:32, 1.57it/s][A
-
9%|▉ | 5/55 [00:02<00:25, 1.95it/s][A
-
11%|█ | 6/55 [00:03<00:28, 1.74it/s][A
+
2%|▏ | 1/55 [00:00<00:29, 1.84it/s][A
+
4%|▎ | 2/55 [00:00<00:20, 2.54it/s][A
+
5%|▌ | 3/55 [00:01<00:20, 2.53it/s][A
+
7%|▋ | 4/55 [00:02<00:32, 1.55it/s][A
+
9%|▉ | 5/55 [00:02<00:25, 1.93it/s][A
+
11%|█ | 6/55 [00:03<00:28, 1.73it/s][A
13%|█▎ | 7/55 [00:03<00:29, 1.62it/s][A
-
15%|█▍ | 8/55 [00:04<00:24, 1.96it/s][A
-
16%|█▋ | 9/55 [00:05<00:30, 1.51it/s][A
-
18%|█▊ | 10/55 [00:05<00:26, 1.72it/s][A
-
20%|██ | 11/55 [00:05<00:22, 1.94it/s][A
+
15%|█▍ | 8/55 [00:04<00:24, 1.94it/s][A
+
16%|█▋ | 9/55 [00:05<00:30, 1.49it/s][A
+
18%|█▊ | 10/55 [00:05<00:26, 1.70it/s][A
+
20%|██ | 11/55 [00:06<00:22, 1.93it/s][A
22%|██▏ | 12/55 [00:07<00:29, 1.48it/s][A
-
24%|██▎ | 13/55 [00:07<00:24, 1.73it/s][A
-
25%|██▌ | 14/55 [00:07<00:21, 1.91it/s][A
-
27%|██▋ | 15/55 [00:08<00:26, 1.50it/s][A
-
29%|██▉ | 16/55 [00:09<00:21, 1.81it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.69it/s][A
-
33%|███▎ | 18/55 [00:10<00:22, 1.61it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.92it/s][A
-
36%|███▋ | 20/55 [00:11<00:23, 1.51it/s][A
-
38%|███▊ | 21/55 [00:12<00:19, 1.71it/s][A
-
40%|████ | 22/55 [00:12<00:16, 2.02it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.52it/s][A
-
44%|████▎ | 24/55 [00:13<00:17, 1.76it/s][A
-
45%|████▌ | 25/55 [00:14<00:15, 1.94it/s][A
-
47%|████▋ | 26/55 [00:15<00:19, 1.51it/s][A
-
49%|████▉ | 27/55 [00:15<00:15, 1.82it/s][A
-
51%|█████ | 28/55 [00:16<00:15, 1.70it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.61it/s][A
-
55%|█████▍ | 30/55 [00:17<00:13, 1.92it/s][A
-
56%|█████▋ | 31/55 [00:18<00:15, 1.50it/s][A
-
58%|█████▊ | 32/55 [00:18<00:13, 1.72it/s][A
-
60%|██████ | 33/55 [00:18<00:10, 2.03it/s][A
-
62%|██████▏ | 34/55 [00:19<00:13, 1.53it/s][A
-
64%|██████▎ | 35/55 [00:20<00:11, 1.76it/s][A
-
65%|██████▌ | 36/55 [00:20<00:09, 1.95it/s][A
-
67%|██████▋ | 37/55 [00:21<00:11, 1.52it/s][A
-
69%|██████▉ | 38/55 [00:21<00:09, 1.83it/s][A
-
71%|███████ | 39/55 [00:22<00:09, 1.70it/s][A
-
73%|███████▎ | 40/55 [00:23<00:09, 1.61it/s][A
-
75%|███████▍ | 41/55 [00:23<00:07, 1.92it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.51it/s][A
-
78%|███████▊ | 43/55 [00:24<00:06, 1.72it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 2.03it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.53it/s][A
-
84%|████████▎ | 46/55 [00:26<00:04, 1.84it/s][A
-
85%|████████▌ | 47/55 [00:26<00:03, 2.02it/s][A
-
87%|████████▋ | 48/55 [00:27<00:04, 1.54it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.86it/s][A
-
91%|█████████ | 50/55 [00:28<00:02, 1.69it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
-
95%|█████████▍| 52/55 [00:29<00:01, 1.92it/s][A
-
96%|█████████▋| 53/55 [00:30<00:01, 1.51it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.71it/s][A
-
100%|██████████| 55/55 [00:31<00:00, 1.94it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.74it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.18s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.18s/frame]
-
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
-
-
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:28, 1.87it/s][A
-
4%|▎ | 2/55 [00:00<00:20, 2.54it/s][A
-
5%|▌ | 3/55 [00:01<00:20, 2.54it/s][A
-
7%|▋ | 4/55 [00:02<00:32, 1.56it/s][A
-
9%|▉ | 5/55 [00:02<00:25, 1.95it/s][A
-
11%|█ | 6/55 [00:03<00:27, 1.75it/s][A
-
13%|█▎ | 7/55 [00:03<00:29, 1.63it/s][A
-
15%|█▍ | 8/55 [00:04<00:24, 1.96it/s][A
-
16%|█▋ | 9/55 [00:05<00:30, 1.51it/s][A
-
18%|█▊ | 10/55 [00:05<00:26, 1.72it/s][A
-
20%|██ | 11/55 [00:05<00:22, 1.96it/s][A
-
22%|██▏ | 12/55 [00:06<00:28, 1.50it/s][A
-
24%|██▎ | 13/55 [00:07<00:23, 1.81it/s][A
-
25%|██▌ | 14/55 [00:07<00:20, 1.97it/s][A
+
24%|██▎ | 13/55 [00:07<00:23, 1.78it/s][A
+
25%|██▌ | 14/55 [00:07<00:20, 1.96it/s][A
27%|██▋ | 15/55 [00:08<00:26, 1.52it/s][A
-
29%|██▉ | 16/55 [00:08<00:21, 1.82it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.69it/s][A
-
33%|███▎ | 18/55 [00:10<00:22, 1.61it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.92it/s][A
-
36%|███▋ | 20/55 [00:11<00:23, 1.51it/s][A
-
38%|███▊ | 21/55 [00:12<00:19, 1.72it/s][A
-
40%|████ | 22/55 [00:12<00:16, 2.03it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.52it/s][A
-
44%|████▎ | 24/55 [00:13<00:16, 1.84it/s][A
-
45%|████▌ | 25/55 [00:14<00:14, 2.00it/s][A
+
29%|██▉ | 16/55 [00:09<00:21, 1.83it/s][A
+
31%|███ | 17/55 [00:09<00:22, 1.68it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.60it/s][A
+
35%|███▍ | 19/55 [00:10<00:18, 1.91it/s][A
+
36%|███▋ | 20/55 [00:11<00:23, 1.49it/s][A
+
38%|███▊ | 21/55 [00:12<00:19, 1.70it/s][A
+
40%|████ | 22/55 [00:12<00:16, 2.00it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.51it/s][A
+
44%|████▎ | 24/55 [00:13<00:17, 1.81it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.98it/s][A
47%|████▋ | 26/55 [00:15<00:18, 1.53it/s][A
49%|████▉ | 27/55 [00:15<00:15, 1.84it/s][A
-
51%|█████ | 28/55 [00:16<00:15, 1.69it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.61it/s][A
-
55%|█████▍ | 30/55 [00:17<00:13, 1.90it/s][A
+
51%|█████ | 28/55 [00:16<00:16, 1.68it/s][A
+
53%|█████▎ | 29/55 [00:16<00:16, 1.60it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.91it/s][A
56%|█████▋ | 31/55 [00:18<00:16, 1.48it/s][A
58%|█████▊ | 32/55 [00:18<00:13, 1.70it/s][A
-
60%|██████ | 33/55 [00:18<00:10, 2.02it/s][A
+
60%|██████ | 33/55 [00:18<00:10, 2.01it/s][A
62%|██████▏ | 34/55 [00:19<00:13, 1.51it/s][A
-
64%|██████▎ | 35/55 [00:20<00:10, 1.83it/s][A
-
65%|██████▌ | 36/55 [00:20<00:09, 2.01it/s][A
-
67%|██████▋ | 37/55 [00:21<00:11, 1.54it/s][A
-
69%|██████▉ | 38/55 [00:21<00:09, 1.85it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.81it/s][A
+
65%|██████▌ | 36/55 [00:20<00:09, 1.98it/s][A
+
67%|██████▋ | 37/55 [00:21<00:11, 1.52it/s][A
+
69%|██████▉ | 38/55 [00:21<00:09, 1.83it/s][A
71%|███████ | 39/55 [00:22<00:09, 1.69it/s][A
-
73%|███████▎ | 40/55 [00:23<00:09, 1.61it/s][A
+
73%|███████▎ | 40/55 [00:23<00:09, 1.62it/s][A
75%|███████▍ | 41/55 [00:23<00:07, 1.92it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.50it/s][A
-
78%|███████▊ | 43/55 [00:24<00:07, 1.70it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 1.93it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.50it/s][A
-
84%|████████▎ | 46/55 [00:26<00:04, 1.81it/s][A
-
85%|████████▌ | 47/55 [00:26<00:04, 1.98it/s][A
-
87%|████████▋ | 48/55 [00:27<00:04, 1.53it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.84it/s][A
-
91%|█████████ | 50/55 [00:28<00:02, 1.69it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
-
95%|█████████▍| 52/55 [00:29<00:01, 1.92it/s][A
-
96%|█████████▋| 53/55 [00:30<00:01, 1.50it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.71it/s][A
-
100%|██████████| 55/55 [00:31<00:00, 1.96it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.74it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.13s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.14s/frame]
+
76%|███████▋ | 42/55 [00:24<00:08, 1.49it/s][A
+
78%|███████▊ | 43/55 [00:24<00:07, 1.69it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 1.94it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.48it/s][A
+
84%|████████▎ | 46/55 [00:26<00:05, 1.78it/s][A
+
85%|████████▌ | 47/55 [00:27<00:04, 1.96it/s][A
+
87%|████████▋ | 48/55 [00:28<00:04, 1.50it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.81it/s][A
+
91%|█████████ | 50/55 [00:29<00:02, 1.68it/s][A
+
93%|█████████▎| 51/55 [00:29<00:02, 1.60it/s][A
+
95%|█████████▍| 52/55 [00:30<00:01, 1.90it/s][A
+
96%|█████████▋| 53/55 [00:31<00:01, 1.49it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.70it/s][A
+
100%|██████████| 55/55 [00:31<00:00, 1.94it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.73it/s]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.28s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.28s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:29, 1.86it/s][A
+
2%|▏ | 1/55 [00:00<00:29, 1.83it/s][A
4%|▎ | 2/55 [00:00<00:23, 2.27it/s][A
-
5%|▌ | 3/55 [00:01<00:21, 2.42it/s][A
-
7%|▋ | 4/55 [00:02<00:33, 1.54it/s][A
-
9%|▉ | 5/55 [00:02<00:26, 1.92it/s][A
+
5%|▌ | 3/55 [00:01<00:21, 2.41it/s][A
+
7%|▋ | 4/55 [00:02<00:33, 1.53it/s][A
+
9%|▉ | 5/55 [00:02<00:26, 1.90it/s][A
11%|█ | 6/55 [00:03<00:28, 1.71it/s][A
-
13%|█▎ | 7/55 [00:03<00:29, 1.62it/s][A
-
15%|█▍ | 8/55 [00:04<00:24, 1.94it/s][A
+
13%|█▎ | 7/55 [00:04<00:29, 1.62it/s][A
+
15%|█▍ | 8/55 [00:04<00:23, 1.96it/s][A
16%|█▋ | 9/55 [00:05<00:30, 1.49it/s][A
18%|█▊ | 10/55 [00:05<00:26, 1.72it/s][A
20%|██ | 11/55 [00:06<00:22, 1.95it/s][A
-
22%|██▏ | 12/55 [00:07<00:28, 1.48it/s][A
-
24%|██▎ | 13/55 [00:07<00:23, 1.80it/s][A
-
25%|██▌ | 14/55 [00:07<00:20, 1.98it/s][A
-
27%|██▋ | 15/55 [00:08<00:26, 1.53it/s][A
-
29%|██▉ | 16/55 [00:09<00:21, 1.83it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.68it/s][A
-
33%|███▎ | 18/55 [00:10<00:23, 1.60it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.91it/s][A
+
22%|██▏ | 12/55 [00:07<00:28, 1.49it/s][A
+
24%|██▎ | 13/55 [00:07<00:23, 1.79it/s][A
+
25%|██▌ | 14/55 [00:07<00:20, 1.95it/s][A
+
27%|██▋ | 15/55 [00:08<00:26, 1.50it/s][A
+
29%|██▉ | 16/55 [00:09<00:21, 1.80it/s][A
+
31%|███ | 17/55 [00:09<00:22, 1.67it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.59it/s][A
+
35%|███▍ | 19/55 [00:10<00:19, 1.89it/s][A
36%|███▋ | 20/55 [00:11<00:23, 1.49it/s][A
-
38%|███▊ | 21/55 [00:12<00:20, 1.69it/s][A
+
38%|███▊ | 21/55 [00:12<00:20, 1.68it/s][A
40%|████ | 22/55 [00:12<00:17, 1.91it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.48it/s][A
-
44%|████▎ | 24/55 [00:13<00:18, 1.72it/s][A
-
45%|████▌ | 25/55 [00:14<00:15, 1.91it/s][A
-
47%|████▋ | 26/55 [00:15<00:19, 1.49it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.47it/s][A
+
44%|████▎ | 24/55 [00:13<00:18, 1.71it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.92it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.50it/s][A
49%|████▉ | 27/55 [00:15<00:15, 1.80it/s][A
51%|█████ | 28/55 [00:16<00:16, 1.67it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.59it/s][A
+
53%|█████▎ | 29/55 [00:17<00:16, 1.59it/s][A
55%|█████▍ | 30/55 [00:17<00:13, 1.90it/s][A
-
56%|█████▋ | 31/55 [00:18<00:16, 1.49it/s][A
-
58%|█████▊ | 32/55 [00:18<00:13, 1.70it/s][A
-
60%|██████ | 33/55 [00:18<00:11, 2.00it/s][A
-
62%|██████▏ | 34/55 [00:20<00:13, 1.51it/s][A
-
64%|██████▎ | 35/55 [00:20<00:11, 1.76it/s][A
-
65%|██████▌ | 36/55 [00:20<00:09, 1.96it/s][A
-
67%|██████▋ | 37/55 [00:21<00:11, 1.51it/s][A
-
69%|██████▉ | 38/55 [00:22<00:09, 1.82it/s][A
-
71%|███████ | 39/55 [00:22<00:09, 1.68it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.47it/s][A
+
58%|█████▊ | 32/55 [00:18<00:13, 1.68it/s][A
+
60%|██████ | 33/55 [00:19<00:11, 1.98it/s][A
+
62%|██████▏ | 34/55 [00:20<00:14, 1.49it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.74it/s][A
+
65%|██████▌ | 36/55 [00:20<00:09, 1.94it/s][A
+
67%|██████▋ | 37/55 [00:21<00:12, 1.49it/s][A
+
69%|██████▉ | 38/55 [00:22<00:09, 1.78it/s][A
+
71%|███████ | 39/55 [00:22<00:09, 1.67it/s][A
73%|███████▎ | 40/55 [00:23<00:09, 1.59it/s][A
-
75%|███████▍ | 41/55 [00:23<00:07, 1.90it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.48it/s][A
-
78%|███████▊ | 43/55 [00:25<00:07, 1.69it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 1.99it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.51it/s][A
-
84%|████████▎ | 46/55 [00:26<00:04, 1.82it/s][A
-
85%|████████▌ | 47/55 [00:27<00:04, 1.98it/s][A
-
87%|████████▋ | 48/55 [00:28<00:04, 1.53it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.84it/s][A
+
75%|███████▍ | 41/55 [00:23<00:07, 1.89it/s][A
+
76%|███████▋ | 42/55 [00:24<00:08, 1.47it/s][A
+
78%|███████▊ | 43/55 [00:25<00:07, 1.68it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 1.98it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.48it/s][A
+
84%|████████▎ | 46/55 [00:26<00:05, 1.80it/s][A
+
85%|████████▌ | 47/55 [00:27<00:04, 1.95it/s][A
+
87%|████████▋ | 48/55 [00:28<00:04, 1.52it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.82it/s][A
91%|█████████ | 50/55 [00:29<00:02, 1.69it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
-
95%|█████████▍| 52/55 [00:30<00:01, 1.92it/s][A
-
96%|█████████▋| 53/55 [00:31<00:01, 1.50it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.70it/s][A
-
100%|██████████| 55/55 [00:31<00:00, 1.92it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.72it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.49s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.49s/frame]
+
93%|█████████▎| 51/55 [00:30<00:02, 1.61it/s][A
+
95%|█████████▍| 52/55 [00:30<00:01, 1.90it/s][A
+
96%|█████████▋| 53/55 [00:31<00:01, 1.48it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.69it/s][A
+
100%|██████████| 55/55 [00:32<00:00, 1.89it/s][A
100%|██████████| 55/55 [00:32<00:00, 1.71it/s]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.59s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.59s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:29, 1.84it/s][A
-
4%|▎ | 2/55 [00:00<00:22, 2.32it/s][A
-
5%|▌ | 3/55 [00:01<00:21, 2.45it/s][A
-
7%|▋ | 4/55 [00:02<00:32, 1.55it/s][A
-
9%|▉ | 5/55 [00:02<00:25, 1.94it/s][A
-
11%|█ | 6/55 [00:03<00:28, 1.73it/s][A
-
13%|█▎ | 7/55 [00:03<00:29, 1.64it/s][A
-
15%|█▍ | 8/55 [00:04<00:23, 1.97it/s][A
-
16%|█▋ | 9/55 [00:05<00:30, 1.51it/s][A
-
18%|█▊ | 10/55 [00:05<00:25, 1.73it/s][A
-
20%|██ | 11/55 [00:05<00:21, 2.04it/s][A
-
22%|██▏ | 12/55 [00:06<00:28, 1.52it/s][A
-
24%|██▎ | 13/55 [00:07<00:23, 1.76it/s][A
-
25%|██▌ | 14/55 [00:07<00:20, 1.96it/s][A
-
27%|██▋ | 15/55 [00:08<00:26, 1.51it/s][A
-
29%|██▉ | 16/55 [00:08<00:21, 1.82it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.68it/s][A
-
33%|███▎ | 18/55 [00:10<00:22, 1.61it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.92it/s][A
-
36%|███▋ | 20/55 [00:11<00:23, 1.50it/s][A
-
38%|███▊ | 21/55 [00:12<00:19, 1.71it/s][A
-
40%|████ | 22/55 [00:12<00:16, 2.02it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.52it/s][A
-
44%|████▎ | 24/55 [00:13<00:17, 1.82it/s][A
-
45%|████▌ | 25/55 [00:14<00:14, 2.00it/s][A
-
47%|████▋ | 26/55 [00:15<00:18, 1.53it/s][A
-
49%|████▉ | 27/55 [00:15<00:15, 1.85it/s][A
-
51%|█████ | 28/55 [00:16<00:15, 1.70it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.61it/s][A
-
55%|█████▍ | 30/55 [00:17<00:12, 1.94it/s][A
-
56%|█████▋ | 31/55 [00:18<00:15, 1.51it/s][A
-
58%|█████▊ | 32/55 [00:18<00:13, 1.72it/s][A
-
60%|██████ | 33/55 [00:18<00:10, 2.03it/s][A
-
62%|██████▏ | 34/55 [00:19<00:13, 1.53it/s][A
-
64%|██████▎ | 35/55 [00:20<00:10, 1.83it/s][A
-
65%|██████▌ | 36/55 [00:20<00:09, 2.00it/s][A
-
67%|██████▋ | 37/55 [00:21<00:11, 1.54it/s][A
-
69%|██████▉ | 38/55 [00:21<00:09, 1.84it/s][A
-
71%|███████ | 39/55 [00:22<00:09, 1.70it/s][A
-
73%|███████▎ | 40/55 [00:23<00:09, 1.62it/s][A
-
75%|███████▍ | 41/55 [00:23<00:07, 1.94it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.50it/s][A
-
78%|███████▊ | 43/55 [00:24<00:07, 1.71it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 2.01it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.52it/s][A
-
84%|████████▎ | 46/55 [00:26<00:05, 1.76it/s][A
-
85%|████████▌ | 47/55 [00:26<00:04, 1.93it/s][A
-
87%|████████▋ | 48/55 [00:27<00:04, 1.51it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.82it/s][A
-
91%|█████████ | 50/55 [00:28<00:02, 1.69it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
-
95%|█████████▍| 52/55 [00:29<00:01, 1.92it/s][A
-
96%|█████████▋| 53/55 [00:30<00:01, 1.50it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.72it/s][A
-
100%|██████████| 55/55 [00:31<00:00, 1.93it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.74it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.16s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.17s/frame]
+
2%|▏ | 1/55 [00:00<00:29, 1.83it/s][A
+
4%|▎ | 2/55 [00:00<00:23, 2.30it/s][A
+
5%|▌ | 3/55 [00:01<00:21, 2.44it/s][A
+
7%|▋ | 4/55 [00:02<00:33, 1.52it/s][A
+
9%|▉ | 5/55 [00:02<00:26, 1.90it/s][A
+
11%|█ | 6/55 [00:03<00:28, 1.71it/s][A
+
13%|█▎ | 7/55 [00:04<00:29, 1.61it/s][A
+
15%|█▍ | 8/55 [00:04<00:24, 1.94it/s][A
+
16%|█▋ | 9/55 [00:05<00:30, 1.50it/s][A
+
18%|█▊ | 10/55 [00:05<00:26, 1.71it/s][A
+
20%|██ | 11/55 [00:06<00:21, 2.00it/s][A
+
22%|██▏ | 12/55 [00:07<00:28, 1.50it/s][A
+
24%|██▎ | 13/55 [00:07<00:24, 1.74it/s][A
+
25%|██▌ | 14/55 [00:07<00:21, 1.92it/s][A
+
27%|██▋ | 15/55 [00:08<00:27, 1.48it/s][A
+
29%|██▉ | 16/55 [00:09<00:21, 1.78it/s][A
+
31%|███ | 17/55 [00:09<00:22, 1.66it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.59it/s][A
+
35%|███▍ | 19/55 [00:10<00:19, 1.89it/s][A
+
36%|███▋ | 20/55 [00:11<00:23, 1.46it/s][A
+
38%|███▊ | 21/55 [00:12<00:20, 1.67it/s][A
+
40%|████ | 22/55 [00:12<00:16, 1.95it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.48it/s][A
+
44%|████▎ | 24/55 [00:13<00:17, 1.78it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.94it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.49it/s][A
+
49%|████▉ | 27/55 [00:15<00:15, 1.78it/s][A
+
51%|█████ | 28/55 [00:16<00:16, 1.66it/s][A
+
53%|█████▎ | 29/55 [00:17<00:16, 1.58it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.88it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.46it/s][A
+
58%|█████▊ | 32/55 [00:18<00:13, 1.66it/s][A
+
60%|██████ | 33/55 [00:19<00:11, 1.96it/s][A
+
62%|██████▏ | 34/55 [00:20<00:14, 1.49it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.79it/s][A
+
65%|██████▌ | 36/55 [00:20<00:09, 1.95it/s][A
+
67%|██████▋ | 37/55 [00:21<00:11, 1.51it/s][A
+
69%|██████▉ | 38/55 [00:22<00:09, 1.83it/s][A
+
71%|███████ | 39/55 [00:22<00:09, 1.68it/s][A
+
73%|███████▎ | 40/55 [00:23<00:09, 1.60it/s][A
+
75%|███████▍ | 41/55 [00:23<00:07, 1.90it/s][A
+
76%|███████▋ | 42/55 [00:24<00:08, 1.47it/s][A
+
78%|███████▊ | 43/55 [00:25<00:07, 1.68it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 1.98it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.49it/s][A
+
84%|████████▎ | 46/55 [00:27<00:05, 1.73it/s][A
+
85%|████████▌ | 47/55 [00:27<00:04, 1.91it/s][A
+
87%|████████▋ | 48/55 [00:28<00:04, 1.49it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.79it/s][A
+
91%|█████████ | 50/55 [00:29<00:03, 1.66it/s][A
+
93%|█████████▎| 51/55 [00:30<00:02, 1.59it/s][A
+
95%|█████████▍| 52/55 [00:30<00:01, 1.90it/s][A
+
96%|█████████▋| 53/55 [00:31<00:01, 1.49it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.68it/s][A
+
100%|██████████| 55/55 [00:32<00:00, 1.88it/s][A
100%|██████████| 55/55 [00:32<00:00, 1.71it/s]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.68s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.68s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:28, 1.89it/s][A
-
4%|▎ | 2/55 [00:00<00:20, 2.58it/s][A
+
2%|▏ | 1/55 [00:00<00:28, 1.86it/s][A
+
4%|▎ | 2/55 [00:00<00:21, 2.50it/s][A
5%|▌ | 3/55 [00:01<00:20, 2.54it/s][A
7%|▋ | 4/55 [00:02<00:32, 1.56it/s][A
-
9%|▉ | 5/55 [00:02<00:25, 1.93it/s][A
-
11%|█ | 6/55 [00:03<00:28, 1.72it/s][A
-
13%|█▎ | 7/55 [00:03<00:29, 1.62it/s][A
-
15%|█▍ | 8/55 [00:04<00:24, 1.95it/s][A
+
9%|▉ | 5/55 [00:02<00:25, 1.94it/s][A
+
11%|█ | 6/55 [00:03<00:28, 1.71it/s][A
+
13%|█▎ | 7/55 [00:03<00:29, 1.61it/s][A
+
15%|█▍ | 8/55 [00:04<00:24, 1.94it/s][A
16%|█▋ | 9/55 [00:05<00:30, 1.49it/s][A
-
18%|█▊ | 10/55 [00:05<00:26, 1.71it/s][A
+
18%|█▊ | 10/55 [00:05<00:26, 1.70it/s][A
20%|██ | 11/55 [00:05<00:21, 2.02it/s][A
-
22%|██▏ | 12/55 [00:06<00:28, 1.52it/s][A
-
24%|██▎ | 13/55 [00:07<00:22, 1.83it/s][A
-
25%|██▌ | 14/55 [00:07<00:20, 2.01it/s][A
-
27%|██▋ | 15/55 [00:08<00:25, 1.54it/s][A
-
29%|██▉ | 16/55 [00:08<00:21, 1.85it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.70it/s][A
-
33%|███▎ | 18/55 [00:10<00:22, 1.62it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.92it/s][A
+
22%|██▏ | 12/55 [00:07<00:28, 1.50it/s][A
+
24%|██▎ | 13/55 [00:07<00:23, 1.82it/s][A
+
25%|██▌ | 14/55 [00:07<00:20, 2.00it/s][A
+
27%|██▋ | 15/55 [00:08<00:26, 1.52it/s][A
+
29%|██▉ | 16/55 [00:08<00:21, 1.84it/s][A
+
31%|███ | 17/55 [00:09<00:22, 1.68it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.60it/s][A
+
35%|███▍ | 19/55 [00:10<00:18, 1.91it/s][A
36%|███▋ | 20/55 [00:11<00:23, 1.49it/s][A
38%|███▊ | 21/55 [00:12<00:19, 1.71it/s][A
-
40%|████ | 22/55 [00:12<00:16, 2.02it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.51it/s][A
-
44%|████▎ | 24/55 [00:13<00:17, 1.75it/s][A
-
45%|████▌ | 25/55 [00:14<00:15, 1.95it/s][A
-
47%|████▋ | 26/55 [00:15<00:19, 1.51it/s][A
+
40%|████ | 22/55 [00:12<00:16, 2.01it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.50it/s][A
+
44%|████▎ | 24/55 [00:13<00:17, 1.74it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.93it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.50it/s][A
49%|████▉ | 27/55 [00:15<00:15, 1.81it/s][A
-
51%|█████ | 28/55 [00:16<00:16, 1.68it/s][A
+
51%|█████ | 28/55 [00:16<00:16, 1.69it/s][A
53%|█████▎ | 29/55 [00:16<00:16, 1.60it/s][A
-
55%|█████▍ | 30/55 [00:17<00:13, 1.91it/s][A
-
56%|█████▋ | 31/55 [00:18<00:16, 1.49it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.92it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.48it/s][A
58%|█████▊ | 32/55 [00:18<00:13, 1.69it/s][A
60%|██████ | 33/55 [00:18<00:11, 1.99it/s][A
-
62%|██████▏ | 34/55 [00:19<00:13, 1.51it/s][A
-
64%|██████▎ | 35/55 [00:20<00:10, 1.82it/s][A
-
65%|██████▌ | 36/55 [00:20<00:09, 1.99it/s][A
-
67%|██████▋ | 37/55 [00:21<00:11, 1.53it/s][A
-
69%|██████▉ | 38/55 [00:21<00:09, 1.83it/s][A
-
71%|███████ | 39/55 [00:22<00:09, 1.70it/s][A
-
73%|███████▎ | 40/55 [00:23<00:09, 1.60it/s][A
+
62%|██████▏ | 34/55 [00:19<00:14, 1.50it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.79it/s][A
+
65%|██████▌ | 36/55 [00:20<00:09, 1.97it/s][A
+
67%|██████▋ | 37/55 [00:21<00:11, 1.51it/s][A
+
69%|██████▉ | 38/55 [00:21<00:09, 1.81it/s][A
+
71%|███████ | 39/55 [00:22<00:09, 1.69it/s][A
+
73%|███████▎ | 40/55 [00:23<00:09, 1.59it/s][A
75%|███████▍ | 41/55 [00:23<00:07, 1.92it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.50it/s][A
-
78%|███████▊ | 43/55 [00:24<00:07, 1.70it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 2.00it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.49it/s][A
-
84%|████████▎ | 46/55 [00:26<00:05, 1.80it/s][A
-
85%|████████▌ | 47/55 [00:26<00:04, 1.96it/s][A
-
87%|████████▋ | 48/55 [00:27<00:04, 1.51it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.82it/s][A
-
91%|█████████ | 50/55 [00:28<00:02, 1.69it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
-
95%|█████████▍| 52/55 [00:29<00:01, 1.91it/s][A
-
96%|█████████▋| 53/55 [00:30<00:01, 1.49it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.71it/s][A
-
100%|██████████| 55/55 [00:31<00:00, 1.92it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.74it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.25s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.25s/frame]
+
76%|███████▋ | 42/55 [00:24<00:08, 1.51it/s][A
+
78%|███████▊ | 43/55 [00:24<00:06, 1.74it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 2.07it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.55it/s][A
+
84%|████████▎ | 46/55 [00:26<00:04, 1.88it/s][A
+
85%|████████▌ | 47/55 [00:26<00:03, 2.09it/s][A
+
87%|████████▋ | 48/55 [00:27<00:04, 1.59it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.93it/s][A
+
91%|█████████ | 50/55 [00:28<00:02, 1.77it/s][A
+
93%|█████████▎| 51/55 [00:29<00:02, 1.67it/s][A
+
95%|█████████▍| 52/55 [00:29<00:01, 2.01it/s][A
+
96%|█████████▋| 53/55 [00:30<00:01, 1.52it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.73it/s][A
+
100%|██████████| 55/55 [00:31<00:00, 1.93it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.74it/s]
+
Processing frames: 100%|██████████| 1/1 [00:31<00:00, 31.99s/frame]
Processing frames: 100%|██████████| 1/1 [00:31<00:00, 31.99s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:31, 1.73it/s][A
-
4%|▎ | 2/55 [00:00<00:21, 2.44it/s][A
-
5%|▌ | 3/55 [00:01<00:21, 2.47it/s][A
-
7%|▋ | 4/55 [00:02<00:33, 1.54it/s][A
+
2%|▏ | 1/55 [00:00<00:31, 1.71it/s][A
+
4%|▎ | 2/55 [00:00<00:21, 2.43it/s][A
+
5%|▌ | 3/55 [00:01<00:20, 2.52it/s][A
+
7%|▋ | 4/55 [00:02<00:32, 1.55it/s][A
9%|▉ | 5/55 [00:02<00:26, 1.92it/s][A
11%|█ | 6/55 [00:03<00:28, 1.72it/s][A
-
13%|█▎ | 7/55 [00:03<00:29, 1.62it/s][A
-
15%|█▍ | 8/55 [00:04<00:24, 1.94it/s][A
-
16%|█▋ | 9/55 [00:05<00:30, 1.49it/s][A
+
13%|█▎ | 7/55 [00:03<00:29, 1.61it/s][A
+
15%|█▍ | 8/55 [00:04<00:24, 1.93it/s][A
+
16%|█▋ | 9/55 [00:05<00:31, 1.48it/s][A
18%|█▊ | 10/55 [00:05<00:26, 1.71it/s][A
20%|██ | 11/55 [00:06<00:22, 1.94it/s][A
-
22%|██▏ | 12/55 [00:07<00:28, 1.49it/s][A
+
22%|██▏ | 12/55 [00:07<00:29, 1.48it/s][A
24%|██▎ | 13/55 [00:07<00:24, 1.72it/s][A
25%|██▌ | 14/55 [00:07<00:21, 1.90it/s][A
27%|██▋ | 15/55 [00:08<00:26, 1.49it/s][A
-
29%|██▉ | 16/55 [00:09<00:21, 1.80it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.67it/s][A
-
33%|███▎ | 18/55 [00:10<00:23, 1.60it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.90it/s][A
-
36%|███▋ | 20/55 [00:11<00:23, 1.50it/s][A
-
38%|███▊ | 21/55 [00:12<00:19, 1.71it/s][A
-
40%|████ | 22/55 [00:12<00:17, 1.93it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.49it/s][A
-
44%|████▎ | 24/55 [00:13<00:17, 1.79it/s][A
-
45%|████▌ | 25/55 [00:14<00:15, 1.97it/s][A
-
47%|████▋ | 26/55 [00:15<00:19, 1.52it/s][A
-
49%|████▉ | 27/55 [00:15<00:15, 1.82it/s][A
+
29%|██▉ | 16/55 [00:09<00:21, 1.79it/s][A
+
31%|███ | 17/55 [00:09<00:23, 1.65it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.58it/s][A
+
35%|███▍ | 19/55 [00:10<00:19, 1.88it/s][A
+
36%|███▋ | 20/55 [00:11<00:23, 1.48it/s][A
+
38%|███▊ | 21/55 [00:12<00:20, 1.69it/s][A
+
40%|████ | 22/55 [00:12<00:17, 1.90it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.46it/s][A
+
44%|████▎ | 24/55 [00:14<00:17, 1.76it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.93it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.50it/s][A
+
49%|████▉ | 27/55 [00:15<00:15, 1.81it/s][A
51%|█████ | 28/55 [00:16<00:16, 1.68it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.60it/s][A
-
55%|█████▍ | 30/55 [00:17<00:13, 1.90it/s][A
-
56%|█████▋ | 31/55 [00:18<00:16, 1.49it/s][A
-
58%|█████▊ | 32/55 [00:18<00:13, 1.69it/s][A
-
60%|██████ | 33/55 [00:18<00:11, 1.99it/s][A
+
53%|█████▎ | 29/55 [00:17<00:16, 1.58it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.89it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.48it/s][A
+
58%|█████▊ | 32/55 [00:18<00:13, 1.70it/s][A
+
60%|██████ | 33/55 [00:19<00:11, 2.00it/s][A
62%|██████▏ | 34/55 [00:20<00:13, 1.51it/s][A
-
64%|██████▎ | 35/55 [00:20<00:11, 1.82it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.80it/s][A
65%|██████▌ | 36/55 [00:20<00:09, 1.98it/s][A
-
67%|██████▋ | 37/55 [00:21<00:11, 1.53it/s][A
-
69%|██████▉ | 38/55 [00:22<00:09, 1.83it/s][A
-
71%|███████ | 39/55 [00:22<00:09, 1.70it/s][A
-
73%|███████▎ | 40/55 [00:23<00:09, 1.61it/s][A
-
75%|███████▍ | 41/55 [00:23<00:07, 1.92it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.50it/s][A
-
78%|███████▊ | 43/55 [00:25<00:07, 1.71it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 2.02it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.52it/s][A
-
84%|████████▎ | 46/55 [00:26<00:04, 1.82it/s][A
-
85%|████████▌ | 47/55 [00:27<00:04, 2.00it/s][A
-
87%|████████▋ | 48/55 [00:28<00:04, 1.54it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.85it/s][A
-
91%|█████████ | 50/55 [00:29<00:02, 1.70it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
-
95%|█████████▍| 52/55 [00:30<00:01, 1.93it/s][A
-
96%|█████████▋| 53/55 [00:31<00:01, 1.51it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.72it/s][A
-
100%|██████████| 55/55 [00:31<00:00, 1.88it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.73it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.42s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.42s/frame]
+
67%|██████▋ | 37/55 [00:21<00:11, 1.51it/s][A
+
69%|██████▉ | 38/55 [00:22<00:09, 1.80it/s][A
+
71%|███████ | 39/55 [00:22<00:09, 1.67it/s][A
+
73%|███████▎ | 40/55 [00:23<00:09, 1.58it/s][A
+
75%|███████▍ | 41/55 [00:23<00:07, 1.88it/s][A
+
76%|███████▋ | 42/55 [00:24<00:08, 1.48it/s][A
+
78%|███████▊ | 43/55 [00:25<00:07, 1.68it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 1.98it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.50it/s][A
+
84%|████████▎ | 46/55 [00:26<00:05, 1.80it/s][A
+
85%|████████▌ | 47/55 [00:27<00:04, 1.97it/s][A
+
87%|████████▋ | 48/55 [00:28<00:04, 1.51it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.81it/s][A
+
91%|█████████ | 50/55 [00:29<00:03, 1.67it/s][A
+
93%|█████████▎| 51/55 [00:30<00:02, 1.59it/s][A
+
95%|█████████▍| 52/55 [00:30<00:01, 1.89it/s][A
+
96%|█████████▋| 53/55 [00:31<00:01, 1.48it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.70it/s][A
+
100%|██████████| 55/55 [00:32<00:00, 1.85it/s][A
100%|██████████| 55/55 [00:32<00:00, 1.71it/s]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.63s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.63s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:29, 1.81it/s][A
-
4%|▎ | 2/55 [00:00<00:21, 2.50it/s][A
-
5%|▌ | 3/55 [00:01<00:20, 2.50it/s][A
+
2%|▏ | 1/55 [00:00<00:28, 1.87it/s][A
+
4%|▎ | 2/55 [00:00<00:20, 2.60it/s][A
+
5%|▌ | 3/55 [00:01<00:20, 2.56it/s][A
7%|▋ | 4/55 [00:02<00:32, 1.57it/s][A
-
9%|▉ | 5/55 [00:02<00:25, 1.95it/s][A
+
9%|▉ | 5/55 [00:02<00:25, 1.96it/s][A
11%|█ | 6/55 [00:03<00:27, 1.76it/s][A
-
13%|█▎ | 7/55 [00:03<00:29, 1.62it/s][A
-
15%|█▍ | 8/55 [00:04<00:23, 1.96it/s][A
+
13%|█▎ | 7/55 [00:03<00:29, 1.64it/s][A
+
15%|█▍ | 8/55 [00:04<00:23, 1.98it/s][A
16%|█▋ | 9/55 [00:05<00:30, 1.50it/s][A
18%|█▊ | 10/55 [00:05<00:26, 1.71it/s][A
-
20%|██ | 11/55 [00:05<00:21, 2.02it/s][A
-
22%|██▏ | 12/55 [00:06<00:28, 1.52it/s][A
-
24%|██▎ | 13/55 [00:07<00:22, 1.83it/s][A
-
25%|██▌ | 14/55 [00:07<00:20, 2.01it/s][A
-
27%|██▋ | 15/55 [00:08<00:26, 1.53it/s][A
-
29%|██▉ | 16/55 [00:08<00:21, 1.84it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.71it/s][A
-
33%|███▎ | 18/55 [00:10<00:22, 1.62it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.95it/s][A
-
36%|███▋ | 20/55 [00:11<00:23, 1.51it/s][A
-
38%|███▊ | 21/55 [00:11<00:19, 1.71it/s][A
-
40%|████ | 22/55 [00:12<00:17, 1.94it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.48it/s][A
-
44%|████▎ | 24/55 [00:13<00:17, 1.78it/s][A
-
45%|████▌ | 25/55 [00:14<00:15, 1.95it/s][A
-
47%|████▋ | 26/55 [00:15<00:19, 1.52it/s][A
-
49%|████▉ | 27/55 [00:15<00:15, 1.82it/s][A
-
51%|█████ | 28/55 [00:16<00:16, 1.68it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.62it/s][A
-
55%|█████▍ | 30/55 [00:17<00:12, 1.93it/s][A
-
56%|█████▋ | 31/55 [00:18<00:16, 1.50it/s][A
+
20%|██ | 11/55 [00:05<00:21, 2.03it/s][A
+
22%|██▏ | 12/55 [00:06<00:28, 1.50it/s][A
+
24%|██▎ | 13/55 [00:07<00:23, 1.80it/s][A
+
25%|██▌ | 14/55 [00:07<00:20, 1.99it/s][A
+
27%|██▋ | 15/55 [00:08<00:26, 1.52it/s][A
+
29%|██▉ | 16/55 [00:08<00:21, 1.82it/s][A
+
31%|███ | 17/55 [00:09<00:22, 1.69it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.60it/s][A
+
35%|███▍ | 19/55 [00:10<00:18, 1.92it/s][A
+
36%|███▋ | 20/55 [00:11<00:23, 1.50it/s][A
+
38%|███▊ | 21/55 [00:11<00:19, 1.72it/s][A
+
40%|████ | 22/55 [00:12<00:16, 1.95it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.49it/s][A
+
44%|████▎ | 24/55 [00:13<00:17, 1.80it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.97it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.51it/s][A
+
49%|████▉ | 27/55 [00:15<00:15, 1.81it/s][A
+
51%|█████ | 28/55 [00:16<00:16, 1.66it/s][A
+
53%|█████▎ | 29/55 [00:16<00:16, 1.60it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.92it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.49it/s][A
58%|█████▊ | 32/55 [00:18<00:13, 1.71it/s][A
60%|██████ | 33/55 [00:18<00:10, 2.02it/s][A
-
62%|██████▏ | 34/55 [00:19<00:13, 1.53it/s][A
+
62%|██████▏ | 34/55 [00:19<00:13, 1.51it/s][A
64%|██████▎ | 35/55 [00:20<00:10, 1.83it/s][A
-
65%|██████▌ | 36/55 [00:20<00:09, 2.00it/s][A
+
65%|██████▌ | 36/55 [00:20<00:09, 1.99it/s][A
67%|██████▋ | 37/55 [00:21<00:11, 1.53it/s][A
69%|██████▉ | 38/55 [00:21<00:09, 1.85it/s][A
71%|███████ | 39/55 [00:22<00:09, 1.69it/s][A
-
73%|███████▎ | 40/55 [00:23<00:09, 1.61it/s][A
-
75%|███████▍ | 41/55 [00:23<00:07, 1.93it/s][A
+
73%|███████▎ | 40/55 [00:23<00:09, 1.62it/s][A
+
75%|███████▍ | 41/55 [00:23<00:07, 1.92it/s][A
76%|███████▋ | 42/55 [00:24<00:08, 1.50it/s][A
78%|███████▊ | 43/55 [00:24<00:07, 1.71it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 2.02it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.52it/s][A
-
84%|████████▎ | 46/55 [00:26<00:04, 1.82it/s][A
-
85%|████████▌ | 47/55 [00:26<00:04, 1.99it/s][A
-
87%|████████▋ | 48/55 [00:27<00:04, 1.53it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.84it/s][A
-
91%|█████████ | 50/55 [00:28<00:02, 1.70it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 2.01it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.50it/s][A
+
84%|████████▎ | 46/55 [00:26<00:04, 1.81it/s][A
+
85%|████████▌ | 47/55 [00:26<00:04, 1.98it/s][A
+
87%|████████▋ | 48/55 [00:27<00:04, 1.52it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.83it/s][A
+
91%|█████████ | 50/55 [00:28<00:02, 1.69it/s][A
+
93%|█████████▎| 51/55 [00:29<00:02, 1.62it/s][A
95%|█████████▍| 52/55 [00:29<00:01, 1.93it/s][A
96%|█████████▋| 53/55 [00:30<00:01, 1.50it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.70it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.71it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.94it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.74it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.11s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.11s/frame]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.00s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.00s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:29, 1.80it/s][A
-
4%|▎ | 2/55 [00:00<00:21, 2.49it/s][A
-
5%|▌ | 3/55 [00:01<00:20, 2.48it/s][A
-
7%|▋ | 4/55 [00:02<00:32, 1.56it/s][A
-
9%|▉ | 5/55 [00:02<00:25, 1.94it/s][A
-
11%|█ | 6/55 [00:03<00:28, 1.72it/s][A
-
13%|█▎ | 7/55 [00:03<00:29, 1.62it/s][A
-
15%|█▍ | 8/55 [00:04<00:24, 1.95it/s][A
-
16%|█▋ | 9/55 [00:05<00:30, 1.50it/s][A
-
18%|█▊ | 10/55 [00:05<00:26, 1.73it/s][A
-
20%|██ | 11/55 [00:05<00:22, 1.95it/s][A
-
22%|██▏ | 12/55 [00:07<00:28, 1.49it/s][A
-
24%|██▎ | 13/55 [00:07<00:24, 1.73it/s][A
-
25%|██▌ | 14/55 [00:07<00:21, 1.93it/s][A
-
27%|██▋ | 15/55 [00:08<00:26, 1.50it/s][A
-
29%|██▉ | 16/55 [00:09<00:21, 1.81it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.67it/s][A
-
33%|███▎ | 18/55 [00:10<00:23, 1.59it/s][A
-
35%|███▍ | 19/55 [00:10<00:18, 1.90it/s][A
-
36%|███▋ | 20/55 [00:11<00:23, 1.50it/s][A
-
38%|███▊ | 21/55 [00:12<00:19, 1.70it/s][A
+
2%|▏ | 1/55 [00:00<00:30, 1.80it/s][A
+
4%|▎ | 2/55 [00:00<00:21, 2.44it/s][A
+
5%|▌ | 3/55 [00:01<00:21, 2.47it/s][A
+
7%|▋ | 4/55 [00:02<00:32, 1.55it/s][A
+
9%|▉ | 5/55 [00:02<00:25, 1.93it/s][A
+
11%|█ | 6/55 [00:03<00:28, 1.71it/s][A
+
13%|█▎ | 7/55 [00:03<00:29, 1.61it/s][A
+
15%|█▍ | 8/55 [00:04<00:24, 1.92it/s][A
+
16%|█▋ | 9/55 [00:05<00:31, 1.47it/s][A
+
18%|█▊ | 10/55 [00:05<00:26, 1.68it/s][A
+
20%|██ | 11/55 [00:06<00:23, 1.90it/s][A
+
22%|██▏ | 12/55 [00:07<00:29, 1.46it/s][A
+
24%|██▎ | 13/55 [00:07<00:24, 1.70it/s][A
+
25%|██▌ | 14/55 [00:07<00:21, 1.87it/s][A
+
27%|██▋ | 15/55 [00:08<00:27, 1.47it/s][A
+
29%|██▉ | 16/55 [00:09<00:22, 1.76it/s][A
+
31%|███ | 17/55 [00:09<00:23, 1.64it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.57it/s][A
+
35%|███▍ | 19/55 [00:10<00:19, 1.89it/s][A
+
36%|███▋ | 20/55 [00:11<00:23, 1.48it/s][A
+
38%|███▊ | 21/55 [00:12<00:20, 1.69it/s][A
40%|████ | 22/55 [00:12<00:17, 1.92it/s][A
42%|████▏ | 23/55 [00:13<00:21, 1.48it/s][A
-
44%|████▎ | 24/55 [00:13<00:17, 1.73it/s][A
+
44%|████▎ | 24/55 [00:14<00:17, 1.73it/s][A
45%|████▌ | 25/55 [00:14<00:15, 1.91it/s][A
-
47%|████▋ | 26/55 [00:15<00:19, 1.50it/s][A
-
49%|████▉ | 27/55 [00:15<00:15, 1.80it/s][A
-
51%|█████ | 28/55 [00:16<00:16, 1.68it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.60it/s][A
-
55%|█████▍ | 30/55 [00:17<00:13, 1.91it/s][A
-
56%|█████▋ | 31/55 [00:18<00:16, 1.50it/s][A
-
58%|█████▊ | 32/55 [00:18<00:13, 1.70it/s][A
-
60%|██████ | 33/55 [00:19<00:11, 1.93it/s][A
-
62%|██████▏ | 34/55 [00:20<00:14, 1.48it/s][A
-
64%|██████▎ | 35/55 [00:20<00:11, 1.72it/s][A
-
65%|██████▌ | 36/55 [00:20<00:10, 1.90it/s][A
-
67%|██████▋ | 37/55 [00:21<00:12, 1.49it/s][A
-
69%|██████▉ | 38/55 [00:22<00:09, 1.80it/s][A
-
71%|███████ | 39/55 [00:22<00:09, 1.68it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.49it/s][A
+
49%|████▉ | 27/55 [00:15<00:15, 1.78it/s][A
+
51%|█████ | 28/55 [00:16<00:16, 1.64it/s][A
+
53%|█████▎ | 29/55 [00:17<00:16, 1.56it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.86it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.47it/s][A
+
58%|█████▊ | 32/55 [00:18<00:13, 1.68it/s][A
+
60%|██████ | 33/55 [00:19<00:11, 1.90it/s][A
+
62%|██████▏ | 34/55 [00:20<00:14, 1.47it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.71it/s][A
+
65%|██████▌ | 36/55 [00:21<00:09, 1.90it/s][A
+
67%|██████▋ | 37/55 [00:22<00:12, 1.47it/s][A
+
69%|██████▉ | 38/55 [00:22<00:09, 1.77it/s][A
+
71%|███████ | 39/55 [00:23<00:09, 1.67it/s][A
73%|███████▎ | 40/55 [00:23<00:09, 1.58it/s][A
-
75%|███████▍ | 41/55 [00:23<00:07, 1.89it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.49it/s][A
+
75%|███████▍ | 41/55 [00:24<00:07, 1.87it/s][A
+
76%|███████▋ | 42/55 [00:25<00:08, 1.47it/s][A
78%|███████▊ | 43/55 [00:25<00:07, 1.69it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 2.00it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 1.99it/s][A
82%|████████▏ | 45/55 [00:26<00:06, 1.50it/s][A
-
84%|████████▎ | 46/55 [00:26<00:04, 1.81it/s][A
+
84%|████████▎ | 46/55 [00:27<00:05, 1.79it/s][A
85%|████████▌ | 47/55 [00:27<00:04, 1.98it/s][A
-
87%|████████▋ | 48/55 [00:28<00:04, 1.53it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.83it/s][A
-
91%|█████████ | 50/55 [00:29<00:02, 1.69it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.60it/s][A
-
95%|█████████▍| 52/55 [00:30<00:01, 1.90it/s][A
-
96%|█████████▋| 53/55 [00:31<00:01, 1.49it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.71it/s][A
-
100%|██████████| 55/55 [00:32<00:00, 1.91it/s][A
100%|██████████| 55/55 [00:32<00:00, 1.72it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.59s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.59s/frame]
+
87%|████████▋ | 48/55 [00:28<00:04, 1.50it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.81it/s][A
+
91%|█████████ | 50/55 [00:29<00:02, 1.68it/s][A
+
93%|█████████▎| 51/55 [00:30<00:02, 1.59it/s][A
+
95%|█████████▍| 52/55 [00:30<00:01, 1.89it/s][A
+
96%|█████████▋| 53/55 [00:31<00:01, 1.47it/s][A
+
98%|█████████▊| 54/55 [00:32<00:00, 1.67it/s][A
+
100%|██████████| 55/55 [00:32<00:00, 1.86it/s][A
100%|██████████| 55/55 [00:32<00:00, 1.70it/s]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.81s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.81s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:29, 1.84it/s][A
-
4%|▎ | 2/55 [00:00<00:21, 2.52it/s][A
-
5%|▌ | 3/55 [00:01<00:20, 2.54it/s][A
-
7%|▋ | 4/55 [00:02<00:32, 1.57it/s][A
+
2%|▏ | 1/55 [00:00<00:29, 1.86it/s][A
+
4%|▎ | 2/55 [00:00<00:20, 2.54it/s][A
+
5%|▌ | 3/55 [00:01<00:20, 2.52it/s][A
+
7%|▋ | 4/55 [00:02<00:32, 1.56it/s][A
9%|▉ | 5/55 [00:02<00:25, 1.95it/s][A
-
11%|█ | 6/55 [00:03<00:28, 1.74it/s][A
+
11%|█ | 6/55 [00:03<00:28, 1.73it/s][A
13%|█▎ | 7/55 [00:03<00:29, 1.63it/s][A
-
15%|█▍ | 8/55 [00:04<00:24, 1.96it/s][A
-
16%|█▋ | 9/55 [00:05<00:30, 1.51it/s][A
-
18%|█▊ | 10/55 [00:05<00:26, 1.73it/s][A
-
20%|██ | 11/55 [00:05<00:21, 2.04it/s][A
-
22%|██▏ | 12/55 [00:06<00:28, 1.52it/s][A
-
24%|██▎ | 13/55 [00:07<00:23, 1.76it/s][A
-
25%|██▌ | 14/55 [00:07<00:21, 1.95it/s][A
-
27%|██▋ | 15/55 [00:08<00:26, 1.51it/s][A
-
29%|██▉ | 16/55 [00:08<00:21, 1.82it/s][A
-
31%|███ | 17/55 [00:09<00:22, 1.68it/s][A
-
33%|███▎ | 18/55 [00:10<00:22, 1.61it/s][A
+
15%|█▍ | 8/55 [00:04<00:24, 1.95it/s][A
+
16%|█▋ | 9/55 [00:05<00:30, 1.50it/s][A
+
18%|█▊ | 10/55 [00:05<00:26, 1.71it/s][A
+
20%|██ | 11/55 [00:05<00:21, 2.03it/s][A
+
22%|██▏ | 12/55 [00:06<00:28, 1.50it/s][A
+
24%|██▎ | 13/55 [00:07<00:24, 1.75it/s][A
+
25%|██▌ | 14/55 [00:07<00:21, 1.91it/s][A
+
27%|██▋ | 15/55 [00:08<00:26, 1.49it/s][A
+
29%|██▉ | 16/55 [00:09<00:21, 1.80it/s][A
+
31%|███ | 17/55 [00:09<00:22, 1.67it/s][A
+
33%|███▎ | 18/55 [00:10<00:23, 1.60it/s][A
35%|███▍ | 19/55 [00:10<00:18, 1.91it/s][A
-
36%|███▋ | 20/55 [00:11<00:23, 1.50it/s][A
-
38%|███▊ | 21/55 [00:12<00:19, 1.70it/s][A
-
40%|████ | 22/55 [00:12<00:16, 2.01it/s][A
-
42%|████▏ | 23/55 [00:13<00:21, 1.51it/s][A
-
44%|████▎ | 24/55 [00:13<00:17, 1.81it/s][A
-
45%|████▌ | 25/55 [00:14<00:15, 1.99it/s][A
-
47%|████▋ | 26/55 [00:15<00:18, 1.53it/s][A
-
49%|████▉ | 27/55 [00:15<00:15, 1.84it/s][A
+
36%|███▋ | 20/55 [00:11<00:23, 1.49it/s][A
+
38%|███▊ | 21/55 [00:12<00:20, 1.69it/s][A
+
40%|████ | 22/55 [00:12<00:16, 2.00it/s][A
+
42%|████▏ | 23/55 [00:13<00:21, 1.50it/s][A
+
44%|████▎ | 24/55 [00:13<00:17, 1.80it/s][A
+
45%|████▌ | 25/55 [00:14<00:15, 1.97it/s][A
+
47%|████▋ | 26/55 [00:15<00:19, 1.52it/s][A
+
49%|████▉ | 27/55 [00:15<00:15, 1.83it/s][A
51%|█████ | 28/55 [00:16<00:16, 1.68it/s][A
-
53%|█████▎ | 29/55 [00:16<00:16, 1.61it/s][A
-
55%|█████▍ | 30/55 [00:17<00:13, 1.92it/s][A
-
56%|█████▋ | 31/55 [00:18<00:15, 1.50it/s][A
-
58%|█████▊ | 32/55 [00:18<00:13, 1.71it/s][A
-
60%|██████ | 33/55 [00:18<00:10, 2.01it/s][A
-
62%|██████▏ | 34/55 [00:19<00:13, 1.52it/s][A
-
64%|██████▎ | 35/55 [00:20<00:10, 1.83it/s][A
-
65%|██████▌ | 36/55 [00:20<00:09, 2.00it/s][A
-
67%|██████▋ | 37/55 [00:21<00:11, 1.53it/s][A
-
69%|██████▉ | 38/55 [00:21<00:09, 1.83it/s][A
-
71%|███████ | 39/55 [00:22<00:09, 1.72it/s][A
-
73%|███████▎ | 40/55 [00:23<00:09, 1.61it/s][A
-
75%|███████▍ | 41/55 [00:23<00:07, 1.93it/s][A
-
76%|███████▋ | 42/55 [00:24<00:08, 1.50it/s][A
-
78%|███████▊ | 43/55 [00:24<00:07, 1.71it/s][A
-
80%|████████ | 44/55 [00:25<00:05, 2.02it/s][A
-
82%|████████▏ | 45/55 [00:26<00:06, 1.52it/s][A
-
84%|████████▎ | 46/55 [00:26<00:05, 1.76it/s][A
-
85%|████████▌ | 47/55 [00:26<00:04, 1.95it/s][A
-
87%|████████▋ | 48/55 [00:27<00:04, 1.51it/s][A
-
89%|████████▉ | 49/55 [00:28<00:03, 1.82it/s][A
-
91%|█████████ | 50/55 [00:28<00:02, 1.69it/s][A
-
93%|█████████▎| 51/55 [00:29<00:02, 1.61it/s][A
-
95%|█████████▍| 52/55 [00:29<00:01, 1.92it/s][A
-
96%|█████████▋| 53/55 [00:30<00:01, 1.50it/s][A
-
98%|█████████▊| 54/55 [00:31<00:00, 1.71it/s][A
-
100%|██████████| 55/55 [00:31<00:00, 1.90it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.74it/s]
-
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.21s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.21s/frame]
-ERROR! LACBED DOES NOT MATCH PREVIOUS RUN 0.5179491605266493 %
+
53%|█████▎ | 29/55 [00:16<00:16, 1.60it/s][A
+
55%|█████▍ | 30/55 [00:17<00:13, 1.91it/s][A
+
56%|█████▋ | 31/55 [00:18<00:16, 1.49it/s][A
+
58%|█████▊ | 32/55 [00:18<00:13, 1.69it/s][A
+
60%|██████ | 33/55 [00:18<00:11, 1.99it/s][A
+
62%|██████▏ | 34/55 [00:19<00:14, 1.50it/s][A
+
64%|██████▎ | 35/55 [00:20<00:11, 1.80it/s][A
+
65%|██████▌ | 36/55 [00:20<00:09, 1.97it/s][A
+
67%|██████▋ | 37/55 [00:21<00:11, 1.52it/s][A
+
69%|██████▉ | 38/55 [00:21<00:09, 1.82it/s][A
+
71%|███████ | 39/55 [00:22<00:09, 1.71it/s][A
+
73%|███████▎ | 40/55 [00:23<00:09, 1.60it/s][A
+
75%|███████▍ | 41/55 [00:23<00:07, 1.91it/s][A
+
76%|███████▋ | 42/55 [00:24<00:08, 1.47it/s][A
+
78%|███████▊ | 43/55 [00:25<00:07, 1.68it/s][A
+
80%|████████ | 44/55 [00:25<00:05, 1.99it/s][A
+
82%|████████▏ | 45/55 [00:26<00:06, 1.50it/s][A
+
84%|████████▎ | 46/55 [00:26<00:05, 1.75it/s][A
+
85%|████████▌ | 47/55 [00:27<00:04, 1.94it/s][A
+
87%|████████▋ | 48/55 [00:28<00:04, 1.50it/s][A
+
89%|████████▉ | 49/55 [00:28<00:03, 1.81it/s][A
+
91%|█████████ | 50/55 [00:29<00:02, 1.69it/s][A
+
93%|█████████▎| 51/55 [00:29<00:02, 1.60it/s][A
+
95%|█████████▍| 52/55 [00:30<00:01, 1.91it/s][A
+
96%|█████████▋| 53/55 [00:31<00:01, 1.49it/s][A
+
98%|█████████▊| 54/55 [00:31<00:00, 1.70it/s][A
+
100%|██████████| 55/55 [00:31<00:00, 1.89it/s][A
100%|██████████| 55/55 [00:31<00:00, 1.73it/s]
+
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.31s/frame]
Processing frames: 100%|██████████| 1/1 [00:32<00:00, 32.31s/frame]
+ERROR! LACBED DOES NOT MATCH PREVIOUS RUN 0.5222942117423935 %
python3 08_LACBED_onthefly.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/544 [00:00, ?it/s][A
-
0%| | 1/544 [00:00<05:19, 1.70it/s][A
-
0%| | 2/544 [00:00<03:56, 2.29it/s][A
-
1%| | 3/544 [00:01<04:01, 2.24it/s][A
-
1%| | 4/544 [00:02<06:11, 1.45it/s][A
-
1%| | 5/544 [00:02<04:59, 1.80it/s][A
+
0%| | 1/544 [00:00<05:21, 1.69it/s][A
+
0%| | 2/544 [00:00<03:57, 2.29it/s][A
+
1%| | 3/544 [00:01<04:00, 2.25it/s][A
+
1%| | 4/544 [00:02<06:07, 1.47it/s][A
+
1%| | 5/544 [00:02<04:55, 1.82it/s][A
1%| | 6/544 [00:03<05:54, 1.52it/s][A
-
1%|▏ | 7/544 [00:04<05:54, 1.51it/s][A
-
1%|▏ | 8/544 [00:04<04:53, 1.82it/s][A
-
2%|▏ | 9/544 [00:05<06:25, 1.39it/s][A
-
2%|▏ | 10/544 [00:06<05:35, 1.59it/s][A
-
2%|▏ | 11/544 [00:06<05:03, 1.76it/s][A
-
2%|▏ | 12/544 [00:07<06:30, 1.36it/s][A
-
2%|▏ | 13/544 [00:07<05:21, 1.65it/s][A
-
3%|▎ | 14/544 [00:08<05:16, 1.68it/s][A
-
3%|▎ | 15/544 [00:09<06:04, 1.45it/s][A
-
3%|▎ | 16/544 [00:09<05:05, 1.73it/s][A
-
3%|▎ | 17/544 [00:10<06:15, 1.40it/s][A
-
3%|▎ | 18/544 [00:11<05:40, 1.54it/s][A
-
3%|▎ | 19/544 [00:11<04:47, 1.82it/s][A
-
4%|▎ | 20/544 [00:12<06:12, 1.41it/s][A
-
4%|▍ | 21/544 [00:13<05:09, 1.69it/s][A
-
4%|▍ | 22/544 [00:13<04:46, 1.82it/s][A
-
4%|▍ | 23/544 [00:14<06:06, 1.42it/s][A
+
1%|▏ | 7/544 [00:04<05:51, 1.53it/s][A
+
1%|▏ | 8/544 [00:04<04:52, 1.83it/s][A
+
2%|▏ | 9/544 [00:05<06:23, 1.39it/s][A
+
2%|▏ | 10/544 [00:06<05:34, 1.60it/s][A
+
2%|▏ | 11/544 [00:06<04:59, 1.78it/s][A
+
2%|▏ | 12/544 [00:07<06:22, 1.39it/s][A
+
2%|▏ | 13/544 [00:07<05:17, 1.67it/s][A
+
3%|▎ | 14/544 [00:08<05:11, 1.70it/s][A
+
3%|▎ | 15/544 [00:09<06:03, 1.45it/s][A
+
3%|▎ | 16/544 [00:09<05:02, 1.75it/s][A
+
3%|▎ | 17/544 [00:10<06:13, 1.41it/s][A
+
3%|▎ | 18/544 [00:11<05:36, 1.56it/s][A
+
3%|▎ | 19/544 [00:11<04:43, 1.85it/s][A
+
4%|▎ | 20/544 [00:12<06:10, 1.42it/s][A
+
4%|▍ | 21/544 [00:12<05:07, 1.70it/s][A
+
4%|▍ | 22/544 [00:13<04:43, 1.84it/s][A
+
4%|▍ | 23/544 [00:14<06:07, 1.42it/s][A
4%|▍ | 24/544 [00:14<05:05, 1.70it/s][A
-
5%|▍ | 25/544 [00:15<05:35, 1.55it/s][A
-
5%|▍ | 26/544 [00:16<05:46, 1.49it/s][A
-
5%|▍ | 27/544 [00:16<04:55, 1.75it/s][A
-
5%|▌ | 28/544 [00:17<06:17, 1.37it/s][A
-
5%|▌ | 29/544 [00:18<05:30, 1.56it/s][A
-
6%|▌ | 30/544 [00:18<04:55, 1.74it/s][A
-
6%|▌ | 31/544 [00:19<06:14, 1.37it/s][A
-
6%|▌ | 32/544 [00:20<05:10, 1.65it/s][A
-
6%|▌ | 33/544 [00:20<04:58, 1.71it/s][A
-
6%|▋ | 34/544 [00:21<05:55, 1.43it/s][A
+
5%|▍ | 25/544 [00:15<05:39, 1.53it/s][A
+
5%|▍ | 26/544 [00:16<05:45, 1.50it/s][A
+
5%|▍ | 27/544 [00:16<04:51, 1.77it/s][A
+
5%|▌ | 28/544 [00:17<06:12, 1.39it/s][A
+
5%|▌ | 29/544 [00:18<05:26, 1.58it/s][A
+
6%|▌ | 30/544 [00:18<04:52, 1.76it/s][A
+
6%|▌ | 31/544 [00:19<06:13, 1.37it/s][A
+
6%|▌ | 32/544 [00:19<05:09, 1.65it/s][A
+
6%|▌ | 33/544 [00:20<04:57, 1.72it/s][A
+
6%|▋ | 34/544 [00:21<05:57, 1.43it/s][A
6%|▋ | 35/544 [00:21<04:57, 1.71it/s][A
-
7%|▋ | 36/544 [00:22<05:57, 1.42it/s][A
-
7%|▋ | 37/544 [00:23<05:28, 1.54it/s][A
-
7%|▋ | 38/544 [00:23<04:37, 1.82it/s][A
-
7%|▋ | 39/544 [00:24<05:57, 1.41it/s][A
-
7%|▋ | 40/544 [00:25<05:14, 1.60it/s][A
+
7%|▋ | 36/544 [00:22<05:55, 1.43it/s][A
+
7%|▋ | 37/544 [00:23<05:29, 1.54it/s][A
+
7%|▋ | 38/544 [00:23<04:36, 1.83it/s][A
+
7%|▋ | 39/544 [00:24<06:03, 1.39it/s][A
+
7%|▋ | 40/544 [00:25<05:15, 1.60it/s][A
8%|▊ | 41/544 [00:25<04:46, 1.76it/s][A
-
8%|▊ | 42/544 [00:26<06:03, 1.38it/s][A
-
8%|▊ | 43/544 [00:27<05:01, 1.66it/s][A
-
8%|▊ | 44/544 [00:27<05:17, 1.58it/s][A
-
8%|▊ | 45/544 [00:28<05:37, 1.48it/s][A
-
8%|▊ | 46/544 [00:28<04:43, 1.76it/s][A
-
9%|▊ | 47/544 [00:29<06:00, 1.38it/s][A
-
9%|▉ | 48/544 [00:30<05:18, 1.56it/s][A
-
9%|▉ | 49/544 [00:30<04:43, 1.75it/s][A
-
9%|▉ | 50/544 [00:31<05:57, 1.38it/s][A
-
9%|▉ | 51/544 [00:32<04:55, 1.67it/s][A
-
10%|▉ | 52/544 [00:32<04:38, 1.77it/s][A
-
10%|▉ | 53/544 [00:33<05:47, 1.41it/s][A
-
10%|▉ | 54/544 [00:34<04:50, 1.69it/s][A
-
10%|█ | 55/544 [00:34<05:39, 1.44it/s][A
-
10%|█ | 56/544 [00:35<05:23, 1.51it/s][A
-
10%|█ | 57/544 [00:35<04:31, 1.79it/s][A
-
11%|█ | 58/544 [00:36<05:52, 1.38it/s][A
-
11%|█ | 59/544 [00:37<05:07, 1.58it/s][A
-
11%|█ | 60/544 [00:37<04:38, 1.74it/s][A
-
11%|█ | 61/544 [00:38<05:51, 1.37it/s][A
-
11%|█▏ | 62/544 [00:39<04:51, 1.65it/s][A
-
12%|█▏ | 63/544 [00:39<04:56, 1.62it/s][A
-
12%|█▏ | 64/544 [00:40<05:29, 1.46it/s][A
-
12%|█▏ | 65/544 [00:41<04:35, 1.74it/s][A
-
12%|█▏ | 66/544 [00:42<05:44, 1.39it/s][A
-
12%|█▏ | 67/544 [00:42<05:06, 1.56it/s][A
-
12%|█▎ | 68/544 [00:42<04:33, 1.74it/s][A
-
13%|█▎ | 69/544 [00:44<05:46, 1.37it/s][A
-
13%|█▎ | 70/544 [00:44<04:47, 1.65it/s][A
-
13%|█▎ | 71/544 [00:44<04:25, 1.78it/s][A
-
13%|█▎ | 72/544 [00:45<05:33, 1.42it/s][A
-
13%|█▎ | 73/544 [00:46<04:39, 1.69it/s][A
-
14%|█▎ | 74/544 [00:47<05:16, 1.49it/s][A
-
14%|█▍ | 75/544 [00:47<05:10, 1.51it/s][A
-
14%|█▍ | 76/544 [00:48<04:21, 1.79it/s][A
-
14%|█▍ | 77/544 [00:49<05:35, 1.39it/s][A
-
14%|█▍ | 78/544 [00:49<04:53, 1.59it/s][A
-
15%|█▍ | 79/544 [00:49<04:24, 1.76it/s][A
-
15%|█▍ | 80/544 [00:51<05:36, 1.38it/s][A
-
15%|█▍ | 81/544 [00:51<04:39, 1.66it/s][A
-
15%|█▌ | 82/544 [00:51<04:35, 1.68it/s][A
-
15%|█▌ | 83/544 [00:52<05:18, 1.45it/s][A
-
15%|█▌ | 84/544 [00:53<04:25, 1.73it/s][A
-
16%|█▌ | 85/544 [00:54<05:25, 1.41it/s][A
-
16%|█▌ | 86/544 [00:54<04:54, 1.56it/s][A
-
16%|█▌ | 87/544 [00:55<04:08, 1.84it/s][A
-
16%|█▌ | 88/544 [00:56<05:22, 1.41it/s][A
-
16%|█▋ | 89/544 [00:56<04:40, 1.62it/s][A
-
17%|█▋ | 90/544 [00:56<04:12, 1.80it/s][A
-
17%|█▋ | 91/544 [00:57<05:22, 1.41it/s][A
-
17%|█▋ | 92/544 [00:58<04:27, 1.69it/s][A
-
17%|█▋ | 93/544 [00:59<04:54, 1.53it/s][A
+
8%|▊ | 42/544 [00:26<06:01, 1.39it/s][A
+
8%|▊ | 43/544 [00:26<04:58, 1.68it/s][A
+
8%|▊ | 44/544 [00:27<05:14, 1.59it/s][A
+
8%|▊ | 45/544 [00:28<05:34, 1.49it/s][A
+
8%|▊ | 46/544 [00:28<04:39, 1.78it/s][A
+
9%|▊ | 47/544 [00:29<05:56, 1.39it/s][A
+
9%|▉ | 48/544 [00:30<05:11, 1.59it/s][A
+
9%|▉ | 49/544 [00:30<04:38, 1.78it/s][A
+
9%|▉ | 50/544 [00:31<05:56, 1.39it/s][A
+
9%|▉ | 51/544 [00:31<04:55, 1.67it/s][A
+
10%|▉ | 52/544 [00:32<04:36, 1.78it/s][A
+
10%|▉ | 53/544 [00:33<05:42, 1.43it/s][A
+
10%|▉ | 54/544 [00:33<04:45, 1.71it/s][A
+
10%|█ | 55/544 [00:34<05:34, 1.46it/s][A
+
10%|█ | 56/544 [00:35<05:19, 1.53it/s][A
+
10%|█ | 57/544 [00:35<04:26, 1.83it/s][A
+
11%|█ | 58/544 [00:36<05:44, 1.41it/s][A
+
11%|█ | 59/544 [00:37<04:59, 1.62it/s][A
+
11%|█ | 60/544 [00:37<04:29, 1.79it/s][A
+
11%|█ | 61/544 [00:38<05:43, 1.41it/s][A
+
11%|█▏ | 62/544 [00:38<04:44, 1.69it/s][A
+
12%|█▏ | 63/544 [00:39<04:47, 1.67it/s][A
+
12%|█▏ | 64/544 [00:40<05:25, 1.47it/s][A
+
12%|█▏ | 65/544 [00:40<04:31, 1.77it/s][A
+
12%|█▏ | 66/544 [00:41<05:39, 1.41it/s][A
+
12%|█▏ | 67/544 [00:42<05:02, 1.58it/s][A
+
12%|█▎ | 68/544 [00:42<04:30, 1.76it/s][A
+
13%|█▎ | 69/544 [00:43<05:43, 1.38it/s][A
+
13%|█▎ | 70/544 [00:43<04:45, 1.66it/s][A
+
13%|█▎ | 71/544 [00:44<04:22, 1.80it/s][A
+
13%|█▎ | 72/544 [00:45<05:32, 1.42it/s][A
+
13%|█▎ | 73/544 [00:45<04:36, 1.70it/s][A
+
14%|█▎ | 74/544 [00:46<05:13, 1.50it/s][A
+
14%|█▍ | 75/544 [00:47<05:07, 1.53it/s][A
+
14%|█▍ | 76/544 [00:47<04:19, 1.81it/s][A
+
14%|█▍ | 77/544 [00:48<05:29, 1.42it/s][A
+
14%|█▍ | 78/544 [00:49<04:49, 1.61it/s][A
+
15%|█▍ | 79/544 [00:49<04:19, 1.79it/s][A
+
15%|█▍ | 80/544 [00:50<05:32, 1.40it/s][A
+
15%|█▍ | 81/544 [00:50<04:37, 1.67it/s][A
+
15%|█▌ | 82/544 [00:51<04:34, 1.68it/s][A
+
15%|█▌ | 83/544 [00:52<05:17, 1.45it/s][A
+
15%|█▌ | 84/544 [00:52<04:26, 1.72it/s][A
+
16%|█▌ | 85/544 [00:53<05:24, 1.41it/s][A
+
16%|█▌ | 86/544 [00:54<04:53, 1.56it/s][A
+
16%|█▌ | 87/544 [00:54<04:05, 1.86it/s][A
+
16%|█▌ | 88/544 [00:55<05:21, 1.42it/s][A
+
16%|█▋ | 89/544 [00:56<04:39, 1.63it/s][A
+
17%|█▋ | 90/544 [00:56<04:11, 1.80it/s][A
+
17%|█▋ | 91/544 [00:57<05:24, 1.40it/s][A
+
17%|█▋ | 92/544 [00:57<04:28, 1.69it/s][A
+
17%|█▋ | 93/544 [00:58<04:55, 1.52it/s][A
17%|█▋ | 94/544 [00:59<05:02, 1.49it/s][A
-
17%|█▋ | 95/544 [01:00<04:11, 1.79it/s][A
-
18%|█▊ | 96/544 [01:01<05:22, 1.39it/s][A
-
18%|█▊ | 97/544 [01:01<04:42, 1.58it/s][A
-
18%|█▊ | 98/544 [01:02<04:13, 1.76it/s][A
-
18%|█▊ | 99/544 [01:03<05:21, 1.38it/s][A
-
18%|█▊ | 100/544 [01:03<04:27, 1.66it/s][A
-
19%|█▊ | 101/544 [01:03<04:16, 1.72it/s][A
+
17%|█▋ | 95/544 [00:59<04:13, 1.77it/s][A
+
18%|█▊ | 96/544 [01:00<05:23, 1.39it/s][A
+
18%|█▊ | 97/544 [01:01<04:44, 1.57it/s][A
+
18%|█▊ | 98/544 [01:01<04:13, 1.76it/s][A
+
18%|█▊ | 99/544 [01:02<05:23, 1.37it/s][A
+
18%|█▊ | 100/544 [01:02<04:27, 1.66it/s][A
+
19%|█▊ | 101/544 [01:03<04:19, 1.71it/s][A
19%|█▉ | 102/544 [01:04<05:06, 1.44it/s][A
-
19%|█▉ | 103/544 [01:05<04:15, 1.73it/s][A
-
19%|█▉ | 104/544 [01:06<05:05, 1.44it/s][A
-
19%|█▉ | 105/544 [01:06<04:42, 1.56it/s][A
-
19%|█▉ | 106/544 [01:07<03:57, 1.84it/s][A
-
20%|█▉ | 107/544 [01:08<05:08, 1.42it/s][A
-
20%|█▉ | 108/544 [01:08<04:28, 1.62it/s][A
+
19%|█▉ | 103/544 [01:04<04:16, 1.72it/s][A
+
19%|█▉ | 104/544 [01:05<05:09, 1.42it/s][A
+
19%|█▉ | 105/544 [01:06<04:44, 1.54it/s][A
+
19%|█▉ | 106/544 [01:06<03:59, 1.83it/s][A
+
20%|█▉ | 107/544 [01:07<05:11, 1.40it/s][A
+
20%|█▉ | 108/544 [01:08<04:29, 1.62it/s][A
20%|██ | 109/544 [01:08<04:03, 1.79it/s][A
-
20%|██ | 110/544 [01:10<05:09, 1.40it/s][A
-
20%|██ | 111/544 [01:10<04:17, 1.68it/s][A
-
21%|██ | 112/544 [01:11<04:29, 1.60it/s][A
-
21%|██ | 113/544 [01:11<04:49, 1.49it/s][A
-
21%|██ | 114/544 [01:12<04:02, 1.77it/s][A
-
21%|██ | 115/544 [01:13<05:06, 1.40it/s][A
-
21%|██▏ | 116/544 [01:13<04:29, 1.59it/s][A
-
22%|██▏ | 117/544 [01:14<04:01, 1.77it/s][A
-
22%|██▏ | 118/544 [01:15<05:06, 1.39it/s][A
-
22%|██▏ | 119/544 [01:15<04:14, 1.67it/s][A
-
22%|██▏ | 120/544 [01:15<03:59, 1.77it/s][A
-
22%|██▏ | 121/544 [01:16<04:55, 1.43it/s][A
-
22%|██▏ | 122/544 [01:17<04:06, 1.71it/s][A
-
23%|██▎ | 123/544 [01:18<04:48, 1.46it/s][A
-
23%|██▎ | 124/544 [01:18<04:33, 1.54it/s][A
-
23%|██▎ | 125/544 [01:19<03:49, 1.82it/s][A
-
23%|██▎ | 126/544 [01:20<04:57, 1.41it/s][A
-
23%|██▎ | 127/544 [01:20<04:18, 1.61it/s][A
-
24%|██▎ | 128/544 [01:20<03:52, 1.79it/s][A
-
24%|██▎ | 129/544 [01:22<04:56, 1.40it/s][A
+
20%|██ | 110/544 [01:09<05:10, 1.40it/s][A
+
20%|██ | 111/544 [01:09<04:16, 1.69it/s][A
+
21%|██ | 112/544 [01:10<04:31, 1.59it/s][A
+
21%|██ | 113/544 [01:11<04:54, 1.46it/s][A
+
21%|██ | 114/544 [01:11<04:06, 1.75it/s][A
+
21%|██ | 115/544 [01:12<05:11, 1.38it/s][A
+
21%|██▏ | 116/544 [01:13<04:33, 1.56it/s][A
+
22%|██▏ | 117/544 [01:13<04:05, 1.74it/s][A
+
22%|██▏ | 118/544 [01:14<05:12, 1.37it/s][A
+
22%|██▏ | 119/544 [01:15<04:18, 1.65it/s][A
+
22%|██▏ | 120/544 [01:15<04:01, 1.76it/s][A
+
22%|██▏ | 121/544 [01:16<04:56, 1.43it/s][A
+
22%|██▏ | 122/544 [01:16<04:05, 1.72it/s][A
+
23%|██▎ | 123/544 [01:17<04:48, 1.46it/s][A
+
23%|██▎ | 124/544 [01:18<04:32, 1.54it/s][A
+
23%|██▎ | 125/544 [01:18<03:47, 1.84it/s][A
+
23%|██▎ | 126/544 [01:19<04:56, 1.41it/s][A
+
23%|██▎ | 127/544 [01:20<04:16, 1.63it/s][A
+
24%|██▎ | 128/544 [01:20<03:51, 1.79it/s][A
+
24%|██▎ | 129/544 [01:21<04:56, 1.40it/s][A
24%|██▍ | 130/544 [01:22<04:06, 1.68it/s][A
-
24%|██▍ | 131/544 [01:23<04:10, 1.65it/s][A
-
24%|██▍ | 132/544 [01:23<04:39, 1.47it/s][A
-
24%|██▍ | 133/544 [01:24<03:54, 1.75it/s][A
-
25%|██▍ | 134/544 [01:25<04:51, 1.41it/s][A
-
25%|██▍ | 135/544 [01:25<04:19, 1.57it/s][A
-
25%|██▌ | 136/544 [01:26<03:49, 1.77it/s][A
-
25%|██▌ | 137/544 [01:27<04:53, 1.39it/s][A
-
25%|██▌ | 138/544 [01:27<04:14, 1.60it/s][A
-
26%|██▌ | 139/544 [01:28<03:53, 1.74it/s][A
-
26%|██▌ | 140/544 [01:29<04:48, 1.40it/s][A
-
26%|██▌ | 141/544 [01:29<03:59, 1.68it/s][A
-
26%|██▌ | 142/544 [01:30<04:34, 1.46it/s][A
-
26%|██▋ | 143/544 [01:30<04:26, 1.51it/s][A
-
26%|██▋ | 144/544 [01:31<03:45, 1.78it/s][A
-
27%|██▋ | 145/544 [01:32<04:46, 1.39it/s][A
+
24%|██▍ | 131/544 [01:22<04:10, 1.65it/s][A
+
24%|██▍ | 132/544 [01:23<04:38, 1.48it/s][A
+
24%|██▍ | 133/544 [01:23<03:53, 1.76it/s][A
+
25%|██▍ | 134/544 [01:24<04:53, 1.40it/s][A
+
25%|██▍ | 135/544 [01:25<04:22, 1.56it/s][A
+
25%|██▌ | 136/544 [01:25<03:52, 1.75it/s][A
+
25%|██▌ | 137/544 [01:26<04:56, 1.37it/s][A
+
25%|██▌ | 138/544 [01:27<04:17, 1.58it/s][A
+
26%|██▌ | 139/544 [01:27<03:55, 1.72it/s][A
+
26%|██▌ | 140/544 [01:28<04:52, 1.38it/s][A
+
26%|██▌ | 141/544 [01:29<04:02, 1.66it/s][A
+
26%|██▌ | 142/544 [01:29<04:36, 1.45it/s][A
+
26%|██▋ | 143/544 [01:30<04:28, 1.49it/s][A
+
26%|██▋ | 144/544 [01:30<03:44, 1.78it/s][A
+
27%|██▋ | 145/544 [01:32<04:48, 1.38it/s][A
27%|██▋ | 146/544 [01:32<04:10, 1.59it/s][A
-
27%|██▋ | 147/544 [01:33<03:44, 1.77it/s][A
-
27%|██▋ | 148/544 [01:34<04:46, 1.38it/s][A
+
27%|██▋ | 147/544 [01:32<03:44, 1.76it/s][A
+
27%|██▋ | 148/544 [01:33<04:46, 1.38it/s][A
27%|██▋ | 149/544 [01:34<03:57, 1.66it/s][A
-
28%|██▊ | 150/544 [01:35<03:54, 1.68it/s][A
-
28%|██▊ | 151/544 [01:36<04:31, 1.45it/s][A
-
28%|██▊ | 152/544 [01:36<03:46, 1.73it/s][A
-
28%|██▊ | 153/544 [01:37<04:36, 1.42it/s][A
-
28%|██▊ | 154/544 [01:37<04:09, 1.56it/s][A
-
28%|██▊ | 155/544 [01:38<03:31, 1.84it/s][A
-
29%|██▊ | 156/544 [01:39<04:34, 1.41it/s][A
-
29%|██▉ | 157/544 [01:39<03:59, 1.62it/s][A
-
29%|██▉ | 158/544 [01:40<03:35, 1.79it/s][A
-
29%|██▉ | 159/544 [01:41<04:34, 1.40it/s][A
+
28%|██▊ | 150/544 [01:34<03:53, 1.69it/s][A
+
28%|██▊ | 151/544 [01:35<04:29, 1.46it/s][A
+
28%|██▊ | 152/544 [01:36<03:43, 1.76it/s][A
+
28%|██▊ | 153/544 [01:37<04:35, 1.42it/s][A
+
28%|██▊ | 154/544 [01:37<04:09, 1.57it/s][A
+
28%|██▊ | 155/544 [01:37<03:30, 1.85it/s][A
+
29%|██▊ | 156/544 [01:38<04:33, 1.42it/s][A
+
29%|██▉ | 157/544 [01:39<03:58, 1.62it/s][A
+
29%|██▉ | 158/544 [01:39<03:35, 1.79it/s][A
+
29%|██▉ | 159/544 [01:40<04:34, 1.40it/s][A
29%|██▉ | 160/544 [01:41<03:48, 1.68it/s][A
-
30%|██▉ | 161/544 [01:42<04:10, 1.53it/s][A
-
30%|██▉ | 162/544 [01:42<04:16, 1.49it/s][A
-
30%|██▉ | 163/544 [01:43<03:34, 1.78it/s][A
-
30%|███ | 164/544 [01:44<04:32, 1.39it/s][A
-
30%|███ | 165/544 [01:44<03:59, 1.58it/s][A
-
31%|███ | 166/544 [01:45<03:33, 1.77it/s][A
-
31%|███ | 167/544 [01:46<04:32, 1.39it/s][A
+
30%|██▉ | 161/544 [01:41<04:09, 1.54it/s][A
+
30%|██▉ | 162/544 [01:42<04:15, 1.50it/s][A
+
30%|██▉ | 163/544 [01:42<03:34, 1.78it/s][A
+
30%|███ | 164/544 [01:44<04:31, 1.40it/s][A
+
30%|███ | 165/544 [01:44<03:56, 1.60it/s][A
+
31%|███ | 166/544 [01:44<03:33, 1.77it/s][A
+
31%|███ | 167/544 [01:45<04:32, 1.38it/s][A
31%|███ | 168/544 [01:46<03:45, 1.67it/s][A
-
31%|███ | 169/544 [01:47<03:35, 1.74it/s][A
-
31%|███▏ | 170/544 [01:48<04:19, 1.44it/s][A
-
31%|███▏ | 171/544 [01:48<03:36, 1.72it/s][A
-
32%|███▏ | 172/544 [01:49<04:20, 1.43it/s][A
+
31%|███ | 169/544 [01:46<03:35, 1.74it/s][A
+
31%|███▏ | 170/544 [01:47<04:17, 1.45it/s][A
+
31%|███▏ | 171/544 [01:48<03:34, 1.74it/s][A
+
32%|███▏ | 172/544 [01:49<04:21, 1.42it/s][A
32%|███▏ | 173/544 [01:49<03:58, 1.56it/s][A
-
32%|███▏ | 174/544 [01:50<03:20, 1.84it/s][A
-
32%|███▏ | 175/544 [01:51<04:21, 1.41it/s][A
-
32%|███▏ | 176/544 [01:51<03:37, 1.69it/s][A
-
33%|███▎ | 177/544 [01:52<03:19, 1.84it/s][A
-
33%|███▎ | 178/544 [01:53<04:18, 1.42it/s][A
+
32%|███▏ | 174/544 [01:49<03:21, 1.83it/s][A
+
32%|███▏ | 175/544 [01:50<04:20, 1.42it/s][A
+
32%|███▏ | 176/544 [01:51<03:35, 1.71it/s][A
+
33%|███▎ | 177/544 [01:51<03:17, 1.86it/s][A
+
33%|███▎ | 178/544 [01:52<04:17, 1.42it/s][A
33%|███▎ | 179/544 [01:53<03:34, 1.70it/s][A
-
33%|███▎ | 180/544 [01:54<03:47, 1.60it/s][A
-
33%|███▎ | 181/544 [01:54<04:03, 1.49it/s][A
-
33%|███▎ | 182/544 [01:55<03:24, 1.77it/s][A
-
34%|███▎ | 183/544 [01:56<04:17, 1.40it/s][A
-
34%|███▍ | 184/544 [01:56<03:47, 1.58it/s][A
-
34%|███▍ | 185/544 [01:57<03:22, 1.77it/s][A
-
34%|███▍ | 186/544 [01:58<04:19, 1.38it/s][A
+
33%|███▎ | 180/544 [01:53<03:46, 1.60it/s][A
+
33%|███▎ | 181/544 [01:54<04:02, 1.50it/s][A
+
33%|███▎ | 182/544 [01:54<03:24, 1.77it/s][A
+
34%|███▎ | 183/544 [01:55<04:16, 1.41it/s][A
+
34%|███▍ | 184/544 [01:56<03:46, 1.59it/s][A
+
34%|███▍ | 185/544 [01:56<03:23, 1.77it/s][A
+
34%|███▍ | 186/544 [01:57<04:18, 1.38it/s][A
34%|███▍ | 187/544 [01:58<03:34, 1.66it/s][A
-
35%|███▍ | 188/544 [01:59<03:21, 1.77it/s][A
-
35%|███▍ | 189/544 [02:00<04:09, 1.42it/s][A
-
35%|███▍ | 190/544 [02:00<03:28, 1.70it/s][A
-
35%|███▌ | 191/544 [02:01<04:03, 1.45it/s][A
+
35%|███▍ | 188/544 [01:58<03:18, 1.79it/s][A
+
35%|███▍ | 189/544 [01:59<04:08, 1.43it/s][A
+
35%|███▍ | 190/544 [02:00<03:26, 1.71it/s][A
+
35%|███▌ | 191/544 [02:00<04:02, 1.46it/s][A
35%|███▌ | 192/544 [02:01<03:49, 1.53it/s][A
-
35%|███▌ | 193/544 [02:02<03:13, 1.81it/s][A
-
36%|███▌ | 194/544 [02:03<04:08, 1.41it/s][A
-
36%|███▌ | 195/544 [02:03<03:37, 1.60it/s][A
-
36%|███▌ | 196/544 [02:04<03:15, 1.78it/s][A
-
36%|███▌ | 197/544 [02:05<04:09, 1.39it/s][A
-
36%|███▋ | 198/544 [02:05<03:28, 1.66it/s][A
-
37%|███▋ | 199/544 [02:06<03:28, 1.65it/s][A
-
37%|███▋ | 200/544 [02:07<03:56, 1.45it/s][A
-
37%|███▋ | 201/544 [02:07<03:17, 1.74it/s][A
-
37%|███▋ | 202/544 [02:08<04:05, 1.39it/s][A
-
37%|███▋ | 203/544 [02:08<03:36, 1.57it/s][A
-
38%|███▊ | 204/544 [02:09<03:03, 1.85it/s][A
-
38%|███▊ | 205/544 [02:10<04:00, 1.41it/s][A
+
35%|███▌ | 193/544 [02:01<03:11, 1.83it/s][A
+
36%|███▌ | 194/544 [02:02<04:10, 1.40it/s][A
+
36%|███▌ | 195/544 [02:03<03:37, 1.61it/s][A
+
36%|███▌ | 196/544 [02:03<03:16, 1.77it/s][A
+
36%|███▌ | 197/544 [02:04<04:11, 1.38it/s][A
+
36%|███▋ | 198/544 [02:05<03:27, 1.67it/s][A
+
37%|███▋ | 199/544 [02:05<03:27, 1.66it/s][A
+
37%|███▋ | 200/544 [02:06<03:53, 1.48it/s][A
+
37%|███▋ | 201/544 [02:06<03:14, 1.76it/s][A
+
37%|███▋ | 202/544 [02:07<04:04, 1.40it/s][A
+
37%|███▋ | 203/544 [02:08<03:37, 1.57it/s][A
+
38%|███▊ | 204/544 [02:08<03:03, 1.85it/s][A
+
38%|███▊ | 205/544 [02:09<03:59, 1.41it/s][A
38%|███▊ | 206/544 [02:10<03:19, 1.69it/s][A
-
38%|███▊ | 207/544 [02:11<03:05, 1.82it/s][A
-
38%|███▊ | 208/544 [02:12<03:54, 1.43it/s][A
-
38%|███▊ | 209/544 [02:12<03:15, 1.71it/s][A
-
39%|███▊ | 210/544 [02:13<03:42, 1.50it/s][A
-
39%|███▉ | 211/544 [02:13<03:39, 1.52it/s][A
-
39%|███▉ | 212/544 [02:14<03:04, 1.80it/s][A
-
39%|███▉ | 213/544 [02:15<03:57, 1.40it/s][A
-
39%|███▉ | 214/544 [02:15<03:26, 1.60it/s][A
-
40%|███▉ | 215/544 [02:16<03:05, 1.78it/s][A
-
40%|███▉ | 216/544 [02:17<03:56, 1.38it/s][A
-
40%|███▉ | 217/544 [02:17<03:16, 1.66it/s][A
-
40%|████ | 218/544 [02:18<03:14, 1.68it/s][A
-
40%|████ | 219/544 [02:19<03:44, 1.45it/s][A
-
40%|████ | 220/544 [02:19<03:06, 1.73it/s][A
-
41%|████ | 221/544 [02:20<03:47, 1.42it/s][A
-
41%|████ | 222/544 [02:20<03:25, 1.56it/s][A
-
41%|████ | 223/544 [02:21<03:03, 1.75it/s][A
-
41%|████ | 224/544 [02:22<03:52, 1.38it/s][A
-
41%|████▏ | 225/544 [02:22<03:21, 1.58it/s][A
-
42%|████▏ | 226/544 [02:23<03:02, 1.74it/s][A
-
42%|████▏ | 227/544 [02:24<03:47, 1.39it/s][A
-
42%|████▏ | 228/544 [02:24<03:09, 1.67it/s][A
-
42%|████▏ | 229/544 [02:25<03:24, 1.54it/s][A
-
42%|████▏ | 230/544 [02:26<03:30, 1.49it/s][A
-
42%|████▏ | 231/544 [02:26<02:56, 1.77it/s][A
-
43%|████▎ | 232/544 [02:27<03:44, 1.39it/s][A
-
43%|████▎ | 233/544 [02:27<03:16, 1.58it/s][A
-
43%|████▎ | 234/544 [02:28<02:55, 1.77it/s][A
-
43%|████▎ | 235/544 [02:29<03:42, 1.39it/s][A
-
43%|████▎ | 236/544 [02:29<03:05, 1.66it/s][A
-
44%|████▎ | 237/544 [02:30<02:57, 1.73it/s][A
-
44%|████▍ | 238/544 [02:31<03:32, 1.44it/s][A
-
44%|████▍ | 239/544 [02:31<02:57, 1.72it/s][A
+
38%|███▊ | 207/544 [02:10<03:05, 1.81it/s][A
+
38%|███▊ | 208/544 [02:11<03:55, 1.43it/s][A
+
38%|███▊ | 209/544 [02:11<03:15, 1.71it/s][A
+
39%|███▊ | 210/544 [02:12<03:43, 1.50it/s][A
+
39%|███▉ | 211/544 [02:13<03:38, 1.53it/s][A
+
39%|███▉ | 212/544 [02:13<03:02, 1.82it/s][A
+
39%|███▉ | 213/544 [02:14<03:55, 1.41it/s][A
+
39%|███▉ | 214/544 [02:15<03:25, 1.61it/s][A
+
40%|███▉ | 215/544 [02:15<03:05, 1.78it/s][A
+
40%|███▉ | 216/544 [02:16<03:55, 1.39it/s][A
+
40%|███▉ | 217/544 [02:17<03:14, 1.68it/s][A
+
40%|████ | 218/544 [02:17<03:11, 1.70it/s][A
+
40%|████ | 219/544 [02:18<03:40, 1.48it/s][A
+
40%|████ | 220/544 [02:18<03:02, 1.78it/s][A
+
41%|████ | 221/544 [02:19<03:45, 1.43it/s][A
+
41%|████ | 222/544 [02:20<03:25, 1.57it/s][A
+
41%|████ | 223/544 [02:20<03:02, 1.76it/s][A
+
41%|████ | 224/544 [02:21<03:53, 1.37it/s][A
+
41%|████▏ | 225/544 [02:22<03:22, 1.58it/s][A
+
42%|████▏ | 226/544 [02:22<03:04, 1.73it/s][A
+
42%|████▏ | 227/544 [02:23<03:50, 1.38it/s][A
+
42%|████▏ | 228/544 [02:24<03:10, 1.66it/s][A
+
42%|████▏ | 229/544 [02:24<03:25, 1.53it/s][A
+
42%|████▏ | 230/544 [02:25<03:33, 1.47it/s][A
+
42%|████▏ | 231/544 [02:25<02:57, 1.76it/s][A
+
43%|████▎ | 232/544 [02:27<03:47, 1.37it/s][A
+
43%|████▎ | 233/544 [02:27<03:18, 1.57it/s][A
+
43%|████▎ | 234/544 [02:27<02:58, 1.74it/s][A
+
43%|████▎ | 235/544 [02:29<03:46, 1.36it/s][A
+
43%|████▎ | 236/544 [02:29<03:06, 1.65it/s][A
+
44%|████▎ | 237/544 [02:29<02:58, 1.72it/s][A
+
44%|████▍ | 238/544 [02:30<03:32, 1.44it/s][A
+
44%|████▍ | 239/544 [02:31<02:56, 1.73it/s][A
44%|████▍ | 240/544 [02:32<03:32, 1.43it/s][A
-
44%|████▍ | 241/544 [02:33<03:15, 1.55it/s][A
-
44%|████▍ | 242/544 [02:33<02:44, 1.83it/s][A
-
45%|████▍ | 243/544 [02:34<03:34, 1.40it/s][A
-
45%|████▍ | 244/544 [02:34<03:05, 1.61it/s][A
-
45%|████▌ | 245/544 [02:35<02:48, 1.77it/s][A
-
45%|████▌ | 246/544 [02:36<03:33, 1.39it/s][A
-
45%|████▌ | 247/544 [02:36<02:57, 1.67it/s][A
-
46%|████▌ | 248/544 [02:37<03:06, 1.59it/s][A
-
46%|████▌ | 249/544 [02:38<03:19, 1.48it/s][A
-
46%|████▌ | 250/544 [02:38<02:47, 1.76it/s][A
-
46%|████▌ | 251/544 [02:39<03:30, 1.39it/s][A
-
46%|████▋ | 252/544 [02:39<03:04, 1.58it/s][A
-
47%|████▋ | 253/544 [02:40<02:44, 1.77it/s][A
-
47%|████▋ | 254/544 [02:41<03:29, 1.38it/s][A
+
44%|████▍ | 241/544 [02:32<03:12, 1.57it/s][A
+
44%|████▍ | 242/544 [02:32<02:40, 1.88it/s][A
+
45%|████▍ | 243/544 [02:33<03:27, 1.45it/s][A
+
45%|████▍ | 244/544 [02:34<02:58, 1.68it/s][A
+
45%|████▌ | 245/544 [02:34<02:40, 1.86it/s][A
+
45%|████▌ | 246/544 [02:35<03:24, 1.46it/s][A
+
45%|████▌ | 247/544 [02:36<02:48, 1.76it/s][A
+
46%|████▌ | 248/544 [02:36<02:57, 1.67it/s][A
+
46%|████▌ | 249/544 [02:37<03:12, 1.53it/s][A
+
46%|████▌ | 250/544 [02:37<02:42, 1.81it/s][A
+
46%|████▌ | 251/544 [02:38<03:26, 1.42it/s][A
+
46%|████▋ | 252/544 [02:39<03:02, 1.60it/s][A
+
47%|████▋ | 253/544 [02:39<02:44, 1.77it/s][A
+
47%|████▋ | 254/544 [02:40<03:30, 1.38it/s][A
47%|████▋ | 255/544 [02:41<02:53, 1.67it/s][A
-
47%|████▋ | 256/544 [02:42<02:43, 1.76it/s][A
-
47%|████▋ | 257/544 [02:43<03:20, 1.43it/s][A
-
47%|████▋ | 258/544 [02:43<02:47, 1.71it/s][A
-
48%|████▊ | 259/544 [02:44<03:15, 1.46it/s][A
-
48%|████▊ | 260/544 [02:45<03:05, 1.53it/s][A
-
48%|████▊ | 261/544 [02:45<02:37, 1.80it/s][A
-
48%|████▊ | 262/544 [02:46<03:20, 1.40it/s][A
-
48%|████▊ | 263/544 [02:46<02:55, 1.60it/s][A
-
49%|████▊ | 264/544 [02:47<02:38, 1.77it/s][A
-
49%|████▊ | 265/544 [02:48<03:22, 1.38it/s][A
-
49%|████▉ | 266/544 [02:48<02:47, 1.66it/s][A
-
49%|████▉ | 267/544 [02:49<02:50, 1.62it/s][A
-
49%|████▉ | 268/544 [02:50<03:09, 1.46it/s][A
-
49%|████▉ | 269/544 [02:50<02:37, 1.74it/s][A
-
50%|████▉ | 270/544 [02:51<03:15, 1.40it/s][A
-
50%|████▉ | 271/544 [02:52<02:53, 1.57it/s][A
-
50%|█████ | 272/544 [02:52<02:33, 1.78it/s][A
-
50%|█████ | 273/544 [02:53<03:16, 1.38it/s][A
-
50%|█████ | 274/544 [02:53<02:42, 1.66it/s][A
-
51%|█████ | 275/544 [02:54<02:28, 1.82it/s][A
-
51%|█████ | 276/544 [02:55<03:08, 1.42it/s][A
-
51%|█████ | 277/544 [02:55<02:37, 1.69it/s][A
-
51%|█████ | 278/544 [02:56<02:58, 1.49it/s][A
-
51%|█████▏ | 279/544 [02:57<02:55, 1.51it/s][A
-
51%|█████▏ | 280/544 [02:57<02:26, 1.80it/s][A
-
52%|█████▏ | 281/544 [02:58<03:08, 1.40it/s][A
-
52%|█████▏ | 282/544 [02:59<02:44, 1.60it/s][A
-
52%|█████▏ | 283/544 [02:59<02:26, 1.78it/s][A
-
52%|█████▏ | 284/544 [03:00<03:06, 1.40it/s][A
-
52%|█████▏ | 285/544 [03:00<02:34, 1.68it/s][A
-
53%|█████▎ | 286/544 [03:01<02:32, 1.69it/s][A
-
53%|█████▎ | 287/544 [03:02<02:56, 1.46it/s][A
-
53%|█████▎ | 288/544 [03:02<02:27, 1.74it/s][A
-
53%|█████▎ | 289/544 [03:03<02:59, 1.42it/s][A
-
53%|█████▎ | 290/544 [03:04<02:41, 1.57it/s][A
-
53%|█████▎ | 291/544 [03:04<02:16, 1.85it/s][A
-
54%|█████▎ | 292/544 [03:05<02:57, 1.42it/s][A
-
54%|█████▍ | 293/544 [03:05<02:33, 1.63it/s][A
-
54%|█████▍ | 294/544 [03:06<02:19, 1.79it/s][A
-
54%|█████▍ | 295/544 [03:07<02:57, 1.40it/s][A
-
54%|█████▍ | 296/544 [03:07<02:27, 1.69it/s][A
-
55%|█████▍ | 297/544 [03:08<02:40, 1.54it/s][A
-
55%|█████▍ | 298/544 [03:09<02:43, 1.50it/s][A
-
55%|█████▍ | 299/544 [03:09<02:16, 1.79it/s][A
-
55%|█████▌ | 300/544 [03:10<02:54, 1.40it/s][A
-
55%|█████▌ | 301/544 [03:11<02:32, 1.60it/s][A
-
56%|█████▌ | 302/544 [03:11<02:15, 1.79it/s][A
-
56%|█████▌ | 303/544 [03:12<02:53, 1.39it/s][A
-
56%|█████▌ | 304/544 [03:12<02:23, 1.67it/s][A
-
56%|█████▌ | 305/544 [03:13<02:16, 1.75it/s][A
-
56%|█████▋ | 306/544 [03:14<02:44, 1.44it/s][A
-
56%|█████▋ | 307/544 [03:14<02:17, 1.72it/s][A
-
57%|█████▋ | 308/544 [03:15<02:45, 1.43it/s][A
-
57%|█████▋ | 309/544 [03:16<02:31, 1.55it/s][A
-
57%|█████▋ | 310/544 [03:16<02:07, 1.83it/s][A
-
57%|█████▋ | 311/544 [03:17<02:44, 1.42it/s][A
-
57%|█████▋ | 312/544 [03:17<02:23, 1.62it/s][A
-
58%|█████▊ | 313/544 [03:18<02:09, 1.78it/s][A
-
58%|█████▊ | 314/544 [03:19<02:44, 1.40it/s][A
-
58%|█████▊ | 315/544 [03:19<02:16, 1.68it/s][A
-
58%|█████▊ | 316/544 [03:20<02:22, 1.60it/s][A
-
58%|█████▊ | 317/544 [03:21<02:32, 1.49it/s][A
-
58%|█████▊ | 318/544 [03:21<02:07, 1.77it/s][A
-
59%|█████▊ | 319/544 [03:22<02:41, 1.40it/s][A
-
59%|█████▉ | 320/544 [03:23<02:20, 1.59it/s][A
-
59%|█████▉ | 321/544 [03:23<01:59, 1.87it/s][A
-
59%|█████▉ | 322/544 [03:24<02:35, 1.42it/s][A
-
59%|█████▉ | 323/544 [03:24<02:09, 1.70it/s][A
-
60%|█████▉ | 324/544 [03:25<02:02, 1.80it/s][A
-
60%|█████▉ | 325/544 [03:26<02:31, 1.44it/s][A
-
60%|█████▉ | 326/544 [03:26<02:06, 1.72it/s][A
-
60%|██████ | 327/544 [03:27<02:26, 1.48it/s][A
-
60%|██████ | 328/544 [03:28<02:21, 1.53it/s][A
-
60%|██████ | 329/544 [03:28<01:58, 1.81it/s][A
-
61%|██████ | 330/544 [03:29<02:32, 1.40it/s][A
-
61%|██████ | 331/544 [03:29<02:12, 1.61it/s][A
-
61%|██████ | 332/544 [03:30<01:59, 1.78it/s][A
-
61%|██████ | 333/544 [03:31<02:31, 1.39it/s][A
-
61%|██████▏ | 334/544 [03:31<02:05, 1.67it/s][A
-
62%|██████▏ | 335/544 [03:32<02:07, 1.63it/s][A
-
62%|██████▏ | 336/544 [03:33<02:22, 1.46it/s][A
-
62%|██████▏ | 337/544 [03:33<01:58, 1.75it/s][A
-
62%|██████▏ | 338/544 [03:34<02:26, 1.41it/s][A
-
62%|██████▏ | 339/544 [03:35<02:10, 1.57it/s][A
-
62%|██████▎ | 340/544 [03:35<01:55, 1.76it/s][A
-
63%|██████▎ | 341/544 [03:36<02:27, 1.38it/s][A
-
63%|██████▎ | 342/544 [03:36<02:01, 1.66it/s][A
-
63%|██████▎ | 343/544 [03:37<01:52, 1.79it/s][A
-
63%|██████▎ | 344/544 [03:38<02:19, 1.43it/s][A
-
63%|██████▎ | 345/544 [03:38<01:56, 1.71it/s][A
-
64%|██████▎ | 346/544 [03:39<02:11, 1.51it/s][A
-
64%|██████▍ | 347/544 [03:40<02:09, 1.52it/s][A
+
47%|████▋ | 256/544 [02:41<02:43, 1.76it/s][A
+
47%|████▋ | 257/544 [02:42<03:22, 1.42it/s][A
+
47%|████▋ | 258/544 [02:42<02:47, 1.71it/s][A
+
48%|████▊ | 259/544 [02:43<03:14, 1.46it/s][A
+
48%|████▊ | 260/544 [02:44<03:05, 1.53it/s][A
+
48%|████▊ | 261/544 [02:44<02:35, 1.82it/s][A
+
48%|████▊ | 262/544 [02:45<03:23, 1.39it/s][A
+
48%|████▊ | 263/544 [02:46<02:56, 1.59it/s][A
+
49%|████▊ | 264/544 [02:46<02:39, 1.76it/s][A
+
49%|████▊ | 265/544 [02:47<03:21, 1.38it/s][A
+
49%|████▉ | 266/544 [02:48<02:46, 1.67it/s][A
+
49%|████▉ | 267/544 [02:48<02:48, 1.64it/s][A
+
49%|████▉ | 268/544 [02:49<03:07, 1.47it/s][A
+
49%|████▉ | 269/544 [02:49<02:35, 1.77it/s][A
+
50%|████▉ | 270/544 [02:50<03:15, 1.40it/s][A
+
50%|████▉ | 271/544 [02:51<02:53, 1.57it/s][A
+
50%|█████ | 272/544 [02:51<02:33, 1.77it/s][A
+
50%|█████ | 273/544 [02:52<03:15, 1.38it/s][A
+
50%|█████ | 274/544 [02:53<02:42, 1.67it/s][A
+
51%|█████ | 275/544 [02:53<02:29, 1.80it/s][A
+
51%|█████ | 276/544 [02:54<03:08, 1.42it/s][A
+
51%|█████ | 277/544 [02:55<02:35, 1.71it/s][A
+
51%|█████ | 278/544 [02:55<02:57, 1.50it/s][A
+
51%|█████▏ | 279/544 [02:56<02:53, 1.53it/s][A
+
51%|█████▏ | 280/544 [02:56<02:26, 1.80it/s][A
+
52%|█████▏ | 281/544 [02:57<03:06, 1.41it/s][A
+
52%|█████▏ | 282/544 [02:58<02:43, 1.61it/s][A
+
52%|█████▏ | 283/544 [02:58<02:26, 1.78it/s][A
+
52%|█████▏ | 284/544 [02:59<03:07, 1.39it/s][A
+
52%|█████▏ | 285/544 [03:00<02:35, 1.66it/s][A
+
53%|█████▎ | 286/544 [03:00<02:33, 1.68it/s][A
+
53%|█████▎ | 287/544 [03:01<02:57, 1.45it/s][A
+
53%|█████▎ | 288/544 [03:01<02:28, 1.72it/s][A
+
53%|█████▎ | 289/544 [03:02<03:01, 1.41it/s][A
+
53%|█████▎ | 290/544 [03:03<02:43, 1.55it/s][A
+
53%|█████▎ | 291/544 [03:03<02:17, 1.84it/s][A
+
54%|█████▎ | 292/544 [03:04<02:57, 1.42it/s][A
+
54%|█████▍ | 293/544 [03:05<02:35, 1.61it/s][A
+
54%|█████▍ | 294/544 [03:05<02:19, 1.79it/s][A
+
54%|█████▍ | 295/544 [03:06<02:57, 1.40it/s][A
+
54%|█████▍ | 296/544 [03:07<02:26, 1.70it/s][A
+
55%|█████▍ | 297/544 [03:07<02:40, 1.54it/s][A
+
55%|█████▍ | 298/544 [03:08<02:45, 1.49it/s][A
+
55%|█████▍ | 299/544 [03:08<02:18, 1.77it/s][A
+
55%|█████▌ | 300/544 [03:09<02:56, 1.39it/s][A
+
55%|█████▌ | 301/544 [03:10<02:34, 1.57it/s][A
+
56%|█████▌ | 302/544 [03:10<02:18, 1.75it/s][A
+
56%|█████▌ | 303/544 [03:11<02:56, 1.36it/s][A
+
56%|█████▌ | 304/544 [03:12<02:25, 1.64it/s][A
+
56%|█████▌ | 305/544 [03:12<02:19, 1.71it/s][A
+
56%|█████▋ | 306/544 [03:13<02:49, 1.41it/s][A
+
56%|█████▋ | 307/544 [03:14<02:20, 1.69it/s][A
+
57%|█████▋ | 308/544 [03:15<02:48, 1.40it/s][A
+
57%|█████▋ | 309/544 [03:15<02:35, 1.52it/s][A
+
57%|█████▋ | 310/544 [03:15<02:09, 1.80it/s][A
+
57%|█████▋ | 311/544 [03:17<02:47, 1.39it/s][A
+
57%|█████▋ | 312/544 [03:17<02:25, 1.60it/s][A
+
58%|█████▊ | 313/544 [03:17<02:10, 1.77it/s][A
+
58%|█████▊ | 314/544 [03:18<02:45, 1.39it/s][A
+
58%|█████▊ | 315/544 [03:19<02:17, 1.67it/s][A
+
58%|█████▊ | 316/544 [03:19<02:24, 1.58it/s][A
+
58%|█████▊ | 317/544 [03:20<02:35, 1.46it/s][A
+
58%|█████▊ | 318/544 [03:21<02:09, 1.74it/s][A
+
59%|█████▊ | 319/544 [03:22<02:42, 1.38it/s][A
+
59%|█████▉ | 320/544 [03:22<02:22, 1.58it/s][A
+
59%|█████▉ | 321/544 [03:22<01:59, 1.86it/s][A
+
59%|█████▉ | 322/544 [03:24<02:36, 1.41it/s][A
+
59%|█████▉ | 323/544 [03:24<02:10, 1.70it/s][A
+
60%|█████▉ | 324/544 [03:24<02:02, 1.79it/s][A
+
60%|█████▉ | 325/544 [03:25<02:34, 1.42it/s][A
+
60%|█████▉ | 326/544 [03:26<02:08, 1.70it/s][A
+
60%|██████ | 327/544 [03:27<02:28, 1.46it/s][A
+
60%|██████ | 328/544 [03:27<02:22, 1.52it/s][A
+
60%|██████ | 329/544 [03:28<02:00, 1.79it/s][A
+
61%|██████ | 330/544 [03:29<02:35, 1.38it/s][A
+
61%|██████ | 331/544 [03:29<02:13, 1.59it/s][A
+
61%|██████ | 332/544 [03:29<02:00, 1.76it/s][A
+
61%|██████ | 333/544 [03:31<02:33, 1.38it/s][A
+
61%|██████▏ | 334/544 [03:31<02:07, 1.65it/s][A
+
62%|██████▏ | 335/544 [03:32<02:08, 1.62it/s][A
+
62%|██████▏ | 336/544 [03:32<02:22, 1.46it/s][A
+
62%|██████▏ | 337/544 [03:33<01:57, 1.75it/s][A
+
62%|██████▏ | 338/544 [03:34<02:27, 1.39it/s][A
+
62%|██████▏ | 339/544 [03:34<02:12, 1.55it/s][A
+
62%|██████▎ | 340/544 [03:35<01:56, 1.75it/s][A
+
63%|██████▎ | 341/544 [03:36<02:28, 1.36it/s][A
+
63%|██████▎ | 342/544 [03:36<02:02, 1.64it/s][A
+
63%|██████▎ | 343/544 [03:36<01:52, 1.78it/s][A
+
63%|██████▎ | 344/544 [03:38<02:21, 1.41it/s][A
+
63%|██████▎ | 345/544 [03:38<01:57, 1.69it/s][A
+
64%|██████▎ | 346/544 [03:39<02:12, 1.50it/s][A
+
64%|██████▍ | 347/544 [03:39<02:09, 1.52it/s][A
64%|██████▍ | 348/544 [03:40<01:48, 1.81it/s][A
-
64%|██████▍ | 349/544 [03:41<02:18, 1.41it/s][A
-
64%|██████▍ | 350/544 [03:41<02:00, 1.61it/s][A
-
65%|██████▍ | 351/544 [03:42<01:47, 1.79it/s][A
-
65%|██████▍ | 352/544 [03:43<02:17, 1.40it/s][A
+
64%|██████▍ | 349/544 [03:41<02:21, 1.38it/s][A
+
64%|██████▍ | 350/544 [03:41<02:01, 1.60it/s][A
+
65%|██████▍ | 351/544 [03:42<01:48, 1.77it/s][A
+
65%|██████▍ | 352/544 [03:43<02:18, 1.39it/s][A
65%|██████▍ | 353/544 [03:43<01:53, 1.68it/s][A
-
65%|██████▌ | 354/544 [03:44<01:52, 1.69it/s][A
-
65%|██████▌ | 355/544 [03:45<02:09, 1.46it/s][A
-
65%|██████▌ | 356/544 [03:45<01:47, 1.74it/s][A
+
65%|██████▌ | 354/544 [03:44<01:51, 1.70it/s][A
+
65%|██████▌ | 355/544 [03:44<02:09, 1.46it/s][A
+
65%|██████▌ | 356/544 [03:45<01:48, 1.73it/s][A
66%|██████▌ | 357/544 [03:46<02:12, 1.41it/s][A
-
66%|██████▌ | 358/544 [03:47<01:58, 1.57it/s][A
-
66%|██████▌ | 359/544 [03:47<01:40, 1.85it/s][A
-
66%|██████▌ | 360/544 [03:48<02:09, 1.42it/s][A
-
66%|██████▋ | 361/544 [03:48<01:52, 1.62it/s][A
-
67%|██████▋ | 362/544 [03:49<01:41, 1.79it/s][A
-
67%|██████▋ | 363/544 [03:50<02:08, 1.41it/s][A
-
67%|██████▋ | 364/544 [03:50<01:46, 1.69it/s][A
-
67%|██████▋ | 365/544 [03:51<01:55, 1.55it/s][A
-
67%|██████▋ | 366/544 [03:52<01:58, 1.50it/s][A
-
67%|██████▋ | 367/544 [03:52<01:39, 1.79it/s][A
-
68%|██████▊ | 368/544 [03:53<02:05, 1.40it/s][A
-
68%|██████▊ | 369/544 [03:53<01:49, 1.60it/s][A
-
68%|██████▊ | 370/544 [03:54<01:37, 1.78it/s][A
-
68%|██████▊ | 371/544 [03:55<02:03, 1.40it/s][A
-
68%|██████▊ | 372/544 [03:55<01:42, 1.68it/s][A
-
69%|██████▊ | 373/544 [03:56<01:37, 1.76it/s][A
-
69%|██████▉ | 374/544 [03:57<01:57, 1.45it/s][A
-
69%|██████▉ | 375/544 [03:57<01:37, 1.74it/s][A
-
69%|██████▉ | 376/544 [03:58<01:56, 1.44it/s][A
-
69%|██████▉ | 377/544 [03:59<01:46, 1.56it/s][A
-
69%|██████▉ | 378/544 [03:59<01:29, 1.85it/s][A
-
70%|██████▉ | 379/544 [04:00<01:56, 1.42it/s][A
-
70%|██████▉ | 380/544 [04:00<01:40, 1.63it/s][A
-
70%|███████ | 381/544 [04:01<01:30, 1.79it/s][A
-
70%|███████ | 382/544 [04:02<01:55, 1.41it/s][A
-
70%|███████ | 383/544 [04:02<01:35, 1.69it/s][A
-
71%|███████ | 384/544 [04:03<01:39, 1.60it/s][A
-
71%|███████ | 385/544 [04:04<01:46, 1.50it/s][A
-
71%|███████ | 386/544 [04:04<01:28, 1.78it/s][A
-
71%|███████ | 387/544 [04:05<01:51, 1.41it/s][A
-
71%|███████▏ | 388/544 [04:05<01:38, 1.59it/s][A
-
72%|███████▏ | 389/544 [04:06<01:26, 1.78it/s][A
+
66%|██████▌ | 358/544 [03:46<01:59, 1.56it/s][A
+
66%|██████▌ | 359/544 [03:47<01:40, 1.84it/s][A
+
66%|██████▌ | 360/544 [03:48<02:10, 1.41it/s][A
+
66%|██████▋ | 361/544 [03:48<01:54, 1.60it/s][A
+
67%|██████▋ | 362/544 [03:49<01:43, 1.76it/s][A
+
67%|██████▋ | 363/544 [03:50<02:11, 1.38it/s][A
+
67%|██████▋ | 364/544 [03:50<01:47, 1.67it/s][A
+
67%|██████▋ | 365/544 [03:51<01:57, 1.52it/s][A
+
67%|██████▋ | 366/544 [03:51<02:00, 1.47it/s][A
+
67%|██████▋ | 367/544 [03:52<01:41, 1.75it/s][A
+
68%|██████▊ | 368/544 [03:53<02:07, 1.38it/s][A
+
68%|██████▊ | 369/544 [03:53<01:51, 1.57it/s][A
+
68%|██████▊ | 370/544 [03:54<01:39, 1.75it/s][A
+
68%|██████▊ | 371/544 [03:55<02:06, 1.36it/s][A
+
68%|██████▊ | 372/544 [03:55<01:43, 1.66it/s][A
+
69%|██████▊ | 373/544 [03:56<01:39, 1.72it/s][A
+
69%|██████▉ | 374/544 [03:57<01:59, 1.43it/s][A
+
69%|██████▉ | 375/544 [03:57<01:38, 1.71it/s][A
+
69%|██████▉ | 376/544 [03:58<01:58, 1.42it/s][A
+
69%|██████▉ | 377/544 [03:58<01:48, 1.53it/s][A
+
69%|██████▉ | 378/544 [03:59<01:31, 1.82it/s][A
+
70%|██████▉ | 379/544 [04:00<01:58, 1.39it/s][A
+
70%|██████▉ | 380/544 [04:00<01:41, 1.61it/s][A
+
70%|███████ | 381/544 [04:01<01:31, 1.77it/s][A
+
70%|███████ | 382/544 [04:02<01:55, 1.40it/s][A
+
70%|███████ | 383/544 [04:02<01:35, 1.68it/s][A
+
71%|███████ | 384/544 [04:03<01:40, 1.60it/s][A
+
71%|███████ | 385/544 [04:04<01:47, 1.48it/s][A
+
71%|███████ | 386/544 [04:04<01:29, 1.77it/s][A
+
71%|███████ | 387/544 [04:05<01:52, 1.40it/s][A
+
71%|███████▏ | 388/544 [04:05<01:38, 1.58it/s][A
+
72%|███████▏ | 389/544 [04:06<01:28, 1.76it/s][A
72%|███████▏ | 390/544 [04:07<01:50, 1.39it/s][A
72%|███████▏ | 391/544 [04:07<01:31, 1.67it/s][A
-
72%|███████▏ | 392/544 [04:08<01:25, 1.77it/s][A
+
72%|███████▏ | 392/544 [04:08<01:25, 1.79it/s][A
72%|███████▏ | 393/544 [04:09<01:45, 1.43it/s][A
72%|███████▏ | 394/544 [04:09<01:27, 1.71it/s][A
-
73%|███████▎ | 395/544 [04:10<01:41, 1.46it/s][A
-
73%|███████▎ | 396/544 [04:11<01:36, 1.53it/s][A
-
73%|███████▎ | 397/544 [04:11<01:20, 1.82it/s][A
-
73%|███████▎ | 398/544 [04:12<01:43, 1.42it/s][A
-
73%|███████▎ | 399/544 [04:12<01:29, 1.62it/s][A
-
74%|███████▎ | 400/544 [04:13<01:20, 1.80it/s][A
-
74%|███████▎ | 401/544 [04:14<01:42, 1.40it/s][A
-
74%|███████▍ | 402/544 [04:14<01:24, 1.67it/s][A
-
74%|███████▍ | 403/544 [04:15<01:25, 1.64it/s][A
-
74%|███████▍ | 404/544 [04:16<01:35, 1.47it/s][A
-
74%|███████▍ | 405/544 [04:16<01:19, 1.75it/s][A
-
75%|███████▍ | 406/544 [04:17<01:38, 1.40it/s][A
-
75%|███████▍ | 407/544 [04:17<01:26, 1.58it/s][A
+
73%|███████▎ | 395/544 [04:10<01:42, 1.46it/s][A
+
73%|███████▎ | 396/544 [04:11<01:37, 1.52it/s][A
+
73%|███████▎ | 397/544 [04:11<01:21, 1.81it/s][A
+
73%|███████▎ | 398/544 [04:12<01:45, 1.39it/s][A
+
73%|███████▎ | 399/544 [04:12<01:31, 1.59it/s][A
+
74%|███████▎ | 400/544 [04:13<01:21, 1.76it/s][A
+
74%|███████▎ | 401/544 [04:14<01:43, 1.38it/s][A
+
74%|███████▍ | 402/544 [04:14<01:25, 1.66it/s][A
+
74%|███████▍ | 403/544 [04:15<01:26, 1.63it/s][A
+
74%|███████▍ | 404/544 [04:16<01:34, 1.48it/s][A
+
74%|███████▍ | 405/544 [04:16<01:18, 1.76it/s][A
+
75%|███████▍ | 406/544 [04:17<01:38, 1.39it/s][A
+
75%|███████▍ | 407/544 [04:17<01:27, 1.57it/s][A
75%|███████▌ | 408/544 [04:18<01:13, 1.86it/s][A
75%|███████▌ | 409/544 [04:19<01:35, 1.42it/s][A
-
75%|███████▌ | 410/544 [04:19<01:18, 1.70it/s][A
-
76%|███████▌ | 411/544 [04:20<01:12, 1.83it/s][A
-
76%|███████▌ | 412/544 [04:21<01:31, 1.45it/s][A
-
76%|███████▌ | 413/544 [04:21<01:15, 1.73it/s][A
-
76%|███████▌ | 414/544 [04:22<01:25, 1.51it/s][A
-
76%|███████▋ | 415/544 [04:22<01:24, 1.53it/s][A
-
76%|███████▋ | 416/544 [04:23<01:10, 1.81it/s][A
-
77%|███████▋ | 417/544 [04:24<01:30, 1.41it/s][A
-
77%|███████▋ | 418/544 [04:24<01:18, 1.61it/s][A
-
77%|███████▋ | 419/544 [04:25<01:09, 1.79it/s][A
-
77%|███████▋ | 420/544 [04:26<01:29, 1.39it/s][A
+
75%|███████▌ | 410/544 [04:19<01:19, 1.69it/s][A
+
76%|███████▌ | 411/544 [04:20<01:13, 1.80it/s][A
+
76%|███████▌ | 412/544 [04:21<01:32, 1.42it/s][A
+
76%|███████▌ | 413/544 [04:21<01:17, 1.70it/s][A
+
76%|███████▌ | 414/544 [04:22<01:27, 1.49it/s][A
+
76%|███████▋ | 415/544 [04:23<01:25, 1.51it/s][A
+
76%|███████▋ | 416/544 [04:23<01:10, 1.80it/s][A
+
77%|███████▋ | 417/544 [04:24<01:30, 1.40it/s][A
+
77%|███████▋ | 418/544 [04:24<01:18, 1.60it/s][A
+
77%|███████▋ | 419/544 [04:25<01:10, 1.77it/s][A
+
77%|███████▋ | 420/544 [04:26<01:29, 1.38it/s][A
77%|███████▋ | 421/544 [04:26<01:13, 1.67it/s][A
-
78%|███████▊ | 422/544 [04:27<01:12, 1.68it/s][A
-
78%|███████▊ | 423/544 [04:28<01:23, 1.45it/s][A
-
78%|███████▊ | 424/544 [04:28<01:09, 1.74it/s][A
-
78%|███████▊ | 425/544 [04:29<01:23, 1.42it/s][A
-
78%|███████▊ | 426/544 [04:29<01:15, 1.57it/s][A
-
78%|███████▊ | 427/544 [04:30<01:03, 1.84it/s][A
-
79%|███████▊ | 428/544 [04:31<01:21, 1.42it/s][A
-
79%|███████▉ | 429/544 [04:31<01:10, 1.62it/s][A
-
79%|███████▉ | 430/544 [04:32<01:03, 1.79it/s][A
-
79%|███████▉ | 431/544 [04:33<01:20, 1.41it/s][A
-
79%|███████▉ | 432/544 [04:33<01:06, 1.69it/s][A
-
80%|███████▉ | 433/544 [04:34<01:11, 1.55it/s][A
-
80%|███████▉ | 434/544 [04:34<01:13, 1.50it/s][A
-
80%|███████▉ | 435/544 [04:35<01:01, 1.78it/s][A
-
80%|████████ | 436/544 [04:36<01:17, 1.40it/s][A
-
80%|████████ | 437/544 [04:36<01:07, 1.59it/s][A
-
81%|████████ | 438/544 [04:37<00:59, 1.78it/s][A
-
81%|████████ | 439/544 [04:38<01:15, 1.40it/s][A
-
81%|████████ | 440/544 [04:38<01:02, 1.67it/s][A
-
81%|████████ | 441/544 [04:39<00:58, 1.75it/s][A
-
81%|████████▏ | 442/544 [04:40<01:10, 1.45it/s][A
-
81%|████████▏ | 443/544 [04:40<00:58, 1.73it/s][A
-
82%|████████▏ | 444/544 [04:41<01:09, 1.44it/s][A
-
82%|████████▏ | 445/544 [04:41<01:03, 1.56it/s][A
-
82%|████████▏ | 446/544 [04:42<00:52, 1.85it/s][A
-
82%|████████▏ | 447/544 [04:43<01:08, 1.42it/s][A
-
82%|████████▏ | 448/544 [04:43<00:58, 1.63it/s][A
-
83%|████████▎ | 449/544 [04:44<00:52, 1.80it/s][A
-
83%|████████▎ | 450/544 [04:45<01:06, 1.41it/s][A
-
83%|████████▎ | 451/544 [04:45<00:54, 1.69it/s][A
-
83%|████████▎ | 452/544 [04:46<00:57, 1.60it/s][A
-
83%|████████▎ | 453/544 [04:46<01:00, 1.50it/s][A
-
83%|████████▎ | 454/544 [04:47<00:50, 1.79it/s][A
-
84%|████████▎ | 455/544 [04:48<01:03, 1.41it/s][A
-
84%|████████▍ | 456/544 [04:48<00:54, 1.60it/s][A
-
84%|████████▍ | 457/544 [04:49<00:48, 1.80it/s][A
-
84%|████████▍ | 458/544 [04:50<01:01, 1.40it/s][A
-
84%|████████▍ | 459/544 [04:50<00:50, 1.69it/s][A
-
85%|████████▍ | 460/544 [04:50<00:46, 1.80it/s][A
-
85%|████████▍ | 461/544 [04:51<00:57, 1.45it/s][A
-
85%|████████▍ | 462/544 [04:52<00:47, 1.74it/s][A
-
85%|████████▌ | 463/544 [04:53<00:54, 1.49it/s][A
-
85%|████████▌ | 464/544 [04:53<00:51, 1.56it/s][A
-
85%|████████▌ | 465/544 [04:54<00:42, 1.86it/s][A
-
86%|████████▌ | 466/544 [04:55<00:54, 1.43it/s][A
-
86%|████████▌ | 467/544 [04:55<00:46, 1.64it/s][A
-
86%|████████▌ | 468/544 [04:55<00:41, 1.83it/s][A
-
86%|████████▌ | 469/544 [04:56<00:52, 1.42it/s][A
-
86%|████████▋ | 470/544 [04:57<00:43, 1.71it/s][A
-
87%|████████▋ | 471/544 [04:57<00:43, 1.68it/s][A
-
87%|████████▋ | 472/544 [04:58<00:48, 1.49it/s][A
-
87%|████████▋ | 473/544 [04:59<00:39, 1.79it/s][A
-
87%|████████▋ | 474/544 [05:00<00:49, 1.42it/s][A
-
87%|████████▋ | 475/544 [05:00<00:43, 1.60it/s][A
-
88%|████████▊ | 476/544 [05:00<00:35, 1.90it/s][A
-
88%|████████▊ | 477/544 [05:01<00:46, 1.44it/s][A
-
88%|████████▊ | 478/544 [05:02<00:38, 1.74it/s][A
-
88%|████████▊ | 479/544 [05:02<00:34, 1.88it/s][A
-
88%|████████▊ | 480/544 [05:03<00:43, 1.46it/s][A
-
88%|████████▊ | 481/544 [05:04<00:35, 1.75it/s][A
-
89%|████████▊ | 482/544 [05:04<00:40, 1.53it/s][A
-
89%|████████▉ | 483/544 [05:05<00:39, 1.55it/s][A
-
89%|████████▉ | 484/544 [05:05<00:32, 1.85it/s][A
-
89%|████████▉ | 485/544 [05:06<00:41, 1.43it/s][A
-
89%|████████▉ | 486/544 [05:07<00:35, 1.63it/s][A
-
90%|████████▉ | 487/544 [05:07<00:31, 1.82it/s][A
-
90%|████████▉ | 488/544 [05:08<00:39, 1.41it/s][A
-
90%|████████▉ | 489/544 [05:09<00:32, 1.70it/s][A
-
90%|█████████ | 490/544 [05:09<00:31, 1.72it/s][A
-
90%|█████████ | 491/544 [05:10<00:35, 1.48it/s][A
-
90%|█████████ | 492/544 [05:10<00:29, 1.77it/s][A
-
91%|█████████ | 493/544 [05:11<00:35, 1.43it/s][A
-
91%|█████████ | 494/544 [05:12<00:31, 1.59it/s][A
-
91%|█████████ | 495/544 [05:12<00:26, 1.88it/s][A
-
91%|█████████ | 496/544 [05:13<00:33, 1.43it/s][A
-
91%|█████████▏| 497/544 [05:14<00:28, 1.65it/s][A
-
92%|█████████▏| 498/544 [05:14<00:25, 1.81it/s][A
-
92%|█████████▏| 499/544 [05:15<00:31, 1.43it/s][A
-
92%|█████████▏| 500/544 [05:15<00:25, 1.72it/s][A
-
92%|█████████▏| 501/544 [05:16<00:27, 1.56it/s][A
-
92%|█████████▏| 502/544 [05:17<00:27, 1.52it/s][A
-
92%|█████████▏| 503/544 [05:17<00:22, 1.82it/s][A
-
93%|█████████▎| 504/544 [05:18<00:28, 1.42it/s][A
-
93%|█████████▎| 505/544 [05:19<00:24, 1.62it/s][A
-
93%|█████████▎| 506/544 [05:19<00:20, 1.81it/s][A
-
93%|█████████▎| 507/544 [05:20<00:26, 1.41it/s][A
-
93%|█████████▎| 508/544 [05:20<00:21, 1.70it/s][A
-
94%|█████████▎| 509/544 [05:21<00:19, 1.76it/s][A
-
94%|█████████▍| 510/544 [05:22<00:23, 1.47it/s][A
-
94%|█████████▍| 511/544 [05:22<00:18, 1.77it/s][A
-
94%|█████████▍| 512/544 [05:23<00:22, 1.45it/s][A
-
94%|█████████▍| 513/544 [05:24<00:19, 1.59it/s][A
-
94%|█████████▍| 514/544 [05:24<00:15, 1.89it/s][A
-
95%|█████████▍| 515/544 [05:25<00:20, 1.44it/s][A
-
95%|█████████▍| 516/544 [05:25<00:16, 1.65it/s][A
-
95%|█████████▌| 517/544 [05:26<00:14, 1.83it/s][A
-
95%|█████████▌| 518/544 [05:27<00:18, 1.42it/s][A
-
95%|█████████▌| 519/544 [05:27<00:14, 1.71it/s][A
-
96%|█████████▌| 520/544 [05:28<00:14, 1.60it/s][A
-
96%|█████████▌| 521/544 [05:29<00:15, 1.50it/s][A
-
96%|█████████▌| 522/544 [05:29<00:12, 1.79it/s][A
-
96%|█████████▌| 523/544 [05:30<00:14, 1.42it/s][A
-
96%|█████████▋| 524/544 [05:30<00:12, 1.61it/s][A
-
97%|█████████▋| 525/544 [05:31<00:10, 1.90it/s][A
-
97%|█████████▋| 526/544 [05:32<00:12, 1.44it/s][A
-
97%|█████████▋| 527/544 [05:32<00:09, 1.74it/s][A
-
97%|█████████▋| 528/544 [05:33<00:08, 1.83it/s][A
-
97%|█████████▋| 529/544 [05:34<00:10, 1.47it/s][A
-
97%|█████████▋| 530/544 [05:34<00:07, 1.76it/s][A
-
98%|█████████▊| 531/544 [05:35<00:08, 1.50it/s][A
-
98%|█████████▊| 532/544 [05:35<00:07, 1.57it/s][A
-
98%|█████████▊| 533/544 [05:36<00:05, 1.86it/s][A
-
98%|█████████▊| 534/544 [05:37<00:06, 1.43it/s][A
-
98%|█████████▊| 535/544 [05:37<00:05, 1.64it/s][A
-
99%|█████████▊| 536/544 [05:38<00:04, 1.83it/s][A
-
99%|█████████▊| 537/544 [05:39<00:04, 1.42it/s][A
-
99%|█████████▉| 538/544 [05:39<00:03, 1.71it/s][A
-
99%|█████████▉| 539/544 [05:40<00:02, 1.68it/s][A
-
99%|█████████▉| 540/544 [05:40<00:02, 1.49it/s][A
-
99%|█████████▉| 541/544 [05:41<00:01, 1.79it/s][A
-
100%|█████████▉| 542/544 [05:42<00:01, 1.43it/s][A
-
100%|█████████▉| 543/544 [05:42<00:00, 1.60it/s][A
-
100%|██████████| 544/544 [05:43<00:00, 1.77it/s][A
100%|██████████| 544/544 [05:43<00:00, 1.59it/s]
-
Processing frames: 100%|██████████| 1/1 [05:44<00:00, 344.49s/frame]
Processing frames: 100%|██████████| 1/1 [05:44<00:00, 344.49s/frame]
+
78%|███████▊ | 422/544 [04:27<01:12, 1.69it/s][A
+
78%|███████▊ | 423/544 [04:28<01:22, 1.47it/s][A
+
78%|███████▊ | 424/544 [04:28<01:08, 1.74it/s][A
+
78%|███████▊ | 425/544 [04:29<01:24, 1.41it/s][A
+
78%|███████▊ | 426/544 [04:29<01:15, 1.56it/s][A
+
78%|███████▊ | 427/544 [04:30<01:03, 1.85it/s][A
+
79%|███████▊ | 428/544 [04:31<01:22, 1.41it/s][A
+
79%|███████▉ | 429/544 [04:31<01:11, 1.61it/s][A
+
79%|███████▉ | 430/544 [04:32<01:04, 1.76it/s][A
+
79%|███████▉ | 431/544 [04:33<01:21, 1.39it/s][A
+
79%|███████▉ | 432/544 [04:33<01:07, 1.67it/s][A
+
80%|███████▉ | 433/544 [04:34<01:12, 1.52it/s][A
+
80%|███████▉ | 434/544 [04:35<01:14, 1.47it/s][A
+
80%|███████▉ | 435/544 [04:35<01:02, 1.75it/s][A
+
80%|████████ | 436/544 [04:36<01:18, 1.38it/s][A
+
80%|████████ | 437/544 [04:37<01:08, 1.56it/s][A
+
81%|████████ | 438/544 [04:37<01:00, 1.74it/s][A
+
81%|████████ | 439/544 [04:38<01:17, 1.36it/s][A
+
81%|████████ | 440/544 [04:38<01:03, 1.64it/s][A
+
81%|████████ | 441/544 [04:39<01:00, 1.72it/s][A
+
81%|████████▏ | 442/544 [04:40<01:11, 1.42it/s][A
+
81%|████████▏ | 443/544 [04:40<00:59, 1.71it/s][A
+
82%|████████▏ | 444/544 [04:41<01:10, 1.42it/s][A
+
82%|████████▏ | 445/544 [04:42<01:04, 1.54it/s][A
+
82%|████████▏ | 446/544 [04:42<00:53, 1.82it/s][A
+
82%|████████▏ | 447/544 [04:43<01:09, 1.40it/s][A
+
82%|████████▏ | 448/544 [04:44<00:59, 1.61it/s][A
+
83%|████████▎ | 449/544 [04:44<00:53, 1.78it/s][A
+
83%|████████▎ | 450/544 [04:45<01:07, 1.39it/s][A
+
83%|████████▎ | 451/544 [04:45<00:55, 1.67it/s][A
+
83%|████████▎ | 452/544 [04:46<00:58, 1.57it/s][A
+
83%|████████▎ | 453/544 [04:47<01:01, 1.47it/s][A
+
83%|████████▎ | 454/544 [04:47<00:51, 1.75it/s][A
+
84%|████████▎ | 455/544 [04:48<01:04, 1.39it/s][A
+
84%|████████▍ | 456/544 [04:49<00:55, 1.57it/s][A
+
84%|████████▍ | 457/544 [04:49<00:49, 1.75it/s][A
+
84%|████████▍ | 458/544 [04:50<01:02, 1.38it/s][A
+
84%|████████▍ | 459/544 [04:51<00:51, 1.66it/s][A
+
85%|████████▍ | 460/544 [04:51<00:47, 1.77it/s][A
+
85%|████████▍ | 461/544 [04:52<00:58, 1.43it/s][A
+
85%|████████▍ | 462/544 [04:52<00:47, 1.72it/s][A
+
85%|████████▌ | 463/544 [04:53<00:55, 1.46it/s][A
+
85%|████████▌ | 464/544 [04:54<00:52, 1.53it/s][A
+
85%|████████▌ | 465/544 [04:54<00:43, 1.82it/s][A
+
86%|████████▌ | 466/544 [04:55<00:55, 1.40it/s][A
+
86%|████████▌ | 467/544 [04:56<00:48, 1.60it/s][A
+
86%|████████▌ | 468/544 [04:56<00:43, 1.76it/s][A
+
86%|████████▌ | 469/544 [04:57<00:54, 1.38it/s][A
+
86%|████████▋ | 470/544 [04:57<00:44, 1.66it/s][A
+
87%|████████▋ | 471/544 [04:58<00:44, 1.64it/s][A
+
87%|████████▋ | 472/544 [04:59<00:49, 1.46it/s][A
+
87%|████████▋ | 473/544 [04:59<00:40, 1.75it/s][A
+
87%|████████▋ | 474/544 [05:00<00:50, 1.39it/s][A
+
87%|████████▋ | 475/544 [05:01<00:44, 1.56it/s][A
+
88%|████████▊ | 476/544 [05:01<00:36, 1.84it/s][A
+
88%|████████▊ | 477/544 [05:02<00:47, 1.42it/s][A
+
88%|████████▊ | 478/544 [05:03<00:38, 1.69it/s][A
+
88%|████████▊ | 479/544 [05:03<00:35, 1.82it/s][A
+
88%|████████▊ | 480/544 [05:04<00:44, 1.43it/s][A
+
88%|████████▊ | 481/544 [05:04<00:36, 1.72it/s][A
+
89%|████████▊ | 482/544 [05:05<00:41, 1.50it/s][A
+
89%|████████▉ | 483/544 [05:06<00:39, 1.54it/s][A
+
89%|████████▉ | 484/544 [05:06<00:32, 1.83it/s][A
+
89%|████████▉ | 485/544 [05:07<00:41, 1.42it/s][A
+
89%|████████▉ | 486/544 [05:08<00:35, 1.62it/s][A
+
90%|████████▉ | 487/544 [05:08<00:31, 1.79it/s][A
+
90%|████████▉ | 488/544 [05:09<00:40, 1.39it/s][A
+
90%|████████▉ | 489/544 [05:09<00:32, 1.68it/s][A
+
90%|█████████ | 490/544 [05:10<00:31, 1.70it/s][A
+
90%|█████████ | 491/544 [05:11<00:36, 1.46it/s][A
+
90%|█████████ | 492/544 [05:11<00:29, 1.74it/s][A
+
91%|█████████ | 493/544 [05:12<00:36, 1.41it/s][A
+
91%|█████████ | 494/544 [05:13<00:31, 1.57it/s][A
+
91%|█████████ | 495/544 [05:13<00:26, 1.85it/s][A
+
91%|█████████ | 496/544 [05:14<00:33, 1.42it/s][A
+
91%|█████████▏| 497/544 [05:15<00:29, 1.62it/s][A
+
92%|█████████▏| 498/544 [05:15<00:25, 1.77it/s][A
+
92%|█████████▏| 499/544 [05:16<00:32, 1.39it/s][A
+
92%|█████████▏| 500/544 [05:16<00:26, 1.69it/s][A
+
92%|█████████▏| 501/544 [05:17<00:28, 1.53it/s][A
+
92%|█████████▏| 502/544 [05:18<00:28, 1.50it/s][A
+
92%|█████████▏| 503/544 [05:18<00:22, 1.78it/s][A
+
93%|█████████▎| 504/544 [05:19<00:28, 1.41it/s][A
+
93%|█████████▎| 505/544 [05:20<00:24, 1.59it/s][A
+
93%|█████████▎| 506/544 [05:20<00:21, 1.78it/s][A
+
93%|█████████▎| 507/544 [05:21<00:26, 1.38it/s][A
+
93%|█████████▎| 508/544 [05:21<00:21, 1.67it/s][A
+
94%|█████████▎| 509/544 [05:22<00:20, 1.72it/s][A
+
94%|█████████▍| 510/544 [05:23<00:23, 1.44it/s][A
+
94%|█████████▍| 511/544 [05:23<00:19, 1.72it/s][A
+
94%|█████████▍| 512/544 [05:24<00:22, 1.41it/s][A
+
94%|█████████▍| 513/544 [05:25<00:19, 1.55it/s][A
+
94%|█████████▍| 514/544 [05:25<00:16, 1.84it/s][A
+
95%|█████████▍| 515/544 [05:26<00:20, 1.42it/s][A
+
95%|█████████▍| 516/544 [05:27<00:17, 1.63it/s][A
+
95%|█████████▌| 517/544 [05:27<00:15, 1.79it/s][A
+
95%|█████████▌| 518/544 [05:28<00:18, 1.40it/s][A
+
95%|█████████▌| 519/544 [05:28<00:14, 1.70it/s][A
+
96%|█████████▌| 520/544 [05:29<00:15, 1.59it/s][A
+
96%|█████████▌| 521/544 [05:30<00:15, 1.48it/s][A
+
96%|█████████▌| 522/544 [05:30<00:12, 1.78it/s][A
+
96%|█████████▌| 523/544 [05:31<00:15, 1.40it/s][A
+
96%|█████████▋| 524/544 [05:32<00:12, 1.58it/s][A
+
97%|█████████▋| 525/544 [05:32<00:10, 1.87it/s][A
+
97%|█████████▋| 526/544 [05:33<00:12, 1.42it/s][A
+
97%|█████████▋| 527/544 [05:33<00:09, 1.71it/s][A
+
97%|█████████▋| 528/544 [05:34<00:08, 1.80it/s][A
+
97%|█████████▋| 529/544 [05:35<00:10, 1.44it/s][A
+
97%|█████████▋| 530/544 [05:35<00:08, 1.72it/s][A
+
98%|█████████▊| 531/544 [05:36<00:08, 1.47it/s][A
+
98%|█████████▊| 532/544 [05:37<00:07, 1.54it/s][A
+
98%|█████████▊| 533/544 [05:37<00:06, 1.83it/s][A
+
98%|█████████▊| 534/544 [05:38<00:07, 1.40it/s][A
+
98%|█████████▊| 535/544 [05:39<00:05, 1.61it/s][A
+
99%|█████████▊| 536/544 [05:39<00:04, 1.79it/s][A
+
99%|█████████▊| 537/544 [05:40<00:04, 1.41it/s][A
+
99%|█████████▉| 538/544 [05:40<00:03, 1.71it/s][A
+
99%|█████████▉| 539/544 [05:41<00:02, 1.68it/s][A
+
99%|█████████▉| 540/544 [05:42<00:02, 1.49it/s][A
+
99%|█████████▉| 541/544 [05:42<00:01, 1.80it/s][A
+
100%|█████████▉| 542/544 [05:43<00:01, 1.42it/s][A
+
100%|█████████▉| 543/544 [05:44<00:00, 1.59it/s][A
+
100%|██████████| 544/544 [05:44<00:00, 1.75it/s][A
100%|██████████| 544/544 [05:44<00:00, 1.58it/s]
+
Processing frames: 100%|██████████| 1/1 [05:45<00:00, 345.13s/frame]
Processing frames: 100%|██████████| 1/1 [05:45<00:00, 345.13s/frame]
(1, 1, 1360, 1360, 1)
python3 10_midgley.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:12<20:12, 12.25s/frame]
Processing frames: 2%|▏ | 2/100 [00:24<20:03, 12.28s/frame]
Processing frames: 3%|▎ | 3/100 [00:36<19:51, 12.28s/frame]
Processing frames: 4%|▍ | 4/100 [00:49<19:34, 12.24s/frame]
Processing frames: 5%|▌ | 5/100 [01:01<19:21, 12.23s/frame]
Processing frames: 6%|▌ | 6/100 [01:13<19:07, 12.20s/frame]
Processing frames: 7%|▋ | 7/100 [01:25<18:56, 12.22s/frame]
Processing frames: 8%|▊ | 8/100 [01:37<18:43, 12.21s/frame]
Processing frames: 9%|▉ | 9/100 [01:50<18:34, 12.25s/frame]
Processing frames: 10%|█ | 10/100 [02:02<18:22, 12.25s/frame]
Processing frames: 11%|█ | 11/100 [02:14<18:09, 12.24s/frame]
Processing frames: 12%|█▏ | 12/100 [02:26<18:00, 12.28s/frame]
Processing frames: 13%|█▎ | 13/100 [02:39<17:50, 12.31s/frame]
Processing frames: 14%|█▍ | 14/100 [02:51<17:38, 12.30s/frame]
Processing frames: 15%|█▌ | 15/100 [03:03<17:26, 12.31s/frame]
Processing frames: 16%|█▌ | 16/100 [03:16<17:12, 12.29s/frame]
Processing frames: 17%|█▋ | 17/100 [03:28<16:58, 12.28s/frame]
Processing frames: 18%|█▊ | 18/100 [03:40<16:45, 12.26s/frame]
Processing frames: 19%|█▉ | 19/100 [03:52<16:34, 12.27s/frame]
Processing frames: 20%|██ | 20/100 [04:05<16:20, 12.26s/frame]
Processing frames: 21%|██ | 21/100 [04:17<16:09, 12.28s/frame]
Processing frames: 22%|██▏ | 22/100 [04:29<16:00, 12.31s/frame]
Processing frames: 23%|██▎ | 23/100 [04:42<15:45, 12.28s/frame]
Processing frames: 24%|██▍ | 24/100 [04:54<15:32, 12.27s/frame]
Processing frames: 25%|██▌ | 25/100 [05:06<15:20, 12.27s/frame]
Processing frames: 26%|██▌ | 26/100 [05:19<15:09, 12.30s/frame]
Processing frames: 27%|██▋ | 27/100 [05:31<14:58, 12.30s/frame]
Processing frames: 28%|██▊ | 28/100 [05:43<14:46, 12.31s/frame]
Processing frames: 29%|██▉ | 29/100 [05:55<14:34, 12.31s/frame]
Processing frames: 30%|███ | 30/100 [06:08<14:22, 12.32s/frame]
Processing frames: 31%|███ | 31/100 [06:20<14:09, 12.31s/frame]
Processing frames: 32%|███▏ | 32/100 [06:32<13:53, 12.25s/frame]
Processing frames: 33%|███▎ | 33/100 [06:44<13:37, 12.20s/frame]
Processing frames: 34%|███▍ | 34/100 [06:56<13:20, 12.14s/frame]
Processing frames: 35%|███▌ | 35/100 [07:08<13:06, 12.10s/frame]
Processing frames: 36%|███▌ | 36/100 [07:20<12:53, 12.08s/frame]
Processing frames: 37%|███▋ | 37/100 [07:32<12:40, 12.07s/frame]
Processing frames: 38%|███▊ | 38/100 [07:44<12:27, 12.06s/frame]
Processing frames: 39%|███▉ | 39/100 [07:56<12:15, 12.05s/frame]
Processing frames: 40%|████ | 40/100 [08:09<12:03, 12.06s/frame]
Processing frames: 41%|████ | 41/100 [08:21<11:50, 12.04s/frame]
Processing frames: 42%|████▏ | 42/100 [08:33<11:38, 12.03s/frame]
Processing frames: 43%|████▎ | 43/100 [08:45<11:25, 12.03s/frame]
Processing frames: 44%|████▍ | 44/100 [08:57<11:13, 12.03s/frame]
Processing frames: 45%|████▌ | 45/100 [09:09<11:01, 12.02s/frame]
Processing frames: 46%|████▌ | 46/100 [09:21<10:48, 12.02s/frame]
Processing frames: 47%|████▋ | 47/100 [09:33<10:36, 12.01s/frame]
Processing frames: 48%|████▊ | 48/100 [09:45<10:24, 12.02s/frame]
Processing frames: 49%|████▉ | 49/100 [09:57<10:12, 12.01s/frame]
Processing frames: 50%|█████ | 50/100 [10:09<10:01, 12.02s/frame]
Processing frames: 51%|█████ | 51/100 [10:21<09:49, 12.03s/frame]
Processing frames: 52%|█████▏ | 52/100 [10:33<09:37, 12.04s/frame]
Processing frames: 53%|█████▎ | 53/100 [10:45<09:26, 12.05s/frame]
Processing frames: 54%|█████▍ | 54/100 [10:57<09:15, 12.07s/frame]
Processing frames: 55%|█████▌ | 55/100 [11:09<09:05, 12.11s/frame]
Processing frames: 56%|█████▌ | 56/100 [11:22<08:56, 12.20s/frame]
Processing frames: 57%|█████▋ | 57/100 [11:34<08:47, 12.26s/frame]
Processing frames: 58%|█████▊ | 58/100 [11:46<08:36, 12.31s/frame]
Processing frames: 59%|█████▉ | 59/100 [11:59<08:27, 12.37s/frame]
Processing frames: 60%|██████ | 60/100 [12:11<08:15, 12.39s/frame]
Processing frames: 61%|██████ | 61/100 [12:24<08:02, 12.38s/frame]
Processing frames: 62%|██████▏ | 62/100 [12:36<07:49, 12.36s/frame]
Processing frames: 63%|██████▎ | 63/100 [12:48<07:37, 12.35s/frame]
Processing frames: 64%|██████▍ | 64/100 [13:01<07:24, 12.34s/frame]
Processing frames: 65%|██████▌ | 65/100 [13:13<07:11, 12.32s/frame]
Processing frames: 66%|██████▌ | 66/100 [13:25<06:59, 12.34s/frame]
Processing frames: 67%|██████▋ | 67/100 [13:38<06:46, 12.33s/frame]
Processing frames: 68%|██████▊ | 68/100 [13:50<06:33, 12.31s/frame]
Processing frames: 69%|██████▉ | 69/100 [14:02<06:21, 12.31s/frame]
Processing frames: 70%|███████ | 70/100 [14:14<06:08, 12.30s/frame]
Processing frames: 71%|███████ | 71/100 [14:27<05:56, 12.30s/frame]
Processing frames: 72%|███████▏ | 72/100 [14:39<05:44, 12.29s/frame]
Processing frames: 73%|███████▎ | 73/100 [14:51<05:31, 12.28s/frame]
Processing frames: 74%|███████▍ | 74/100 [15:04<05:19, 12.29s/frame]
Processing frames: 75%|███████▌ | 75/100 [15:16<05:06, 12.26s/frame]
Processing frames: 76%|███████▌ | 76/100 [15:28<04:53, 12.24s/frame]
Processing frames: 77%|███████▋ | 77/100 [15:40<04:40, 12.21s/frame]
Processing frames: 78%|███████▊ | 78/100 [15:52<04:27, 12.17s/frame]
Processing frames: 79%|███████▉ | 79/100 [16:04<04:14, 12.11s/frame]
Processing frames: 80%|████████ | 80/100 [16:16<04:01, 12.08s/frame]
Processing frames: 81%|████████ | 81/100 [16:28<03:49, 12.06s/frame]
Processing frames: 82%|████████▏ | 82/100 [16:41<03:38, 12.14s/frame]
Processing frames: 83%|████████▎ | 83/100 [16:53<03:25, 12.10s/frame]
Processing frames: 84%|████████▍ | 84/100 [17:05<03:13, 12.10s/frame]
Processing frames: 85%|████████▌ | 85/100 [17:17<03:01, 12.10s/frame]
Processing frames: 86%|████████▌ | 86/100 [17:29<02:49, 12.10s/frame]
Processing frames: 87%|████████▋ | 87/100 [17:41<02:37, 12.08s/frame]
Processing frames: 88%|████████▊ | 88/100 [17:53<02:24, 12.05s/frame]
Processing frames: 89%|████████▉ | 89/100 [18:05<02:12, 12.04s/frame]
Processing frames: 90%|█████████ | 90/100 [18:17<02:00, 12.05s/frame]
Processing frames: 91%|█████████ | 91/100 [18:29<01:48, 12.05s/frame]
Processing frames: 92%|█████████▏| 92/100 [18:41<01:36, 12.06s/frame]
Processing frames: 93%|█████████▎| 93/100 [18:53<01:24, 12.07s/frame]
Processing frames: 94%|█████████▍| 94/100 [19:05<01:12, 12.07s/frame]
Processing frames: 95%|█████████▌| 95/100 [19:17<01:00, 12.08s/frame]
Processing frames: 96%|█████████▌| 96/100 [19:29<00:48, 12.09s/frame]
Processing frames: 97%|█████████▋| 97/100 [19:41<00:36, 12.08s/frame]
Processing frames: 98%|█████████▊| 98/100 [19:54<00:24, 12.07s/frame]
Processing frames: 99%|█████████▉| 99/100 [20:06<00:12, 12.07s/frame]
Processing frames: 100%|██████████| 100/100 [20:18<00:00, 12.05s/frame]
Processing frames: 100%|██████████| 100/100 [20:18<00:00, 12.18s/frame]
-tacaw > wfdata (1, 100, 1495, 1295, 1)
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:13<21:39, 13.13s/frame]
Processing frames: 2%|▏ | 2/100 [00:26<21:24, 13.11s/frame]
Processing frames: 3%|▎ | 3/100 [00:39<21:10, 13.10s/frame]
Processing frames: 4%|▍ | 4/100 [00:52<20:56, 13.09s/frame]
Processing frames: 5%|▌ | 5/100 [01:05<20:39, 13.05s/frame]
Processing frames: 6%|▌ | 6/100 [01:18<20:26, 13.05s/frame]
Processing frames: 7%|▋ | 7/100 [01:31<20:13, 13.04s/frame]
Processing frames: 8%|▊ | 8/100 [01:44<19:59, 13.04s/frame]
Processing frames: 9%|▉ | 9/100 [01:57<19:44, 13.02s/frame]
Processing frames: 10%|█ | 10/100 [02:10<19:33, 13.04s/frame]
Processing frames: 11%|█ | 11/100 [02:23<19:21, 13.05s/frame]
Processing frames: 12%|█▏ | 12/100 [02:36<19:08, 13.05s/frame]
Processing frames: 13%|█▎ | 13/100 [02:49<18:53, 13.03s/frame]
Processing frames: 14%|█▍ | 14/100 [03:02<18:36, 12.99s/frame]
Processing frames: 15%|█▌ | 15/100 [03:15<18:17, 12.91s/frame]
Processing frames: 16%|█▌ | 16/100 [03:28<18:00, 12.86s/frame]
Processing frames: 17%|█▋ | 17/100 [03:40<17:45, 12.83s/frame]
Processing frames: 18%|█▊ | 18/100 [03:53<17:31, 12.83s/frame]
Processing frames: 19%|█▉ | 19/100 [04:06<17:19, 12.83s/frame]
Processing frames: 20%|██ | 20/100 [04:19<17:08, 12.86s/frame]
Processing frames: 21%|██ | 21/100 [04:32<16:58, 12.90s/frame]
Processing frames: 22%|██▏ | 22/100 [04:45<16:48, 12.93s/frame]
Processing frames: 23%|██▎ | 23/100 [04:58<16:37, 12.96s/frame]
Processing frames: 24%|██▍ | 24/100 [05:11<16:26, 12.99s/frame]
Processing frames: 25%|██▌ | 25/100 [05:24<16:15, 13.01s/frame]
Processing frames: 26%|██▌ | 26/100 [05:37<16:04, 13.03s/frame]
Processing frames: 27%|██▋ | 27/100 [05:50<15:53, 13.06s/frame]
Processing frames: 28%|██▊ | 28/100 [06:03<15:40, 13.07s/frame]
Processing frames: 29%|██▉ | 29/100 [06:16<15:28, 13.08s/frame]
Processing frames: 30%|███ | 30/100 [06:29<15:15, 13.07s/frame]
Processing frames: 31%|███ | 31/100 [06:42<15:00, 13.05s/frame]
Processing frames: 32%|███▏ | 32/100 [06:55<14:42, 12.98s/frame]
Processing frames: 33%|███▎ | 33/100 [07:08<14:26, 12.93s/frame]
Processing frames: 34%|███▍ | 34/100 [07:21<14:10, 12.88s/frame]
Processing frames: 35%|███▌ | 35/100 [07:34<13:54, 12.84s/frame]
Processing frames: 36%|███▌ | 36/100 [07:46<13:41, 12.84s/frame]
Processing frames: 37%|███▋ | 37/100 [07:59<13:29, 12.84s/frame]
Processing frames: 38%|███▊ | 38/100 [08:12<13:17, 12.86s/frame]
Processing frames: 39%|███▉ | 39/100 [08:25<13:07, 12.91s/frame]
Processing frames: 40%|████ | 40/100 [08:38<12:56, 12.94s/frame]
Processing frames: 41%|████ | 41/100 [08:51<12:45, 12.97s/frame]
Processing frames: 42%|████▏ | 42/100 [09:04<12:31, 12.96s/frame]
Processing frames: 43%|████▎ | 43/100 [09:17<12:19, 12.98s/frame]
Processing frames: 44%|████▍ | 44/100 [09:30<12:07, 12.99s/frame]
Processing frames: 45%|████▌ | 45/100 [09:43<11:55, 13.00s/frame]
Processing frames: 46%|████▌ | 46/100 [09:56<11:43, 13.03s/frame]
Processing frames: 47%|████▋ | 47/100 [10:09<11:30, 13.03s/frame]
Processing frames: 48%|████▊ | 48/100 [10:22<11:18, 13.05s/frame]
Processing frames: 49%|████▉ | 49/100 [10:36<11:06, 13.06s/frame]
Processing frames: 50%|█████ | 50/100 [10:48<10:50, 13.01s/frame]
Processing frames: 51%|█████ | 51/100 [11:01<10:34, 12.95s/frame]
Processing frames: 52%|█████▏ | 52/100 [11:14<10:19, 12.91s/frame]
Processing frames: 53%|█████▎ | 53/100 [11:27<10:05, 12.88s/frame]
Processing frames: 54%|█████▍ | 54/100 [11:40<09:51, 12.86s/frame]
Processing frames: 55%|█████▌ | 55/100 [11:53<09:38, 12.85s/frame]
Processing frames: 56%|█████▌ | 56/100 [12:05<09:24, 12.83s/frame]
Processing frames: 57%|█████▋ | 57/100 [12:18<09:11, 12.83s/frame]
Processing frames: 58%|█████▊ | 58/100 [12:31<08:59, 12.84s/frame]
Processing frames: 59%|█████▉ | 59/100 [12:44<08:49, 12.93s/frame]
Processing frames: 60%|██████ | 60/100 [12:57<08:39, 12.98s/frame]
Processing frames: 61%|██████ | 61/100 [13:10<08:27, 13.01s/frame]
Processing frames: 62%|██████▏ | 62/100 [13:23<08:15, 13.04s/frame]
Processing frames: 63%|██████▎ | 63/100 [13:37<08:04, 13.09s/frame]
Processing frames: 64%|██████▍ | 64/100 [13:50<07:52, 13.12s/frame]
Processing frames: 65%|██████▌ | 65/100 [14:03<07:40, 13.15s/frame]
Processing frames: 66%|██████▌ | 66/100 [14:16<07:27, 13.17s/frame]
Processing frames: 67%|██████▋ | 67/100 [14:29<07:12, 13.10s/frame]
Processing frames: 68%|██████▊ | 68/100 [14:42<06:56, 13.03s/frame]
Processing frames: 69%|██████▉ | 69/100 [14:55<06:42, 12.99s/frame]
Processing frames: 70%|███████ | 70/100 [15:08<06:28, 12.95s/frame]
Processing frames: 71%|███████ | 71/100 [15:21<06:15, 12.94s/frame]
Processing frames: 72%|███████▏ | 72/100 [15:34<06:02, 12.95s/frame]
Processing frames: 73%|███████▎ | 73/100 [15:47<05:49, 12.96s/frame]
Processing frames: 74%|███████▍ | 74/100 [16:00<05:36, 12.95s/frame]
Processing frames: 75%|███████▌ | 75/100 [16:13<05:24, 12.98s/frame]
Processing frames: 76%|███████▌ | 76/100 [16:26<05:12, 13.03s/frame]
Processing frames: 77%|███████▋ | 77/100 [16:39<05:00, 13.08s/frame]
Processing frames: 78%|███████▊ | 78/100 [16:52<04:48, 13.14s/frame]
Processing frames: 79%|███████▉ | 79/100 [17:05<04:32, 12.98s/frame]
Processing frames: 80%|████████ | 80/100 [17:18<04:17, 12.87s/frame]
Processing frames: 81%|████████ | 81/100 [17:30<04:03, 12.82s/frame]
Processing frames: 82%|████████▏ | 82/100 [17:43<03:50, 12.81s/frame]
Processing frames: 83%|████████▎ | 83/100 [17:56<03:37, 12.80s/frame]
Processing frames: 84%|████████▍ | 84/100 [18:09<03:25, 12.84s/frame]
Processing frames: 85%|████████▌ | 85/100 [18:22<03:13, 12.93s/frame]
Processing frames: 86%|████████▌ | 86/100 [18:35<03:01, 12.98s/frame]
Processing frames: 87%|████████▋ | 87/100 [18:48<02:48, 12.96s/frame]
Processing frames: 88%|████████▊ | 88/100 [19:01<02:34, 12.90s/frame]
Processing frames: 89%|████████▉ | 89/100 [19:13<02:21, 12.88s/frame]
Processing frames: 90%|█████████ | 90/100 [19:26<02:08, 12.86s/frame]
Processing frames: 91%|█████████ | 91/100 [19:39<01:55, 12.84s/frame]
Processing frames: 92%|█████████▏| 92/100 [19:52<01:42, 12.84s/frame]
Processing frames: 93%|█████████▎| 93/100 [20:05<01:29, 12.83s/frame]
Processing frames: 94%|█████████▍| 94/100 [20:18<01:16, 12.82s/frame]
Processing frames: 95%|█████████▌| 95/100 [20:30<01:04, 12.82s/frame]
Processing frames: 96%|█████████▌| 96/100 [20:43<00:51, 12.82s/frame]
Processing frames: 97%|█████████▋| 97/100 [20:56<00:38, 12.82s/frame]
Processing frames: 98%|█████████▊| 98/100 [21:09<00:25, 12.82s/frame]
Processing frames: 99%|█████████▉| 99/100 [21:22<00:12, 12.82s/frame]
Processing frames: 100%|██████████| 100/100 [21:34<00:00, 12.82s/frame]
Processing frames: 100%|██████████| 100/100 [21:34<00:00, 12.95s/frame]
python3 11_SED.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
python3 12_aberrations.py
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
+failed to import pySEA: No module named 'pySEA'
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
PyTorch not available, falling back to NumPy
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:07<00:42, 7.04s/it]
29%|██▊ | 2/7 [00:13<00:34, 6.99s/it]
43%|████▎ | 3/7 [00:20<00:27, 6.95s/it]
57%|█████▋ | 4/7 [00:27<00:20, 6.94s/it]
71%|███████▏ | 5/7 [00:34<00:13, 6.94s/it]
86%|████████▌ | 6/7 [00:41<00:06, 6.95s/it]
100%|██████████| 7/7 [00:48<00:00, 6.95s/it]
100%|██████████| 7/7 [00:48<00:00, 6.96s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:06<00:41, 6.95s/it]
29%|██▊ | 2/7 [00:13<00:34, 6.97s/it]
43%|████▎ | 3/7 [00:20<00:27, 6.95s/it]
57%|█████▋ | 4/7 [00:27<00:20, 6.96s/it]
71%|███████▏ | 5/7 [00:34<00:13, 6.96s/it]
86%|████████▌ | 6/7 [00:41<00:06, 6.95s/it]
100%|██████████| 7/7 [00:48<00:00, 6.96s/it]
100%|██████████| 7/7 [00:48<00:00, 6.96s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:06<00:41, 6.96s/it]
29%|██▊ | 2/7 [00:13<00:34, 6.98s/it]
43%|████▎ | 3/7 [00:20<00:27, 6.97s/it]
57%|█████▋ | 4/7 [00:27<00:20, 6.97s/it]
71%|███████▏ | 5/7 [00:34<00:13, 6.95s/it]
86%|████████▌ | 6/7 [00:41<00:06, 6.95s/it]
100%|██████████| 7/7 [00:48<00:00, 6.94s/it]
100%|██████████| 7/7 [00:48<00:00, 6.95s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:06<00:41, 6.97s/it]
29%|██▊ | 2/7 [00:13<00:34, 6.95s/it]
43%|████▎ | 3/7 [00:20<00:27, 6.96s/it]
57%|█████▋ | 4/7 [00:27<00:20, 6.96s/it]
71%|███████▏ | 5/7 [00:34<00:13, 6.96s/it]
86%|████████▌ | 6/7 [00:41<00:06, 6.96s/it]
100%|██████████| 7/7 [00:48<00:00, 6.96s/it]
100%|██████████| 7/7 [00:48<00:00, 6.96s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:06<00:41, 6.94s/it]
29%|██▊ | 2/7 [00:13<00:34, 6.95s/it]
43%|████▎ | 3/7 [00:20<00:27, 6.96s/it]
57%|█████▋ | 4/7 [00:27<00:20, 6.97s/it]
71%|███████▏ | 5/7 [00:34<00:13, 6.97s/it]
86%|████████▌ | 6/7 [00:41<00:06, 6.97s/it]
100%|██████████| 7/7 [00:48<00:00, 6.96s/it]
100%|██████████| 7/7 [00:48<00:00, 6.96s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:06<00:41, 6.96s/it]
29%|██▊ | 2/7 [00:13<00:34, 6.94s/it]
43%|████▎ | 3/7 [00:20<00:27, 6.95s/it]
57%|█████▋ | 4/7 [00:27<00:20, 6.96s/it]
71%|███████▏ | 5/7 [00:34<00:13, 6.98s/it]
86%|████████▌ | 6/7 [00:41<00:06, 6.98s/it]
100%|██████████| 7/7 [00:48<00:00, 6.98s/it]
100%|██████████| 7/7 [00:48<00:00, 6.97s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:35, 5.85s/it]
29%|██▊ | 2/7 [00:11<00:29, 5.83s/it]
43%|████▎ | 3/7 [00:17<00:23, 5.82s/it]
57%|█████▋ | 4/7 [00:23<00:17, 5.82s/it]
71%|███████▏ | 5/7 [00:29<00:11, 5.82s/it]
86%|████████▌ | 6/7 [00:34<00:05, 5.83s/it]
100%|██████████| 7/7 [00:40<00:00, 5.82s/it]
100%|██████████| 7/7 [00:40<00:00, 5.82s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:34, 5.82s/it]
29%|██▊ | 2/7 [00:11<00:29, 5.81s/it]
43%|████▎ | 3/7 [00:17<00:23, 5.81s/it]
57%|█████▋ | 4/7 [00:23<00:17, 5.81s/it]
71%|███████▏ | 5/7 [00:29<00:11, 5.81s/it]
86%|████████▌ | 6/7 [00:34<00:05, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:34, 5.81s/it]
29%|██▊ | 2/7 [00:11<00:29, 5.81s/it]
43%|████▎ | 3/7 [00:17<00:23, 5.81s/it]
57%|█████▋ | 4/7 [00:23<00:17, 5.81s/it]
71%|███████▏ | 5/7 [00:29<00:11, 5.81s/it]
86%|████████▌ | 6/7 [00:34<00:05, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:34, 5.83s/it]
29%|██▊ | 2/7 [00:11<00:29, 5.81s/it]
43%|████▎ | 3/7 [00:17<00:23, 5.81s/it]
57%|█████▋ | 4/7 [00:23<00:17, 5.81s/it]
71%|███████▏ | 5/7 [00:29<00:11, 5.82s/it]
86%|████████▌ | 6/7 [00:34<00:05, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:34, 5.80s/it]
29%|██▊ | 2/7 [00:11<00:29, 5.81s/it]
43%|████▎ | 3/7 [00:17<00:23, 5.81s/it]
57%|█████▋ | 4/7 [00:23<00:17, 5.81s/it]
71%|███████▏ | 5/7 [00:29<00:11, 5.81s/it]
86%|████████▌ | 6/7 [00:34<00:05, 5.82s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:34, 5.82s/it]
29%|██▊ | 2/7 [00:11<00:29, 5.81s/it]
43%|████▎ | 3/7 [00:17<00:23, 5.81s/it]
57%|█████▋ | 4/7 [00:23<00:17, 5.81s/it]
71%|███████▏ | 5/7 [00:29<00:11, 5.81s/it]
86%|████████▌ | 6/7 [00:34<00:05, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
100%|██████████| 7/7 [00:40<00:00, 5.81s/it]
diff --git a/tests/runAllTests-torchcpu.log b/tests/runAllTests-torchcpu.log
index f06ca08..55ff81a 100644
--- a/tests/runAllTests-torchcpu.log
+++ b/tests/runAllTests-torchcpu.log
@@ -1,52 +1,56 @@
-Fri Jan 9 22:58:33 EST 2026
+Wed Feb 4 12:50:08 EST 2026
python3 00_probe.py
import failed, falling back to relative paths
-probe import took 44.54010272026062 s
-differ import took 0.0015065670013427734 s
+failed to import pySEA: No module named 'pySEA'
+probe import took 3.6120033264160156 s
+differ import took 4.291534423828125e-05 s
python3 01_potentials.py
-
Loading frames: 0%| | 0/100 [00:00, ?frame/s]
Loading frames: 35%|███▌ | 35/100 [00:00<00:00, 342.67frame/s]
Loading frames: 70%|███████ | 70/100 [00:00<00:00, 340.36frame/s]
Loading frames: 100%|██████████| 100/100 [00:00<00:00, 340.49frame/s]
+failed to import pySEA: No module named 'pySEA'
(1495, 1295, 21)
python3 02_propagate_otf=False.py
+failed to import pySEA: No module named 'pySEA'
python3 02_propagate_otf=True.py
+failed to import pySEA: No module named 'pySEA'
python3 03_manyprobes.py
+failed to import pySEA: No module named 'pySEA'
(256, 250, 216)
python3 04_haadf.py
-
Processing frames: 0%| | 0/3 [00:00, ?frame/s]
Processing frames: 33%|███▎ | 1/3 [00:17<00:34, 17.09s/frame]
Processing frames: 67%|██████▋ | 2/3 [00:34<00:17, 17.06s/frame]
Processing frames: 100%|██████████| 3/3 [00:51<00:00, 17.16s/frame]
Processing frames: 100%|██████████| 3/3 [00:51<00:00, 17.14s/frame]
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/3 [00:00, ?frame/s]
Processing frames: 33%|███▎ | 1/3 [00:17<00:35, 17.72s/frame]
Processing frames: 67%|██████▋ | 2/3 [00:35<00:17, 17.68s/frame]
Processing frames: 100%|██████████| 3/3 [00:53<00:00, 17.79s/frame]
Processing frames: 100%|██████████| 3/3 [00:53<00:00, 17.77s/frame]
+ERROR: pySEA import failed, this functionality is not available
python3 05_tacaw.py
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:12<19:49, 12.01s/frame]
Processing frames: 2%|▏ | 2/100 [00:23<19:29, 11.93s/frame]
Processing frames: 3%|▎ | 3/100 [00:35<19:09, 11.85s/frame]
Processing frames: 4%|▍ | 4/100 [00:47<18:59, 11.87s/frame]
Processing frames: 5%|▌ | 5/100 [00:59<18:44, 11.83s/frame]
Processing frames: 6%|▌ | 6/100 [01:11<18:31, 11.82s/frame]
Processing frames: 7%|▋ | 7/100 [01:22<18:16, 11.79s/frame]
Processing frames: 8%|▊ | 8/100 [01:34<18:05, 11.80s/frame]
Processing frames: 9%|▉ | 9/100 [01:46<17:55, 11.81s/frame]
Processing frames: 10%|█ | 10/100 [01:58<17:43, 11.82s/frame]
Processing frames: 11%|█ | 11/100 [02:09<17:27, 11.77s/frame]
Processing frames: 12%|█▏ | 12/100 [02:21<17:12, 11.74s/frame]
Processing frames: 13%|█▎ | 13/100 [02:33<17:01, 11.75s/frame]
Processing frames: 14%|█▍ | 14/100 [02:45<16:46, 11.70s/frame]
Processing frames: 15%|█▌ | 15/100 [02:56<16:34, 11.70s/frame]
Processing frames: 16%|█▌ | 16/100 [03:08<16:25, 11.73s/frame]
Processing frames: 17%|█▋ | 17/100 [03:20<16:13, 11.72s/frame]
Processing frames: 18%|█▊ | 18/100 [03:31<15:58, 11.69s/frame]
Processing frames: 19%|█▉ | 19/100 [03:43<15:48, 11.71s/frame]
Processing frames: 20%|██ | 20/100 [03:55<15:36, 11.71s/frame]
Processing frames: 21%|██ | 21/100 [04:07<15:25, 11.72s/frame]
Processing frames: 22%|██▏ | 22/100 [04:18<15:15, 11.73s/frame]
Processing frames: 23%|██▎ | 23/100 [04:30<15:04, 11.75s/frame]
Processing frames: 24%|██▍ | 24/100 [04:42<14:52, 11.74s/frame]
Processing frames: 25%|██▌ | 25/100 [04:54<14:40, 11.74s/frame]
Processing frames: 26%|██▌ | 26/100 [05:05<14:25, 11.70s/frame]
Processing frames: 27%|██▋ | 27/100 [05:17<14:12, 11.68s/frame]
Processing frames: 28%|██▊ | 28/100 [05:28<13:59, 11.66s/frame]
Processing frames: 29%|██▉ | 29/100 [05:40<13:47, 11.65s/frame]
Processing frames: 30%|███ | 30/100 [05:52<13:35, 11.65s/frame]
Processing frames: 31%|███ | 31/100 [06:03<13:23, 11.65s/frame]
Processing frames: 32%|███▏ | 32/100 [06:15<13:11, 11.64s/frame]
Processing frames: 33%|███▎ | 33/100 [06:27<12:59, 11.63s/frame]
Processing frames: 34%|███▍ | 34/100 [06:38<12:46, 11.62s/frame]
Processing frames: 35%|███▌ | 35/100 [06:50<12:34, 11.61s/frame]
Processing frames: 36%|███▌ | 36/100 [07:01<12:23, 11.62s/frame]
Processing frames: 37%|███▋ | 37/100 [07:13<12:12, 11.63s/frame]
Processing frames: 38%|███▊ | 38/100 [07:25<12:00, 11.62s/frame]
Processing frames: 39%|███▉ | 39/100 [07:36<11:48, 11.62s/frame]
Processing frames: 40%|████ | 40/100 [07:48<11:38, 11.64s/frame]
Processing frames: 41%|████ | 41/100 [08:00<11:27, 11.65s/frame]
Processing frames: 42%|████▏ | 42/100 [08:11<11:15, 11.65s/frame]
Processing frames: 43%|████▎ | 43/100 [08:23<11:04, 11.65s/frame]
Processing frames: 44%|████▍ | 44/100 [08:35<10:54, 11.69s/frame]
Processing frames: 45%|████▌ | 45/100 [08:46<10:42, 11.69s/frame]
Processing frames: 46%|████▌ | 46/100 [08:58<10:31, 11.70s/frame]
Processing frames: 47%|████▋ | 47/100 [09:10<10:21, 11.72s/frame]
Processing frames: 48%|████▊ | 48/100 [09:22<10:10, 11.74s/frame]
Processing frames: 49%|████▉ | 49/100 [09:33<09:57, 11.71s/frame]
Processing frames: 50%|█████ | 50/100 [09:45<09:46, 11.73s/frame]
Processing frames: 51%|█████ | 51/100 [09:57<09:33, 11.71s/frame]
Processing frames: 52%|█████▏ | 52/100 [10:08<09:22, 11.71s/frame]
Processing frames: 53%|█████▎ | 53/100 [10:20<09:10, 11.72s/frame]
Processing frames: 54%|█████▍ | 54/100 [10:32<08:59, 11.73s/frame]
Processing frames: 55%|█████▌ | 55/100 [10:44<08:46, 11.70s/frame]
Processing frames: 56%|█████▌ | 56/100 [10:55<08:33, 11.67s/frame]
Processing frames: 57%|█████▋ | 57/100 [11:07<08:20, 11.65s/frame]
Processing frames: 58%|█████▊ | 58/100 [11:18<08:08, 11.64s/frame]
Processing frames: 59%|█████▉ | 59/100 [11:30<07:57, 11.66s/frame]
Processing frames: 60%|██████ | 60/100 [11:42<07:47, 11.68s/frame]
Processing frames: 61%|██████ | 61/100 [11:53<07:35, 11.68s/frame]
Processing frames: 62%|██████▏ | 62/100 [12:05<07:23, 11.67s/frame]
Processing frames: 63%|██████▎ | 63/100 [12:17<07:11, 11.67s/frame]
Processing frames: 64%|██████▍ | 64/100 [12:29<07:00, 11.69s/frame]
Processing frames: 65%|██████▌ | 65/100 [12:40<06:49, 11.70s/frame]
Processing frames: 66%|██████▌ | 66/100 [12:52<06:37, 11.70s/frame]
Processing frames: 67%|██████▋ | 67/100 [13:04<06:26, 11.71s/frame]
Processing frames: 68%|██████▊ | 68/100 [13:15<06:14, 11.70s/frame]
Processing frames: 69%|██████▉ | 69/100 [13:27<06:03, 11.71s/frame]
Processing frames: 70%|███████ | 70/100 [13:39<05:51, 11.73s/frame]
Processing frames: 71%|███████ | 71/100 [13:51<05:39, 11.72s/frame]
Processing frames: 72%|███████▏ | 72/100 [14:02<05:28, 11.72s/frame]
Processing frames: 73%|███████▎ | 73/100 [14:14<05:16, 11.72s/frame]
Processing frames: 74%|███████▍ | 74/100 [14:26<05:04, 11.71s/frame]
Processing frames: 75%|███████▌ | 75/100 [14:37<04:52, 11.71s/frame]
Processing frames: 76%|███████▌ | 76/100 [14:49<04:41, 11.72s/frame]
Processing frames: 77%|███████▋ | 77/100 [15:01<04:29, 11.72s/frame]
Processing frames: 78%|███████▊ | 78/100 [15:13<04:17, 11.72s/frame]
Processing frames: 79%|███████▉ | 79/100 [15:24<04:05, 11.69s/frame]
Processing frames: 80%|████████ | 80/100 [15:36<03:53, 11.67s/frame]
Processing frames: 81%|████████ | 81/100 [15:48<03:42, 11.71s/frame]
Processing frames: 82%|████████▏ | 82/100 [15:59<03:31, 11.74s/frame]
Processing frames: 83%|████████▎ | 83/100 [16:11<03:19, 11.75s/frame]
Processing frames: 84%|████████▍ | 84/100 [16:23<03:08, 11.76s/frame]
Processing frames: 85%|████████▌ | 85/100 [16:35<02:56, 11.74s/frame]
Processing frames: 86%|████████▌ | 86/100 [16:46<02:44, 11.72s/frame]
Processing frames: 87%|████████▋ | 87/100 [16:58<02:31, 11.69s/frame]
Processing frames: 88%|████████▊ | 88/100 [17:10<02:20, 11.68s/frame]
Processing frames: 89%|████████▉ | 89/100 [17:21<02:08, 11.67s/frame]
Processing frames: 90%|█████████ | 90/100 [17:33<01:56, 11.68s/frame]
Processing frames: 91%|█████████ | 91/100 [17:45<01:45, 11.68s/frame]
Processing frames: 92%|█████████▏| 92/100 [17:56<01:33, 11.68s/frame]
Processing frames: 93%|█████████▎| 93/100 [18:08<01:21, 11.68s/frame]
Processing frames: 94%|█████████▍| 94/100 [18:20<01:10, 11.68s/frame]
Processing frames: 95%|█████████▌| 95/100 [18:31<00:58, 11.69s/frame]
Processing frames: 96%|█████████▌| 96/100 [18:43<00:46, 11.69s/frame]
Processing frames: 97%|█████████▋| 97/100 [18:55<00:35, 11.71s/frame]
Processing frames: 98%|█████████▊| 98/100 [19:07<00:23, 11.73s/frame]
Processing frames: 99%|█████████▉| 99/100 [19:18<00:11, 11.73s/frame]
Processing frames: 100%|██████████| 100/100 [19:30<00:00, 11.71s/frame]
Processing frames: 100%|██████████| 100/100 [19:30<00:00, 11.71s/frame]
-tacaw > wfdata torch.Size([1, 100, 1495, 1295, 1])
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:12<19:59, 12.12s/frame]
Processing frames: 2%|▏ | 2/100 [00:24<19:49, 12.13s/frame]
Processing frames: 3%|▎ | 3/100 [00:36<19:29, 12.06s/frame]
Processing frames: 4%|▍ | 4/100 [00:48<19:09, 11.97s/frame]
Processing frames: 5%|▌ | 5/100 [00:59<18:52, 11.92s/frame]
Processing frames: 6%|▌ | 6/100 [01:11<18:35, 11.87s/frame]
Processing frames: 7%|▋ | 7/100 [01:23<18:23, 11.87s/frame]
Processing frames: 8%|▊ | 8/100 [01:35<18:08, 11.84s/frame]
Processing frames: 9%|▉ | 9/100 [01:47<18:00, 11.87s/frame]
Processing frames: 10%|█ | 10/100 [01:59<17:52, 11.91s/frame]
Processing frames: 11%|█ | 11/100 [02:11<17:41, 11.92s/frame]
Processing frames: 12%|█▏ | 12/100 [02:23<17:26, 11.89s/frame]
Processing frames: 13%|█▎ | 13/100 [02:34<17:14, 11.89s/frame]
Processing frames: 14%|█▍ | 14/100 [02:46<17:00, 11.86s/frame]
Processing frames: 15%|█▌ | 15/100 [02:58<16:48, 11.86s/frame]
Processing frames: 16%|█▌ | 16/100 [03:10<16:36, 11.86s/frame]
Processing frames: 17%|█▋ | 17/100 [03:22<16:27, 11.89s/frame]
Processing frames: 18%|█▊ | 18/100 [03:34<16:15, 11.89s/frame]
Processing frames: 19%|█▉ | 19/100 [03:46<16:05, 11.92s/frame]
Processing frames: 20%|██ | 20/100 [03:58<15:53, 11.92s/frame]
Processing frames: 21%|██ | 21/100 [04:09<15:38, 11.88s/frame]
Processing frames: 22%|██▏ | 22/100 [04:21<15:26, 11.88s/frame]
Processing frames: 23%|██▎ | 23/100 [04:33<15:14, 11.88s/frame]
Processing frames: 24%|██▍ | 24/100 [04:45<15:02, 11.87s/frame]
Processing frames: 25%|██▌ | 25/100 [04:57<14:51, 11.89s/frame]
Processing frames: 26%|██▌ | 26/100 [05:09<14:37, 11.86s/frame]
Processing frames: 27%|██▋ | 27/100 [05:21<14:25, 11.86s/frame]
Processing frames: 28%|██▊ | 28/100 [05:33<14:14, 11.87s/frame]
Processing frames: 29%|██▉ | 29/100 [05:44<14:02, 11.86s/frame]
Processing frames: 30%|███ | 30/100 [05:57<13:58, 11.98s/frame]
Processing frames: 31%|███ | 31/100 [06:09<13:48, 12.01s/frame]
Processing frames: 32%|███▏ | 32/100 [06:21<13:33, 11.97s/frame]
Processing frames: 33%|███▎ | 33/100 [06:32<13:20, 11.94s/frame]
Processing frames: 34%|███▍ | 34/100 [06:44<13:04, 11.89s/frame]
Processing frames: 35%|███▌ | 35/100 [06:56<12:49, 11.84s/frame]
Processing frames: 36%|███▌ | 36/100 [07:08<12:35, 11.81s/frame]
Processing frames: 37%|███▋ | 37/100 [07:19<12:22, 11.79s/frame]
Processing frames: 38%|███▊ | 38/100 [07:31<12:09, 11.77s/frame]
Processing frames: 39%|███▉ | 39/100 [07:43<11:57, 11.76s/frame]
Processing frames: 40%|████ | 40/100 [07:55<11:45, 11.76s/frame]
Processing frames: 41%|████ | 41/100 [08:06<11:34, 11.77s/frame]
Processing frames: 42%|████▏ | 42/100 [08:18<11:23, 11.78s/frame]
Processing frames: 43%|████▎ | 43/100 [08:30<11:12, 11.79s/frame]
Processing frames: 44%|████▍ | 44/100 [08:42<10:59, 11.78s/frame]
Processing frames: 45%|████▌ | 45/100 [08:54<10:47, 11.77s/frame]
Processing frames: 46%|████▌ | 46/100 [09:05<10:35, 11.77s/frame]
Processing frames: 47%|████▋ | 47/100 [09:17<10:23, 11.76s/frame]
Processing frames: 48%|████▊ | 48/100 [09:29<10:11, 11.75s/frame]
Processing frames: 49%|████▉ | 49/100 [09:41<09:58, 11.74s/frame]
Processing frames: 50%|█████ | 50/100 [09:52<09:46, 11.73s/frame]
Processing frames: 51%|█████ | 51/100 [10:04<09:35, 11.74s/frame]
Processing frames: 52%|█████▏ | 52/100 [10:16<09:23, 11.73s/frame]
Processing frames: 53%|█████▎ | 53/100 [10:27<09:11, 11.74s/frame]
Processing frames: 54%|█████▍ | 54/100 [10:39<09:01, 11.76s/frame]
Processing frames: 55%|█████▌ | 55/100 [10:51<08:49, 11.76s/frame]
Processing frames: 56%|█████▌ | 56/100 [11:03<08:37, 11.77s/frame]
Processing frames: 57%|█████▋ | 57/100 [11:15<08:25, 11.77s/frame]
Processing frames: 58%|█████▊ | 58/100 [11:26<08:13, 11.75s/frame]
Processing frames: 59%|█████▉ | 59/100 [11:38<08:04, 11.81s/frame]
Processing frames: 60%|██████ | 60/100 [11:50<07:53, 11.83s/frame]
Processing frames: 61%|██████ | 61/100 [12:02<07:40, 11.82s/frame]
Processing frames: 62%|██████▏ | 62/100 [12:14<07:30, 11.85s/frame]
Processing frames: 63%|██████▎ | 63/100 [12:26<07:18, 11.85s/frame]
Processing frames: 64%|██████▍ | 64/100 [12:38<07:06, 11.86s/frame]
Processing frames: 65%|██████▌ | 65/100 [12:49<06:54, 11.85s/frame]
Processing frames: 66%|██████▌ | 66/100 [13:01<06:43, 11.86s/frame]
Processing frames: 67%|██████▋ | 67/100 [13:13<06:31, 11.87s/frame]
Processing frames: 68%|██████▊ | 68/100 [13:25<06:19, 11.87s/frame]
Processing frames: 69%|██████▉ | 69/100 [13:37<06:07, 11.86s/frame]
Processing frames: 70%|███████ | 70/100 [13:49<05:55, 11.85s/frame]
Processing frames: 71%|███████ | 71/100 [14:00<05:43, 11.83s/frame]
Processing frames: 72%|███████▏ | 72/100 [14:12<05:31, 11.82s/frame]
Processing frames: 73%|███████▎ | 73/100 [14:24<05:19, 11.84s/frame]
Processing frames: 74%|███████▍ | 74/100 [14:36<05:07, 11.83s/frame]
Processing frames: 75%|███████▌ | 75/100 [14:48<04:55, 11.84s/frame]
Processing frames: 76%|███████▌ | 76/100 [15:00<04:44, 11.84s/frame]
Processing frames: 77%|███████▋ | 77/100 [15:12<04:32, 11.84s/frame]
Processing frames: 78%|███████▊ | 78/100 [15:23<04:20, 11.84s/frame]
Processing frames: 79%|███████▉ | 79/100 [15:35<04:08, 11.81s/frame]
Processing frames: 80%|████████ | 80/100 [15:47<03:55, 11.79s/frame]
Processing frames: 81%|████████ | 81/100 [15:59<03:44, 11.81s/frame]
Processing frames: 82%|████████▏ | 82/100 [16:11<03:32, 11.83s/frame]
Processing frames: 83%|████████▎ | 83/100 [16:22<03:20, 11.80s/frame]
Processing frames: 84%|████████▍ | 84/100 [16:34<03:08, 11.81s/frame]
Processing frames: 85%|████████▌ | 85/100 [16:46<02:57, 11.81s/frame]
Processing frames: 86%|████████▌ | 86/100 [16:58<02:45, 11.81s/frame]
Processing frames: 87%|████████▋ | 87/100 [17:10<02:33, 11.80s/frame]
Processing frames: 88%|████████▊ | 88/100 [17:21<02:21, 11.80s/frame]
Processing frames: 89%|████████▉ | 89/100 [17:33<02:09, 11.81s/frame]
Processing frames: 90%|█████████ | 90/100 [17:45<01:58, 11.83s/frame]
Processing frames: 91%|█████████ | 91/100 [17:57<01:46, 11.82s/frame]
Processing frames: 92%|█████████▏| 92/100 [18:09<01:34, 11.82s/frame]
Processing frames: 93%|█████████▎| 93/100 [18:20<01:22, 11.81s/frame]
Processing frames: 94%|█████████▍| 94/100 [18:32<01:10, 11.80s/frame]
Processing frames: 95%|█████████▌| 95/100 [18:44<00:59, 11.80s/frame]
Processing frames: 96%|█████████▌| 96/100 [18:56<00:47, 11.80s/frame]
Processing frames: 97%|█████████▋| 97/100 [19:08<00:35, 11.80s/frame]
Processing frames: 98%|█████████▊| 98/100 [19:19<00:23, 11.81s/frame]
Processing frames: 99%|█████████▉| 99/100 [19:31<00:11, 11.82s/frame]
Processing frames: 100%|██████████| 100/100 [19:43<00:00, 11.85s/frame]
Processing frames: 100%|██████████| 100/100 [19:43<00:00, 11.84s/frame]
(1495, 1295)
-torch.Size([1, 100, 1495, 1295])
+ERROR: pySEA import failed, this functionality is not available
+(1, 100, 1495, 1295)
kx (241,)
python3 05_tacaw_chunkFFT.py
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/torch_13653a5f142e
-
Processing frames: 1%| | 1/100 [00:00<00:53, 1.85frame/s]
Processing frames: 2%|▏ | 2/100 [00:01<00:51, 1.91frame/s]
Processing frames: 3%|▎ | 3/100 [00:01<00:52, 1.85frame/s]
Processing frames: 4%|▍ | 4/100 [00:02<00:50, 1.92frame/s]
Processing frames: 5%|▌ | 5/100 [00:02<00:48, 1.96frame/s]
Processing frames: 6%|▌ | 6/100 [00:03<00:47, 1.99frame/s]
Processing frames: 7%|▋ | 7/100 [00:03<00:47, 1.97frame/s]
Processing frames: 8%|▊ | 8/100 [00:04<00:47, 1.94frame/s]
Processing frames: 9%|▉ | 9/100 [00:04<00:45, 1.99frame/s]
Processing frames: 10%|█ | 10/100 [00:05<00:43, 2.05frame/s]
Processing frames: 11%|█ | 11/100 [00:05<00:41, 2.13frame/s]
Processing frames: 12%|█▏ | 12/100 [00:06<00:42, 2.08frame/s]
Processing frames: 13%|█▎ | 13/100 [00:06<00:41, 2.08frame/s]
Processing frames: 14%|█▍ | 14/100 [00:07<00:42, 2.02frame/s]
Processing frames: 15%|█▌ | 15/100 [00:07<00:43, 1.95frame/s]
Processing frames: 16%|█▌ | 16/100 [00:08<00:43, 1.95frame/s]
Processing frames: 17%|█▋ | 17/100 [00:08<00:42, 1.96frame/s]
Processing frames: 18%|█▊ | 18/100 [00:09<00:41, 1.97frame/s]
Processing frames: 19%|█▉ | 19/100 [00:09<00:42, 1.91frame/s]
Processing frames: 20%|██ | 20/100 [00:10<00:44, 1.78frame/s]
Processing frames: 21%|██ | 21/100 [00:10<00:43, 1.81frame/s]
Processing frames: 22%|██▏ | 22/100 [00:11<00:42, 1.83frame/s]
Processing frames: 23%|██▎ | 23/100 [00:11<00:39, 1.94frame/s]
Processing frames: 24%|██▍ | 24/100 [00:12<00:39, 1.94frame/s]
Processing frames: 25%|██▌ | 25/100 [00:12<00:39, 1.89frame/s]
Processing frames: 26%|██▌ | 26/100 [00:13<00:38, 1.94frame/s]
Processing frames: 27%|██▋ | 27/100 [00:13<00:36, 1.98frame/s]
Processing frames: 28%|██▊ | 28/100 [00:14<00:36, 1.97frame/s]
Processing frames: 29%|██▉ | 29/100 [00:14<00:37, 1.89frame/s]
Processing frames: 30%|███ | 30/100 [00:15<00:35, 1.95frame/s]
Processing frames: 31%|███ | 31/100 [00:15<00:32, 2.10frame/s]
Processing frames: 32%|███▏ | 32/100 [00:16<00:30, 2.20frame/s]
Processing frames: 33%|███▎ | 33/100 [00:16<00:29, 2.27frame/s]
Processing frames: 34%|███▍ | 34/100 [00:17<00:29, 2.26frame/s]
Processing frames: 35%|███▌ | 35/100 [00:17<00:28, 2.25frame/s]
Processing frames: 36%|███▌ | 36/100 [00:17<00:27, 2.31frame/s]
Processing frames: 37%|███▋ | 37/100 [00:18<00:27, 2.26frame/s]
Processing frames: 38%|███▊ | 38/100 [00:18<00:27, 2.27frame/s]
Processing frames: 39%|███▉ | 39/100 [00:19<00:27, 2.26frame/s]
Processing frames: 40%|████ | 40/100 [00:19<00:25, 2.35frame/s]
Processing frames: 41%|████ | 41/100 [00:20<00:25, 2.34frame/s]
Processing frames: 42%|████▏ | 42/100 [00:20<00:25, 2.26frame/s]
Processing frames: 43%|████▎ | 43/100 [00:20<00:25, 2.27frame/s]
Processing frames: 44%|████▍ | 44/100 [00:21<00:24, 2.26frame/s]
Processing frames: 45%|████▌ | 45/100 [00:21<00:24, 2.26frame/s]
Processing frames: 46%|████▌ | 46/100 [00:22<00:24, 2.18frame/s]
Processing frames: 47%|████▋ | 47/100 [00:22<00:26, 1.98frame/s]
Processing frames: 48%|████▊ | 48/100 [00:23<00:25, 2.04frame/s]
Processing frames: 49%|████▉ | 49/100 [00:23<00:24, 2.11frame/s]
Processing frames: 50%|█████ | 50/100 [00:24<00:23, 2.10frame/s]
Processing frames: 51%|█████ | 51/100 [00:24<00:23, 2.11frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:25<00:22, 2.12frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:25<00:23, 2.02frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:26<00:23, 1.92frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:26<00:22, 1.96frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:27<00:23, 1.90frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:28<00:23, 1.85frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:28<00:22, 1.88frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:28<00:20, 2.02frame/s]
Processing frames: 60%|██████ | 60/100 [00:29<00:20, 1.91frame/s]
Processing frames: 61%|██████ | 61/100 [00:30<00:19, 1.98frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:30<00:17, 2.12frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:30<00:17, 2.10frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:31<00:16, 2.20frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:31<00:15, 2.29frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:32<00:15, 2.26frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:32<00:15, 2.09frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:33<00:14, 2.20frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:33<00:14, 2.19frame/s]
Processing frames: 70%|███████ | 70/100 [00:34<00:14, 2.14frame/s]
Processing frames: 71%|███████ | 71/100 [00:34<00:14, 1.95frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:35<00:13, 2.03frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:35<00:12, 2.19frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:36<00:12, 2.05frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:36<00:12, 2.04frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:37<00:11, 2.11frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:37<00:10, 2.21frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:37<00:10, 2.09frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:38<00:10, 2.00frame/s]
Processing frames: 80%|████████ | 80/100 [00:38<00:09, 2.03frame/s]
Processing frames: 81%|████████ | 81/100 [00:39<00:09, 2.03frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:39<00:08, 2.13frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:40<00:07, 2.14frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:40<00:08, 1.95frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:41<00:07, 1.96frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:41<00:07, 2.00frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:42<00:06, 2.06frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:42<00:05, 2.06frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:43<00:05, 2.19frame/s]
Processing frames: 90%|█████████ | 90/100 [00:43<00:04, 2.23frame/s]
Processing frames: 91%|█████████ | 91/100 [00:44<00:04, 2.17frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:44<00:03, 2.21frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:45<00:03, 2.16frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:45<00:02, 2.19frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:45<00:02, 2.36frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:46<00:01, 2.33frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:46<00:01, 2.26frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:47<00:00, 2.25frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:47<00:00, 2.14frame/s]
Processing frames: 100%|██████████| 100/100 [00:48<00:00, 2.18frame/s]
Processing frames: 100%|██████████| 100/100 [00:48<00:00, 2.07frame/s]
-tacaw > wfdata torch.Size([1, 100, 1495, 1295, 1])
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/torch_91b103dcfbe4
+
Processing frames: 1%| | 1/100 [00:00<00:43, 2.25frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:44, 2.21frame/s]
Processing frames: 3%|▎ | 3/100 [00:01<00:41, 2.34frame/s]
Processing frames: 4%|▍ | 4/100 [00:01<00:39, 2.41frame/s]
Processing frames: 5%|▌ | 5/100 [00:02<00:35, 2.66frame/s]
Processing frames: 6%|▌ | 6/100 [00:02<00:44, 2.13frame/s]
Processing frames: 7%|▋ | 7/100 [00:03<00:40, 2.30frame/s]
Processing frames: 8%|▊ | 8/100 [00:03<00:40, 2.29frame/s]
Processing frames: 9%|▉ | 9/100 [00:03<00:38, 2.35frame/s]
Processing frames: 10%|█ | 10/100 [00:04<00:36, 2.47frame/s]
Processing frames: 11%|█ | 11/100 [00:04<00:34, 2.60frame/s]
Processing frames: 12%|█▏ | 12/100 [00:04<00:32, 2.72frame/s]
Processing frames: 13%|█▎ | 13/100 [00:05<00:32, 2.71frame/s]
Processing frames: 14%|█▍ | 14/100 [00:05<00:29, 2.92frame/s]
Processing frames: 15%|█▌ | 15/100 [00:06<00:35, 2.43frame/s]
Processing frames: 16%|█▌ | 16/100 [00:06<00:38, 2.20frame/s]
Processing frames: 17%|█▋ | 17/100 [00:07<00:37, 2.20frame/s]
Processing frames: 18%|█▊ | 18/100 [00:07<00:34, 2.36frame/s]
Processing frames: 19%|█▉ | 19/100 [00:07<00:34, 2.37frame/s]
Processing frames: 20%|██ | 20/100 [00:08<00:33, 2.40frame/s]
Processing frames: 21%|██ | 21/100 [00:08<00:31, 2.48frame/s]
Processing frames: 22%|██▏ | 22/100 [00:08<00:28, 2.77frame/s]
Processing frames: 23%|██▎ | 23/100 [00:09<00:25, 2.99frame/s]
Processing frames: 24%|██▍ | 24/100 [00:09<00:27, 2.80frame/s]
Processing frames: 25%|██▌ | 25/100 [00:10<00:29, 2.50frame/s]
Processing frames: 26%|██▌ | 26/100 [00:10<00:36, 2.01frame/s]
Processing frames: 27%|██▋ | 27/100 [00:11<00:40, 1.80frame/s]
Processing frames: 28%|██▊ | 28/100 [00:12<00:39, 1.83frame/s]
Processing frames: 29%|██▉ | 29/100 [00:12<00:34, 2.04frame/s]
Processing frames: 30%|███ | 30/100 [00:12<00:32, 2.18frame/s]
Processing frames: 31%|███ | 31/100 [00:13<00:30, 2.24frame/s]
Processing frames: 32%|███▏ | 32/100 [00:13<00:31, 2.19frame/s]
Processing frames: 33%|███▎ | 33/100 [00:14<00:30, 2.22frame/s]
Processing frames: 34%|███▍ | 34/100 [00:14<00:29, 2.25frame/s]
Processing frames: 35%|███▌ | 35/100 [00:15<00:29, 2.23frame/s]
Processing frames: 36%|███▌ | 36/100 [00:15<00:26, 2.44frame/s]
Processing frames: 37%|███▋ | 37/100 [00:15<00:26, 2.41frame/s]
Processing frames: 38%|███▊ | 38/100 [00:16<00:29, 2.13frame/s]
Processing frames: 39%|███▉ | 39/100 [00:16<00:28, 2.12frame/s]
Processing frames: 40%|████ | 40/100 [00:17<00:25, 2.34frame/s]
Processing frames: 41%|████ | 41/100 [00:17<00:23, 2.47frame/s]
Processing frames: 42%|████▏ | 42/100 [00:17<00:24, 2.40frame/s]
Processing frames: 43%|████▎ | 43/100 [00:18<00:25, 2.28frame/s]
Processing frames: 44%|████▍ | 44/100 [00:18<00:24, 2.25frame/s]
Processing frames: 45%|████▌ | 45/100 [00:19<00:25, 2.16frame/s]
Processing frames: 46%|████▌ | 46/100 [00:19<00:24, 2.18frame/s]
Processing frames: 47%|████▋ | 47/100 [00:20<00:23, 2.30frame/s]
Processing frames: 48%|████▊ | 48/100 [00:20<00:21, 2.40frame/s]
Processing frames: 49%|████▉ | 49/100 [00:20<00:19, 2.66frame/s]
Processing frames: 50%|█████ | 50/100 [00:21<00:16, 2.99frame/s]
Processing frames: 51%|█████ | 51/100 [00:21<00:16, 3.06frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:21<00:16, 2.85frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:22<00:17, 2.69frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:22<00:17, 2.59frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:23<00:19, 2.27frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:23<00:19, 2.29frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:24<00:18, 2.30frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:24<00:17, 2.41frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:24<00:15, 2.58frame/s]
Processing frames: 60%|██████ | 60/100 [00:25<00:15, 2.63frame/s]
Processing frames: 61%|██████ | 61/100 [00:25<00:16, 2.32frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:26<00:17, 2.19frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:26<00:16, 2.28frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:27<00:15, 2.33frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:27<00:15, 2.33frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:27<00:15, 2.25frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:28<00:15, 2.11frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:28<00:14, 2.14frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:29<00:13, 2.26frame/s]
Processing frames: 70%|███████ | 70/100 [00:29<00:12, 2.40frame/s]
Processing frames: 71%|███████ | 71/100 [00:30<00:12, 2.40frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:30<00:11, 2.41frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:30<00:10, 2.52frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:31<00:09, 2.74frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:31<00:08, 2.85frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:31<00:09, 2.60frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:32<00:12, 1.85frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:33<00:10, 2.08frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:33<00:09, 2.19frame/s]
Processing frames: 80%|████████ | 80/100 [00:34<00:10, 1.86frame/s]
Processing frames: 81%|████████ | 81/100 [00:34<00:09, 2.01frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:35<00:08, 2.09frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:35<00:07, 2.18frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:35<00:07, 2.23frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:36<00:06, 2.15frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:36<00:05, 2.43frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:37<00:04, 2.80frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:37<00:04, 2.92frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:37<00:04, 2.56frame/s]
Processing frames: 90%|█████████ | 90/100 [00:38<00:04, 2.43frame/s]
Processing frames: 91%|█████████ | 91/100 [00:38<00:04, 2.14frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:39<00:03, 2.16frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:39<00:03, 2.21frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:40<00:02, 2.36frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:40<00:02, 2.43frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:40<00:01, 2.60frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:41<00:01, 2.41frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:41<00:00, 2.40frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:42<00:00, 2.33frame/s]
Processing frames: 100%|██████████| 100/100 [00:42<00:00, 2.12frame/s]
Processing frames: 100%|██████████| 100/100 [00:42<00:00, 2.34frame/s]
(1495, 1295)
kx (241,)
python3 05_tacaw_cropped.py
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/torch_13653a5f142e
-
Processing frames: 8%|▊ | 8/100 [00:00<00:01, 73.27frame/s]
Processing frames: 16%|█▌ | 16/100 [00:00<00:01, 76.65frame/s]
Processing frames: 24%|██▍ | 24/100 [00:00<00:00, 77.98frame/s]
Processing frames: 32%|███▏ | 32/100 [00:00<00:00, 78.48frame/s]
Processing frames: 40%|████ | 40/100 [00:00<00:00, 78.93frame/s]
Processing frames: 48%|████▊ | 48/100 [00:00<00:00, 79.03frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:00<00:00, 79.92frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:00<00:00, 79.77frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:00<00:00, 79.60frame/s]
Processing frames: 81%|████████ | 81/100 [00:01<00:00, 79.46frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:01<00:00, 79.45frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:01<00:00, 79.28frame/s]
Processing frames: 100%|██████████| 100/100 [00:01<00:00, 78.97frame/s]
-tacaw > wfdata torch.Size([1, 100, 481, 481, 1])
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/torch_91b103dcfbe4
+
Processing frames: 7%|▋ | 7/100 [00:00<00:01, 66.57frame/s]
Processing frames: 15%|█▌ | 15/100 [00:00<00:01, 71.70frame/s]
Processing frames: 23%|██▎ | 23/100 [00:00<00:01, 73.04frame/s]
Processing frames: 31%|███ | 31/100 [00:00<00:00, 71.96frame/s]
Processing frames: 39%|███▉ | 39/100 [00:00<00:00, 73.47frame/s]
Processing frames: 47%|████▋ | 47/100 [00:00<00:00, 73.97frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:00<00:00, 74.03frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:00<00:00, 73.95frame/s]
Processing frames: 71%|███████ | 71/100 [00:00<00:00, 74.01frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:01<00:00, 73.02frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:01<00:00, 73.51frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:01<00:00, 73.56frame/s]
Processing frames: 100%|██████████| 100/100 [00:01<00:00, 73.27frame/s]
(481, 481)
kx (241,)
python3 06_loaders.py
No velocity data found. Setting velocities to zero.
+failed to import pySEA: No module named 'pySEA'
attempting to load inputs/silicon_pos.positions
-
Loading frames: 0%| | 0/1 [00:00, ?frame/s]
Loading frames: 100%|██████████| 1/1 [00:00<00:00, 4940.29frame/s]
-diff npy file does not exist. creating anew
+
Loading frames: 0%| | 0/1 [00:00, ?frame/s]
Loading frames: 100%|██████████| 1/1 [00:00<00:00, 4975.45frame/s]
saving plot for silicon_pos.positions to 06_loaders_0.png
attempting to load inputs/hBN_cif.cif
-diff npy file does not exist. creating anew
saving plot for hBN_cif.cif to 06_loaders_1.png
attempting to load inputs/hBN_truncated.lammpstrj
-
Loading frames: 0%| | 0/100 [00:00, ?frame/s]
Loading frames: 35%|███▌ | 35/100 [00:00<00:00, 343.62frame/s]
Loading frames: 70%|███████ | 70/100 [00:00<00:00, 338.66frame/s]
Loading frames: 100%|██████████| 100/100 [00:00<00:00, 338.63frame/s]
+
Loading frames: 0%| | 0/100 [00:00, ?frame/s]
Loading frames: 35%|███▌ | 35/100 [00:00<00:00, 348.46frame/s]
Loading frames: 70%|███████ | 70/100 [00:00<00:00, 343.91frame/s]
Loading frames: 100%|██████████| 100/100 [00:00<00:00, 342.35frame/s]
No velocity data found. Setting velocities to zero.
-diff npy file does not exist. creating anew
saving plot for hBN_truncated.lammpstrj to 06_loaders_2.png
attempting to load inputs/hBN_GAP_ase.trj
-
Loading frames: 0%| | 0/101 [00:00, ?frame/s]
Loading frames: 7%|▋ | 7/101 [00:00<00:01, 64.16frame/s]
Loading frames: 14%|█▍ | 14/101 [00:00<00:01, 58.17frame/s]
Loading frames: 20%|█▉ | 20/101 [00:00<00:01, 57.16frame/s]
Loading frames: 26%|██▌ | 26/101 [00:00<00:01, 56.57frame/s]
Loading frames: 32%|███▏ | 32/101 [00:00<00:01, 56.25frame/s]
Loading frames: 38%|███▊ | 38/101 [00:00<00:01, 55.89frame/s]
Loading frames: 44%|████▎ | 44/101 [00:00<00:01, 55.62frame/s]
Loading frames: 50%|████▉ | 50/101 [00:00<00:00, 55.49frame/s]
Loading frames: 55%|█████▌ | 56/101 [00:00<00:00, 55.42frame/s]
Loading frames: 61%|██████▏ | 62/101 [00:01<00:00, 54.95frame/s]
Loading frames: 67%|██████▋ | 68/101 [00:01<00:00, 54.93frame/s]
Loading frames: 73%|███████▎ | 74/101 [00:01<00:00, 55.13frame/s]
Loading frames: 79%|███████▉ | 80/101 [00:01<00:00, 55.31frame/s]
Loading frames: 85%|████████▌ | 86/101 [00:01<00:00, 55.37frame/s]
Loading frames: 91%|█████████ | 92/101 [00:01<00:00, 55.44frame/s]
Loading frames: 97%|█████████▋| 98/101 [00:01<00:00, 55.54frame/s]
Loading frames: 100%|██████████| 101/101 [00:01<00:00, 55.76frame/s]
-diff npy file does not exist. creating anew
+
Loading frames: 0%| | 0/101 [00:00, ?frame/s]
Loading frames: 7%|▋ | 7/101 [00:00<00:01, 60.76frame/s]
Loading frames: 14%|█▍ | 14/101 [00:00<00:01, 55.71frame/s]
Loading frames: 20%|█▉ | 20/101 [00:00<00:01, 51.68frame/s]
Loading frames: 26%|██▌ | 26/101 [00:00<00:01, 46.80frame/s]
Loading frames: 31%|███ | 31/101 [00:00<00:01, 44.82frame/s]
Loading frames: 36%|███▌ | 36/101 [00:00<00:01, 43.23frame/s]
Loading frames: 41%|████ | 41/101 [00:00<00:01, 42.11frame/s]
Loading frames: 46%|████▌ | 46/101 [00:01<00:01, 41.67frame/s]
Loading frames: 50%|█████ | 51/101 [00:01<00:01, 41.50frame/s]
Loading frames: 55%|█████▌ | 56/101 [00:01<00:01, 40.64frame/s]
Loading frames: 60%|██████ | 61/101 [00:02<00:04, 9.98frame/s]
Loading frames: 64%|██████▍ | 65/101 [00:02<00:02, 12.29frame/s]
Loading frames: 69%|██████▉ | 70/101 [00:02<00:01, 16.01frame/s]
Loading frames: 75%|███████▌ | 76/101 [00:02<00:01, 21.17frame/s]
Loading frames: 81%|████████ | 82/101 [00:03<00:00, 26.46frame/s]
Loading frames: 87%|████████▋ | 88/101 [00:03<00:00, 31.53frame/s]
Loading frames: 93%|█████████▎| 94/101 [00:03<00:00, 36.10frame/s]
Loading frames: 99%|█████████▉| 100/101 [00:03<00:00, 39.65frame/s]
Loading frames: 100%|██████████| 101/101 [00:03<00:00, 29.24frame/s]
saving plot for hBN_GAP_ase.trj to 06_loaders_3.png
Testing ASE Atoms object loading (single frame)
@@ -57,1158 +61,1162 @@ Testing ASE Atoms trajectory loading (multiple frames)
✓ Loaded from ASE trajectory: 10 frames, 16 atoms
✓ ASE Atoms multi-frame loading test PASSED
python3 07_defocus.py
+failed to import pySEA: No module named 'pySEA'
python3 08_LACBED_iterative.py
-
Loading frames: 0%| | 0/50 [00:00, ?frame/s]
Loading frames: 26%|██▌ | 13/50 [00:00<00:00, 120.12frame/s]
Loading frames: 52%|█████▏ | 26/50 [00:00<00:00, 116.28frame/s]
Loading frames: 76%|███████▌ | 38/50 [00:00<00:00, 115.32frame/s]
Loading frames: 100%|██████████| 50/50 [00:00<00:00, 114.78frame/s]
Loading frames: 100%|██████████| 50/50 [00:00<00:00, 115.43frame/s]
+failed to import pySEA: No module named 'pySEA'
+
Loading frames: 0%| | 0/50 [00:00, ?frame/s]
Loading frames: 26%|██▌ | 13/50 [00:00<00:00, 122.82frame/s]
Loading frames: 52%|█████▏ | 26/50 [00:00<00:00, 117.47frame/s]
Loading frames: 76%|███████▌ | 38/50 [00:00<00:00, 115.95frame/s]
Loading frames: 100%|██████████| 50/50 [00:00<00:00, 115.41frame/s]
Loading frames: 100%|██████████| 50/50 [00:00<00:00, 116.26frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:24, 2.19it/s][A
-
4%|▎ | 2/55 [00:00<00:16, 3.13it/s][A
-
5%|▌ | 3/55 [00:01<00:16, 3.09it/s][A
-
7%|▋ | 4/55 [00:01<00:27, 1.85it/s][A
-
9%|▉ | 5/55 [00:02<00:20, 2.38it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.12it/s][A
-
13%|█▎ | 7/55 [00:03<00:24, 1.93it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.39it/s][A
-
16%|█▋ | 9/55 [00:04<00:26, 1.77it/s][A
-
18%|█▊ | 10/55 [00:04<00:22, 2.02it/s][A
-
20%|██ | 11/55 [00:04<00:18, 2.32it/s][A
-
22%|██▏ | 12/55 [00:05<00:24, 1.74it/s][A
-
24%|██▎ | 13/55 [00:06<00:20, 2.04it/s][A
-
25%|██▌ | 14/55 [00:06<00:17, 2.31it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.77it/s][A
+
2%|▏ | 1/55 [00:00<00:25, 2.14it/s][A
+
4%|▎ | 2/55 [00:00<00:17, 3.05it/s][A
+
5%|▌ | 3/55 [00:01<00:16, 3.14it/s][A
+
7%|▋ | 4/55 [00:01<00:27, 1.83it/s][A
+
9%|▉ | 5/55 [00:02<00:21, 2.36it/s][A
+
11%|█ | 6/55 [00:02<00:23, 2.09it/s][A
+
13%|█▎ | 7/55 [00:03<00:24, 1.92it/s][A
+
15%|█▍ | 8/55 [00:03<00:19, 2.38it/s][A
+
16%|█▋ | 9/55 [00:04<00:26, 1.75it/s][A
+
18%|█▊ | 10/55 [00:04<00:21, 2.06it/s][A
+
20%|██ | 11/55 [00:04<00:18, 2.38it/s][A
+
22%|██▏ | 12/55 [00:05<00:24, 1.76it/s][A
+
24%|██▎ | 13/55 [00:06<00:20, 2.09it/s][A
+
25%|██▌ | 14/55 [00:06<00:17, 2.36it/s][A
+
27%|██▋ | 15/55 [00:07<00:22, 1.76it/s][A
29%|██▉ | 16/55 [00:07<00:17, 2.18it/s][A
-
31%|███ | 17/55 [00:08<00:19, 2.00it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.89it/s][A
-
35%|███▍ | 19/55 [00:08<00:15, 2.31it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.75it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.02it/s][A
-
40%|████ | 22/55 [00:10<00:13, 2.45it/s][A
+
31%|███ | 17/55 [00:08<00:18, 2.01it/s][A
+
33%|███▎ | 18/55 [00:08<00:19, 1.92it/s][A
+
35%|███▍ | 19/55 [00:08<00:15, 2.34it/s][A
+
36%|███▋ | 20/55 [00:09<00:19, 1.79it/s][A
+
38%|███▊ | 21/55 [00:10<00:16, 2.06it/s][A
+
40%|████ | 22/55 [00:10<00:13, 2.49it/s][A
42%|████▏ | 23/55 [00:11<00:17, 1.79it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.09it/s][A
-
45%|████▌ | 25/55 [00:11<00:12, 2.36it/s][A
-
47%|████▋ | 26/55 [00:12<00:16, 1.77it/s][A
-
49%|████▉ | 27/55 [00:12<00:12, 2.18it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.00it/s][A
-
53%|█████▎ | 29/55 [00:14<00:13, 1.91it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.33it/s][A
+
44%|████▎ | 24/55 [00:11<00:14, 2.12it/s][A
+
45%|████▌ | 25/55 [00:11<00:12, 2.38it/s][A
+
47%|████▋ | 26/55 [00:12<00:16, 1.78it/s][A
+
49%|████▉ | 27/55 [00:12<00:12, 2.20it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 2.02it/s][A
+
53%|█████▎ | 29/55 [00:14<00:13, 1.90it/s][A
+
55%|█████▍ | 30/55 [00:14<00:10, 2.32it/s][A
56%|█████▋ | 31/55 [00:15<00:13, 1.74it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.02it/s][A
-
60%|██████ | 33/55 [00:15<00:08, 2.44it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.76it/s][A
-
64%|██████▎ | 35/55 [00:16<00:09, 2.18it/s][A
-
65%|██████▌ | 36/55 [00:17<00:07, 2.40it/s][A
-
67%|██████▋ | 37/55 [00:18<00:10, 1.80it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.22it/s][A
-
71%|███████ | 39/55 [00:18<00:07, 2.01it/s][A
+
58%|█████▊ | 32/55 [00:15<00:11, 2.00it/s][A
+
60%|██████ | 33/55 [00:15<00:09, 2.40it/s][A
+
62%|██████▏ | 34/55 [00:16<00:12, 1.74it/s][A
+
64%|██████▎ | 35/55 [00:16<00:09, 2.14it/s][A
+
65%|██████▌ | 36/55 [00:17<00:08, 2.31it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.75it/s][A
+
69%|██████▉ | 38/55 [00:18<00:07, 2.16it/s][A
+
71%|███████ | 39/55 [00:18<00:08, 2.00it/s][A
73%|███████▎ | 40/55 [00:19<00:07, 1.91it/s][A
-
75%|███████▍ | 41/55 [00:19<00:05, 2.33it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.77it/s][A
-
78%|███████▊ | 43/55 [00:20<00:05, 2.06it/s][A
-
80%|████████ | 44/55 [00:21<00:04, 2.48it/s][A
-
82%|████████▏ | 45/55 [00:22<00:05, 1.79it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.21it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.44it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.82it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.24it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 2.03it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.92it/s][A
-
95%|█████████▍| 52/55 [00:25<00:01, 2.35it/s][A
-
96%|█████████▋| 53/55 [00:25<00:01, 1.78it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.07it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.30it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.07it/s]
-
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.92s/frame]
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.92s/frame]
+
75%|███████▍ | 41/55 [00:19<00:06, 2.33it/s][A
+
76%|███████▋ | 42/55 [00:20<00:07, 1.76it/s][A
+
78%|███████▊ | 43/55 [00:20<00:05, 2.05it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.43it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.77it/s][A
+
84%|████████▎ | 46/55 [00:22<00:04, 2.18it/s][A
+
85%|████████▌ | 47/55 [00:22<00:03, 2.42it/s][A
+
87%|████████▋ | 48/55 [00:23<00:03, 1.81it/s][A
+
89%|████████▉ | 49/55 [00:23<00:02, 2.20it/s][A
+
91%|█████████ | 50/55 [00:24<00:02, 1.99it/s][A
+
93%|█████████▎| 51/55 [00:24<00:02, 1.88it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.31it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.75it/s][A
+
98%|█████████▊| 54/55 [00:26<00:00, 2.04it/s][A
+
100%|██████████| 55/55 [00:26<00:00, 2.30it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.06it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.00s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.00s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:24, 2.17it/s][A
-
4%|▎ | 2/55 [00:00<00:16, 3.14it/s][A
-
5%|▌ | 3/55 [00:00<00:16, 3.14it/s][A
-
7%|▋ | 4/55 [00:01<00:28, 1.82it/s][A
-
9%|▉ | 5/55 [00:02<00:21, 2.34it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.07it/s][A
-
13%|█▎ | 7/55 [00:03<00:25, 1.89it/s][A
-
15%|█▍ | 8/55 [00:03<00:20, 2.35it/s][A
-
16%|█▋ | 9/55 [00:04<00:26, 1.76it/s][A
-
18%|█▊ | 10/55 [00:04<00:22, 2.04it/s][A
-
20%|██ | 11/55 [00:05<00:18, 2.32it/s][A
-
22%|██▏ | 12/55 [00:05<00:24, 1.74it/s][A
-
24%|██▎ | 13/55 [00:06<00:20, 2.05it/s][A
-
25%|██▌ | 14/55 [00:06<00:17, 2.32it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.76it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.17it/s][A
-
31%|███ | 17/55 [00:08<00:18, 2.01it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.86it/s][A
-
35%|███▍ | 19/55 [00:09<00:15, 2.28it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.75it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.04it/s][A
-
40%|████ | 22/55 [00:10<00:13, 2.45it/s][A
+
2%|▏ | 1/55 [00:00<00:24, 2.21it/s][A
+
4%|▎ | 2/55 [00:00<00:16, 3.19it/s][A
+
5%|▌ | 3/55 [00:00<00:16, 3.17it/s][A
+
7%|▋ | 4/55 [00:01<00:27, 1.84it/s][A
+
9%|▉ | 5/55 [00:02<00:21, 2.33it/s][A
+
11%|█ | 6/55 [00:02<00:23, 2.09it/s][A
+
13%|█▎ | 7/55 [00:03<00:25, 1.92it/s][A
+
15%|█▍ | 8/55 [00:03<00:19, 2.36it/s][A
+
16%|█▋ | 9/55 [00:04<00:25, 1.77it/s][A
+
18%|█▊ | 10/55 [00:04<00:21, 2.07it/s][A
+
20%|██ | 11/55 [00:04<00:18, 2.37it/s][A
+
22%|██▏ | 12/55 [00:05<00:24, 1.73it/s][A
+
24%|██▎ | 13/55 [00:06<00:20, 2.02it/s][A
+
25%|██▌ | 14/55 [00:06<00:18, 2.26it/s][A
+
27%|██▋ | 15/55 [00:07<00:22, 1.74it/s][A
+
29%|██▉ | 16/55 [00:07<00:18, 2.15it/s][A
+
31%|███ | 17/55 [00:08<00:19, 1.99it/s][A
+
33%|███▎ | 18/55 [00:08<00:19, 1.85it/s][A
+
35%|███▍ | 19/55 [00:09<00:15, 2.26it/s][A
+
36%|███▋ | 20/55 [00:09<00:20, 1.72it/s][A
+
38%|███▊ | 21/55 [00:10<00:17, 1.98it/s][A
+
40%|████ | 22/55 [00:10<00:13, 2.39it/s][A
42%|████▏ | 23/55 [00:11<00:18, 1.77it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.09it/s][A
-
45%|████▌ | 25/55 [00:11<00:12, 2.32it/s][A
-
47%|████▋ | 26/55 [00:12<00:16, 1.77it/s][A
-
49%|████▉ | 27/55 [00:13<00:12, 2.19it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.00it/s][A
-
53%|█████▎ | 29/55 [00:14<00:13, 1.89it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.32it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.77it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.05it/s][A
-
60%|██████ | 33/55 [00:15<00:08, 2.48it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.81it/s][A
-
64%|██████▎ | 35/55 [00:17<00:09, 2.12it/s][A
-
65%|██████▌ | 36/55 [00:17<00:08, 2.32it/s][A
-
67%|██████▋ | 37/55 [00:18<00:10, 1.74it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.16it/s][A
+
44%|████▎ | 24/55 [00:11<00:15, 2.07it/s][A
+
45%|████▌ | 25/55 [00:12<00:12, 2.31it/s][A
+
47%|████▋ | 26/55 [00:12<00:16, 1.74it/s][A
+
49%|████▉ | 27/55 [00:13<00:13, 2.14it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 1.98it/s][A
+
53%|█████▎ | 29/55 [00:14<00:14, 1.85it/s][A
+
55%|█████▍ | 30/55 [00:14<00:11, 2.26it/s][A
+
56%|█████▋ | 31/55 [00:15<00:13, 1.72it/s][A
+
58%|█████▊ | 32/55 [00:15<00:11, 2.00it/s][A
+
60%|██████ | 33/55 [00:15<00:09, 2.41it/s][A
+
62%|██████▏ | 34/55 [00:16<00:12, 1.74it/s][A
+
64%|██████▎ | 35/55 [00:17<00:09, 2.04it/s][A
+
65%|██████▌ | 36/55 [00:17<00:08, 2.26it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.73it/s][A
+
69%|██████▉ | 38/55 [00:18<00:07, 2.13it/s][A
71%|███████ | 39/55 [00:19<00:08, 1.97it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.88it/s][A
-
75%|███████▍ | 41/55 [00:19<00:06, 2.30it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.77it/s][A
-
78%|███████▊ | 43/55 [00:21<00:05, 2.05it/s][A
-
80%|████████ | 44/55 [00:21<00:04, 2.48it/s][A
-
82%|████████▏ | 45/55 [00:22<00:05, 1.79it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.20it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.44it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.81it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.23it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 2.00it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.90it/s][A
-
95%|█████████▍| 52/55 [00:25<00:01, 2.31it/s][A
-
96%|█████████▋| 53/55 [00:26<00:01, 1.74it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.02it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.23it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.06it/s]
-
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.06s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.06s/frame]
+
73%|███████▎ | 40/55 [00:19<00:08, 1.85it/s][A
+
75%|███████▍ | 41/55 [00:20<00:06, 2.26it/s][A
+
76%|███████▋ | 42/55 [00:21<00:07, 1.73it/s][A
+
78%|███████▊ | 43/55 [00:21<00:06, 1.99it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.40it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.74it/s][A
+
84%|████████▎ | 46/55 [00:22<00:04, 2.13it/s][A
+
85%|████████▌ | 47/55 [00:23<00:03, 2.33it/s][A
+
87%|████████▋ | 48/55 [00:23<00:04, 1.73it/s][A
+
89%|████████▉ | 49/55 [00:24<00:02, 2.13it/s][A
+
91%|█████████ | 50/55 [00:24<00:02, 1.92it/s][A
+
93%|█████████▎| 51/55 [00:25<00:02, 1.81it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.19it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.69it/s][A
+
98%|█████████▊| 54/55 [00:26<00:00, 1.95it/s][A
+
100%|██████████| 55/55 [00:27<00:00, 2.16it/s][A
100%|██████████| 55/55 [00:27<00:00, 2.02it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.63s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.63s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:23, 2.30it/s][A
-
4%|▎ | 2/55 [00:00<00:16, 3.29it/s][A
-
5%|▌ | 3/55 [00:00<00:16, 3.24it/s][A
-
7%|▋ | 4/55 [00:01<00:27, 1.86it/s][A
+
2%|▏ | 1/55 [00:00<00:22, 2.36it/s][A
+
4%|▎ | 2/55 [00:00<00:16, 3.28it/s][A
+
5%|▌ | 3/55 [00:00<00:16, 3.18it/s][A
+
7%|▋ | 4/55 [00:01<00:27, 1.85it/s][A
9%|▉ | 5/55 [00:02<00:20, 2.38it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.09it/s][A
-
13%|█▎ | 7/55 [00:03<00:24, 1.94it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.40it/s][A
+
11%|█ | 6/55 [00:02<00:23, 2.10it/s][A
+
13%|█▎ | 7/55 [00:03<00:24, 1.93it/s][A
+
15%|█▍ | 8/55 [00:03<00:19, 2.37it/s][A
16%|█▋ | 9/55 [00:04<00:26, 1.76it/s][A
18%|█▊ | 10/55 [00:04<00:21, 2.05it/s][A
-
20%|██ | 11/55 [00:04<00:18, 2.35it/s][A
-
22%|██▏ | 12/55 [00:05<00:24, 1.76it/s][A
-
24%|██▎ | 13/55 [00:06<00:19, 2.18it/s][A
-
25%|██▌ | 14/55 [00:06<00:16, 2.43it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.81it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.21it/s][A
-
31%|███ | 17/55 [00:08<00:18, 2.02it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.91it/s][A
-
35%|███▍ | 19/55 [00:08<00:15, 2.34it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.75it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.01it/s][A
+
20%|██ | 11/55 [00:04<00:18, 2.36it/s][A
+
22%|██▏ | 12/55 [00:05<00:24, 1.74it/s][A
+
24%|██▎ | 13/55 [00:06<00:19, 2.16it/s][A
+
25%|██▌ | 14/55 [00:06<00:17, 2.40it/s][A
+
27%|██▋ | 15/55 [00:07<00:22, 1.80it/s][A
+
29%|██▉ | 16/55 [00:07<00:17, 2.23it/s][A
+
31%|███ | 17/55 [00:08<00:18, 2.04it/s][A
+
33%|███▎ | 18/55 [00:08<00:19, 1.93it/s][A
+
35%|███▍ | 19/55 [00:08<00:15, 2.32it/s][A
+
36%|███▋ | 20/55 [00:09<00:19, 1.77it/s][A
+
38%|███▊ | 21/55 [00:10<00:16, 2.04it/s][A
40%|████ | 22/55 [00:10<00:13, 2.44it/s][A
-
42%|████▏ | 23/55 [00:11<00:18, 1.76it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.16it/s][A
+
42%|████▏ | 23/55 [00:11<00:17, 1.78it/s][A
+
44%|████▎ | 24/55 [00:11<00:14, 2.18it/s][A
45%|████▌ | 25/55 [00:11<00:12, 2.41it/s][A
-
47%|████▋ | 26/55 [00:12<00:16, 1.81it/s][A
-
49%|████▉ | 27/55 [00:12<00:12, 2.22it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.03it/s][A
-
53%|█████▎ | 29/55 [00:14<00:13, 1.91it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.34it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.75it/s][A
+
47%|████▋ | 26/55 [00:12<00:16, 1.79it/s][A
+
49%|████▉ | 27/55 [00:12<00:12, 2.19it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 2.00it/s][A
+
53%|█████▎ | 29/55 [00:14<00:13, 1.89it/s][A
+
55%|█████▍ | 30/55 [00:14<00:10, 2.30it/s][A
+
56%|█████▋ | 31/55 [00:15<00:13, 1.72it/s][A
58%|█████▊ | 32/55 [00:15<00:11, 2.02it/s][A
-
60%|██████ | 33/55 [00:15<00:08, 2.45it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.78it/s][A
-
64%|██████▎ | 35/55 [00:16<00:09, 2.19it/s][A
-
65%|██████▌ | 36/55 [00:17<00:07, 2.43it/s][A
-
67%|██████▋ | 37/55 [00:17<00:09, 1.81it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.22it/s][A
-
71%|███████ | 39/55 [00:18<00:07, 2.01it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.89it/s][A
-
75%|███████▍ | 41/55 [00:19<00:06, 2.31it/s][A
+
60%|██████ | 33/55 [00:15<00:09, 2.43it/s][A
+
62%|██████▏ | 34/55 [00:16<00:11, 1.76it/s][A
+
64%|██████▎ | 35/55 [00:16<00:09, 2.17it/s][A
+
65%|██████▌ | 36/55 [00:17<00:07, 2.41it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.78it/s][A
+
69%|██████▉ | 38/55 [00:18<00:07, 2.19it/s][A
+
71%|███████ | 39/55 [00:18<00:07, 2.00it/s][A
+
73%|███████▎ | 40/55 [00:19<00:07, 1.90it/s][A
+
75%|███████▍ | 41/55 [00:19<00:06, 2.30it/s][A
76%|███████▋ | 42/55 [00:20<00:07, 1.75it/s][A
-
78%|███████▊ | 43/55 [00:20<00:05, 2.03it/s][A
-
80%|████████ | 44/55 [00:21<00:04, 2.32it/s][A
-
82%|████████▏ | 45/55 [00:21<00:05, 1.75it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.16it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.42it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.81it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.22it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 2.05it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.89it/s][A
-
95%|█████████▍| 52/55 [00:24<00:01, 2.32it/s][A
-
96%|█████████▋| 53/55 [00:25<00:01, 1.75it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.04it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.28it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.08it/s]
-
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.79s/frame]
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.79s/frame]
+
78%|███████▊ | 43/55 [00:20<00:05, 2.02it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.34it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.72it/s][A
+
84%|████████▎ | 46/55 [00:22<00:04, 2.12it/s][A
+
85%|████████▌ | 47/55 [00:22<00:03, 2.36it/s][A
+
87%|████████▋ | 48/55 [00:23<00:03, 1.76it/s][A
+
89%|████████▉ | 49/55 [00:23<00:02, 2.15it/s][A
+
91%|█████████ | 50/55 [00:24<00:02, 1.98it/s][A
+
93%|█████████▎| 51/55 [00:24<00:02, 1.85it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.24it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.72it/s][A
+
98%|█████████▊| 54/55 [00:26<00:00, 1.99it/s][A
+
100%|██████████| 55/55 [00:26<00:00, 2.23it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.06it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.01s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.02s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:24, 2.24it/s][A
-
4%|▎ | 2/55 [00:00<00:19, 2.76it/s][A
-
5%|▌ | 3/55 [00:01<00:17, 2.95it/s][A
-
7%|▋ | 4/55 [00:01<00:28, 1.80it/s][A
-
9%|▉ | 5/55 [00:02<00:21, 2.31it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.06it/s][A
-
13%|█▎ | 7/55 [00:03<00:24, 1.92it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.38it/s][A
-
16%|█▋ | 9/55 [00:04<00:26, 1.76it/s][A
-
18%|█▊ | 10/55 [00:04<00:22, 2.04it/s][A
-
20%|██ | 11/55 [00:05<00:19, 2.31it/s][A
+
2%|▏ | 1/55 [00:00<00:24, 2.16it/s][A
+
4%|▎ | 2/55 [00:00<00:19, 2.69it/s][A
+
5%|▌ | 3/55 [00:01<00:18, 2.83it/s][A
+
7%|▋ | 4/55 [00:02<00:29, 1.75it/s][A
+
9%|▉ | 5/55 [00:02<00:22, 2.26it/s][A
+
11%|█ | 6/55 [00:02<00:24, 2.01it/s][A
+
13%|█▎ | 7/55 [00:03<00:25, 1.87it/s][A
+
15%|█▍ | 8/55 [00:03<00:20, 2.30it/s][A
+
16%|█▋ | 9/55 [00:04<00:26, 1.71it/s][A
+
18%|█▊ | 10/55 [00:04<00:22, 1.99it/s][A
+
20%|██ | 11/55 [00:05<00:19, 2.28it/s][A
+
22%|██▏ | 12/55 [00:06<00:24, 1.73it/s][A
+
24%|██▎ | 13/55 [00:06<00:19, 2.13it/s][A
+
25%|██▌ | 14/55 [00:06<00:17, 2.35it/s][A
+
27%|██▋ | 15/55 [00:07<00:22, 1.76it/s][A
+
29%|██▉ | 16/55 [00:07<00:18, 2.15it/s][A
+
31%|███ | 17/55 [00:08<00:19, 1.96it/s][A
+
33%|███▎ | 18/55 [00:08<00:20, 1.84it/s][A
+
35%|███▍ | 19/55 [00:09<00:16, 2.25it/s][A
+
36%|███▋ | 20/55 [00:10<00:20, 1.71it/s][A
+
38%|███▊ | 21/55 [00:10<00:17, 1.95it/s][A
+
40%|████ | 22/55 [00:10<00:14, 2.27it/s][A
+
42%|████▏ | 23/55 [00:11<00:18, 1.69it/s][A
+
44%|████▎ | 24/55 [00:11<00:15, 2.02it/s][A
+
45%|████▌ | 25/55 [00:12<00:13, 2.28it/s][A
+
47%|████▋ | 26/55 [00:13<00:16, 1.74it/s][A
+
49%|████▉ | 27/55 [00:13<00:13, 2.14it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 1.96it/s][A
+
53%|█████▎ | 29/55 [00:14<00:14, 1.83it/s][A
+
55%|█████▍ | 30/55 [00:14<00:11, 2.23it/s][A
+
56%|█████▋ | 31/55 [00:15<00:14, 1.70it/s][A
+
58%|█████▊ | 32/55 [00:16<00:11, 1.96it/s][A
+
60%|██████ | 33/55 [00:16<00:09, 2.37it/s][A
+
62%|██████▏ | 34/55 [00:17<00:12, 1.73it/s][A
+
64%|██████▎ | 35/55 [00:17<00:09, 2.03it/s][A
+
65%|██████▌ | 36/55 [00:17<00:08, 2.28it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.72it/s][A
+
69%|██████▉ | 38/55 [00:18<00:08, 2.11it/s][A
+
71%|███████ | 39/55 [00:19<00:08, 1.95it/s][A
+
73%|███████▎ | 40/55 [00:20<00:08, 1.83it/s][A
+
75%|███████▍ | 41/55 [00:20<00:06, 2.22it/s][A
+
76%|███████▋ | 42/55 [00:21<00:07, 1.71it/s][A
+
78%|███████▊ | 43/55 [00:21<00:06, 1.97it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.36it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.74it/s][A
+
84%|████████▎ | 46/55 [00:23<00:04, 2.15it/s][A
+
85%|████████▌ | 47/55 [00:23<00:03, 2.33it/s][A
+
87%|████████▋ | 48/55 [00:24<00:03, 1.75it/s][A
+
89%|████████▉ | 49/55 [00:24<00:02, 2.16it/s][A
+
91%|█████████ | 50/55 [00:25<00:02, 1.97it/s][A
+
93%|█████████▎| 51/55 [00:25<00:02, 1.84it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.25it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.72it/s][A
+
98%|█████████▊| 54/55 [00:27<00:00, 1.98it/s][A
+
100%|██████████| 55/55 [00:27<00:00, 2.18it/s][A
100%|██████████| 55/55 [00:27<00:00, 2.00it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.81s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.81s/frame]
+
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
+
+
0%| | 0/55 [00:00, ?it/s][A
+
2%|▏ | 1/55 [00:00<00:23, 2.32it/s][A
+
4%|▎ | 2/55 [00:00<00:18, 2.84it/s][A
+
5%|▌ | 3/55 [00:01<00:17, 2.98it/s][A
+
7%|▋ | 4/55 [00:01<00:28, 1.77it/s][A
+
9%|▉ | 5/55 [00:02<00:22, 2.26it/s][A
+
11%|█ | 6/55 [00:02<00:24, 1.98it/s][A
+
13%|█▎ | 7/55 [00:03<00:26, 1.84it/s][A
+
15%|█▍ | 8/55 [00:03<00:20, 2.27it/s][A
+
16%|█▋ | 9/55 [00:04<00:26, 1.71it/s][A
+
18%|█▊ | 10/55 [00:04<00:22, 1.99it/s][A
+
20%|██ | 11/55 [00:05<00:18, 2.41it/s][A
+
22%|██▏ | 12/55 [00:06<00:24, 1.74it/s][A
+
24%|██▎ | 13/55 [00:06<00:20, 2.04it/s][A
+
25%|██▌ | 14/55 [00:06<00:18, 2.27it/s][A
+
27%|██▋ | 15/55 [00:07<00:23, 1.72it/s][A
+
29%|██▉ | 16/55 [00:07<00:18, 2.12it/s][A
+
31%|███ | 17/55 [00:08<00:19, 1.92it/s][A
+
33%|███▎ | 18/55 [00:09<00:20, 1.82it/s][A
+
35%|███▍ | 19/55 [00:09<00:16, 2.23it/s][A
+
36%|███▋ | 20/55 [00:10<00:20, 1.71it/s][A
+
38%|███▊ | 21/55 [00:10<00:17, 1.98it/s][A
+
40%|████ | 22/55 [00:10<00:13, 2.40it/s][A
+
42%|████▏ | 23/55 [00:11<00:18, 1.74it/s][A
+
44%|████▎ | 24/55 [00:11<00:14, 2.11it/s][A
+
45%|████▌ | 25/55 [00:12<00:12, 2.36it/s][A
+
47%|████▋ | 26/55 [00:13<00:16, 1.76it/s][A
+
49%|████▉ | 27/55 [00:13<00:12, 2.16it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 1.94it/s][A
+
53%|█████▎ | 29/55 [00:14<00:14, 1.85it/s][A
+
55%|█████▍ | 30/55 [00:14<00:11, 2.24it/s][A
+
56%|█████▋ | 31/55 [00:15<00:14, 1.69it/s][A
+
58%|█████▊ | 32/55 [00:15<00:11, 1.97it/s][A
+
60%|██████ | 33/55 [00:16<00:09, 2.38it/s][A
+
62%|██████▏ | 34/55 [00:17<00:12, 1.75it/s][A
+
64%|██████▎ | 35/55 [00:17<00:09, 2.14it/s][A
+
65%|██████▌ | 36/55 [00:17<00:08, 2.36it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.75it/s][A
+
69%|██████▉ | 38/55 [00:18<00:07, 2.14it/s][A
+
71%|███████ | 39/55 [00:19<00:08, 1.95it/s][A
+
73%|███████▎ | 40/55 [00:20<00:08, 1.85it/s][A
+
75%|███████▍ | 41/55 [00:20<00:06, 2.26it/s][A
+
76%|███████▋ | 42/55 [00:21<00:07, 1.72it/s][A
+
78%|███████▊ | 43/55 [00:21<00:05, 2.00it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.41it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.75it/s][A
+
84%|████████▎ | 46/55 [00:22<00:04, 2.04it/s][A
+
85%|████████▌ | 47/55 [00:23<00:03, 2.24it/s][A
+
87%|████████▋ | 48/55 [00:24<00:04, 1.71it/s][A
+
89%|████████▉ | 49/55 [00:24<00:02, 2.11it/s][A
+
91%|█████████ | 50/55 [00:24<00:02, 1.94it/s][A
+
93%|█████████▎| 51/55 [00:25<00:02, 1.86it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.26it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.71it/s][A
+
98%|█████████▊| 54/55 [00:27<00:00, 1.98it/s][A
+
100%|██████████| 55/55 [00:27<00:00, 2.19it/s][A
100%|██████████| 55/55 [00:27<00:00, 2.01it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.70s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.70s/frame]
+
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
+
+
0%| | 0/55 [00:00, ?it/s][A
+
2%|▏ | 1/55 [00:00<00:22, 2.35it/s][A
+
4%|▎ | 2/55 [00:00<00:16, 3.28it/s][A
+
5%|▌ | 3/55 [00:00<00:16, 3.13it/s][A
+
7%|▋ | 4/55 [00:01<00:28, 1.79it/s][A
+
9%|▉ | 5/55 [00:02<00:21, 2.28it/s][A
+
11%|█ | 6/55 [00:02<00:24, 2.00it/s][A
+
13%|█▎ | 7/55 [00:03<00:25, 1.87it/s][A
+
15%|█▍ | 8/55 [00:03<00:20, 2.31it/s][A
+
16%|█▋ | 9/55 [00:04<00:26, 1.73it/s][A
+
18%|█▊ | 10/55 [00:04<00:22, 2.00it/s][A
+
20%|██ | 11/55 [00:05<00:18, 2.42it/s][A
22%|██▏ | 12/55 [00:05<00:24, 1.74it/s][A
-
24%|██▎ | 13/55 [00:06<00:19, 2.14it/s][A
-
25%|██▌ | 14/55 [00:06<00:17, 2.37it/s][A
+
24%|██▎ | 13/55 [00:06<00:19, 2.15it/s][A
+
25%|██▌ | 14/55 [00:06<00:17, 2.36it/s][A
27%|██▋ | 15/55 [00:07<00:22, 1.77it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.19it/s][A
-
31%|███ | 17/55 [00:08<00:18, 2.00it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.88it/s][A
-
35%|███▍ | 19/55 [00:09<00:15, 2.30it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.76it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.04it/s][A
-
40%|████ | 22/55 [00:10<00:14, 2.32it/s][A
-
42%|████▏ | 23/55 [00:11<00:18, 1.75it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.09it/s][A
-
45%|████▌ | 25/55 [00:11<00:12, 2.33it/s][A
-
47%|████▋ | 26/55 [00:12<00:16, 1.76it/s][A
-
49%|████▉ | 27/55 [00:13<00:12, 2.17it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 1.99it/s][A
-
53%|█████▎ | 29/55 [00:14<00:13, 1.86it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.29it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.76it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.02it/s][A
-
60%|██████ | 33/55 [00:15<00:09, 2.44it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.78it/s][A
-
64%|██████▎ | 35/55 [00:17<00:09, 2.10it/s][A
-
65%|██████▌ | 36/55 [00:17<00:08, 2.35it/s][A
-
67%|██████▋ | 37/55 [00:18<00:10, 1.76it/s][A
+
29%|██▉ | 16/55 [00:07<00:18, 2.16it/s][A
+
31%|███ | 17/55 [00:08<00:19, 1.94it/s][A
+
33%|███▎ | 18/55 [00:08<00:19, 1.86it/s][A
+
35%|███▍ | 19/55 [00:09<00:15, 2.27it/s][A
+
36%|███▋ | 20/55 [00:09<00:20, 1.74it/s][A
+
38%|███▊ | 21/55 [00:10<00:16, 2.01it/s][A
+
40%|████ | 22/55 [00:10<00:13, 2.40it/s][A
+
42%|████▏ | 23/55 [00:11<00:18, 1.74it/s][A
+
44%|████▎ | 24/55 [00:11<00:15, 2.03it/s][A
+
45%|████▌ | 25/55 [00:12<00:13, 2.26it/s][A
+
47%|████▋ | 26/55 [00:12<00:16, 1.71it/s][A
+
49%|████▉ | 27/55 [00:13<00:13, 2.10it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 1.94it/s][A
+
53%|█████▎ | 29/55 [00:14<00:14, 1.83it/s][A
+
55%|█████▍ | 30/55 [00:14<00:11, 2.23it/s][A
+
56%|█████▋ | 31/55 [00:15<00:14, 1.70it/s][A
+
58%|█████▊ | 32/55 [00:15<00:11, 1.96it/s][A
+
60%|██████ | 33/55 [00:16<00:09, 2.37it/s][A
+
62%|██████▏ | 34/55 [00:17<00:11, 1.76it/s][A
+
64%|██████▎ | 35/55 [00:17<00:09, 2.16it/s][A
+
65%|██████▌ | 36/55 [00:17<00:07, 2.41it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.77it/s][A
69%|██████▉ | 38/55 [00:18<00:07, 2.17it/s][A
71%|███████ | 39/55 [00:19<00:08, 2.00it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.89it/s][A
-
75%|███████▍ | 41/55 [00:19<00:06, 2.31it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.74it/s][A
+
73%|███████▎ | 40/55 [00:19<00:08, 1.85it/s][A
+
75%|███████▍ | 41/55 [00:20<00:06, 2.26it/s][A
+
76%|███████▋ | 42/55 [00:21<00:07, 1.72it/s][A
78%|███████▊ | 43/55 [00:21<00:05, 2.01it/s][A
-
80%|████████ | 44/55 [00:21<00:04, 2.44it/s][A
-
82%|████████▏ | 45/55 [00:22<00:05, 1.79it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.21it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.38it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.40it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.76it/s][A
+
84%|████████▎ | 46/55 [00:22<00:04, 2.14it/s][A
+
85%|████████▌ | 47/55 [00:23<00:03, 2.35it/s][A
87%|████████▋ | 48/55 [00:23<00:03, 1.77it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.19it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 2.01it/s][A
+
89%|████████▉ | 49/55 [00:24<00:02, 2.18it/s][A
+
91%|█████████ | 50/55 [00:24<00:02, 1.99it/s][A
93%|█████████▎| 51/55 [00:25<00:02, 1.87it/s][A
-
95%|█████████▍| 52/55 [00:25<00:01, 2.29it/s][A
-
96%|█████████▋| 53/55 [00:26<00:01, 1.74it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.26it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.73it/s][A
98%|█████████▊| 54/55 [00:26<00:00, 2.00it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.21it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.05it/s]
-
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.18s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.18s/frame]
+
100%|██████████| 55/55 [00:27<00:00, 2.22it/s][A
100%|██████████| 55/55 [00:27<00:00, 2.03it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.43s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.43s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:22, 2.37it/s][A
-
4%|▎ | 2/55 [00:00<00:18, 2.91it/s][A
-
5%|▌ | 3/55 [00:01<00:17, 3.05it/s][A
-
7%|▋ | 4/55 [00:01<00:28, 1.82it/s][A
-
9%|▉ | 5/55 [00:02<00:21, 2.35it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.05it/s][A
-
13%|█▎ | 7/55 [00:03<00:25, 1.91it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.37it/s][A
-
16%|█▋ | 9/55 [00:04<00:26, 1.76it/s][A
-
18%|█▊ | 10/55 [00:04<00:22, 2.03it/s][A
-
20%|██ | 11/55 [00:04<00:17, 2.47it/s][A
-
22%|██▏ | 12/55 [00:05<00:23, 1.80it/s][A
-
24%|██▎ | 13/55 [00:06<00:20, 2.09it/s][A
-
25%|██▌ | 14/55 [00:06<00:17, 2.35it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.77it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.19it/s][A
-
31%|███ | 17/55 [00:08<00:18, 2.00it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.89it/s][A
-
35%|███▍ | 19/55 [00:08<00:15, 2.31it/s][A
-
36%|███▋ | 20/55 [00:09<00:20, 1.74it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.03it/s][A
-
40%|████ | 22/55 [00:10<00:13, 2.45it/s][A
-
42%|████▏ | 23/55 [00:11<00:18, 1.77it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.19it/s][A
-
45%|████▌ | 25/55 [00:11<00:12, 2.45it/s][A
-
47%|████▋ | 26/55 [00:12<00:15, 1.82it/s][A
-
49%|████▉ | 27/55 [00:12<00:12, 2.25it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.02it/s][A
-
53%|█████▎ | 29/55 [00:14<00:13, 1.92it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.34it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.77it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.05it/s][A
-
60%|██████ | 33/55 [00:15<00:08, 2.46it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.79it/s][A
-
64%|██████▎ | 35/55 [00:16<00:09, 2.20it/s][A
-
65%|██████▌ | 36/55 [00:17<00:07, 2.44it/s][A
-
67%|██████▋ | 37/55 [00:18<00:09, 1.80it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.22it/s][A
-
71%|███████ | 39/55 [00:18<00:07, 2.01it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.89it/s][A
-
75%|███████▍ | 41/55 [00:19<00:06, 2.31it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.76it/s][A
-
78%|███████▊ | 43/55 [00:20<00:05, 2.05it/s][A
-
80%|████████ | 44/55 [00:21<00:04, 2.49it/s][A
-
82%|████████▏ | 45/55 [00:21<00:05, 1.80it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.11it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.33it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.77it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.18it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 1.98it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.89it/s][A
-
95%|█████████▍| 52/55 [00:25<00:01, 2.30it/s][A
-
96%|█████████▋| 53/55 [00:25<00:01, 1.75it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.02it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.25it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.07it/s]
-
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.87s/frame]
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.87s/frame]
+
2%|▏ | 1/55 [00:00<00:25, 2.12it/s][A
+
4%|▎ | 2/55 [00:00<00:17, 3.11it/s][A
+
5%|▌ | 3/55 [00:00<00:16, 3.18it/s][A
+
7%|▋ | 4/55 [00:01<00:27, 1.82it/s][A
+
9%|▉ | 5/55 [00:02<00:21, 2.33it/s][A
+
11%|█ | 6/55 [00:02<00:24, 2.03it/s][A
+
13%|█▎ | 7/55 [00:03<00:25, 1.87it/s][A
+
15%|█▍ | 8/55 [00:03<00:20, 2.30it/s][A
+
16%|█▋ | 9/55 [00:04<00:26, 1.74it/s][A
+
18%|█▊ | 10/55 [00:04<00:22, 2.01it/s][A
+
20%|██ | 11/55 [00:05<00:19, 2.29it/s][A
+
22%|██▏ | 12/55 [00:06<00:25, 1.69it/s][A
+
24%|██▎ | 13/55 [00:06<00:21, 1.99it/s][A
+
25%|██▌ | 14/55 [00:06<00:18, 2.24it/s][A
+
27%|██▋ | 15/55 [00:07<00:23, 1.71it/s][A
+
29%|██▉ | 16/55 [00:07<00:18, 2.11it/s][A
+
31%|███ | 17/55 [00:08<00:19, 1.92it/s][A
+
33%|███▎ | 18/55 [00:08<00:20, 1.84it/s][A
+
35%|███▍ | 19/55 [00:09<00:16, 2.25it/s][A
+
36%|███▋ | 20/55 [00:10<00:20, 1.72it/s][A
+
38%|███▊ | 21/55 [00:10<00:17, 1.98it/s][A
+
40%|████ | 22/55 [00:10<00:14, 2.26it/s][A
+
42%|████▏ | 23/55 [00:11<00:18, 1.70it/s][A
+
44%|████▎ | 24/55 [00:11<00:14, 2.10it/s][A
+
45%|████▌ | 25/55 [00:12<00:13, 2.30it/s][A
+
47%|████▋ | 26/55 [00:13<00:16, 1.75it/s][A
+
49%|████▉ | 27/55 [00:13<00:13, 2.15it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 1.94it/s][A
+
53%|█████▎ | 29/55 [00:14<00:14, 1.85it/s][A
+
55%|█████▍ | 30/55 [00:14<00:11, 2.26it/s][A
+
56%|█████▋ | 31/55 [00:15<00:13, 1.73it/s][A
+
58%|█████▊ | 32/55 [00:15<00:11, 1.99it/s][A
+
60%|██████ | 33/55 [00:16<00:09, 2.38it/s][A
+
62%|██████▏ | 34/55 [00:17<00:12, 1.73it/s][A
+
64%|██████▎ | 35/55 [00:17<00:09, 2.13it/s][A
+
65%|██████▌ | 36/55 [00:17<00:08, 2.34it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.74it/s][A
+
69%|██████▉ | 38/55 [00:18<00:07, 2.13it/s][A
+
71%|███████ | 39/55 [00:19<00:08, 1.95it/s][A
+
73%|███████▎ | 40/55 [00:20<00:08, 1.83it/s][A
+
75%|███████▍ | 41/55 [00:20<00:06, 2.23it/s][A
+
76%|███████▋ | 42/55 [00:21<00:07, 1.71it/s][A
+
78%|███████▊ | 43/55 [00:21<00:06, 1.98it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.39it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.75it/s][A
+
84%|████████▎ | 46/55 [00:22<00:04, 2.15it/s][A
+
85%|████████▌ | 47/55 [00:23<00:03, 2.39it/s][A
+
87%|████████▋ | 48/55 [00:24<00:03, 1.76it/s][A
+
89%|████████▉ | 49/55 [00:24<00:02, 2.17it/s][A
+
91%|█████████ | 50/55 [00:24<00:02, 1.96it/s][A
+
93%|█████████▎| 51/55 [00:25<00:02, 1.85it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.24it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.71it/s][A
+
98%|█████████▊| 54/55 [00:27<00:00, 1.97it/s][A
+
100%|██████████| 55/55 [00:27<00:00, 2.11it/s][A
100%|██████████| 55/55 [00:27<00:00, 2.01it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.72s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.72s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:23, 2.25it/s][A
-
4%|▎ | 2/55 [00:00<00:16, 3.19it/s][A
-
5%|▌ | 3/55 [00:00<00:16, 3.14it/s][A
-
7%|▋ | 4/55 [00:01<00:28, 1.82it/s][A
-
9%|▉ | 5/55 [00:02<00:21, 2.35it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.05it/s][A
-
13%|█▎ | 7/55 [00:03<00:25, 1.91it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.37it/s][A
-
16%|█▋ | 9/55 [00:04<00:26, 1.75it/s][A
-
18%|█▊ | 10/55 [00:04<00:22, 2.04it/s][A
-
20%|██ | 11/55 [00:04<00:17, 2.48it/s][A
-
22%|██▏ | 12/55 [00:05<00:24, 1.78it/s][A
-
24%|██▎ | 13/55 [00:06<00:19, 2.19it/s][A
-
25%|██▌ | 14/55 [00:06<00:16, 2.43it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.80it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.21it/s][A
-
31%|███ | 17/55 [00:08<00:19, 2.00it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.89it/s][A
-
35%|███▍ | 19/55 [00:08<00:15, 2.32it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.75it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.02it/s][A
-
40%|████ | 22/55 [00:10<00:13, 2.45it/s][A
-
42%|████▏ | 23/55 [00:11<00:18, 1.77it/s][A
+
2%|▏ | 1/55 [00:00<00:23, 2.31it/s][A
+
4%|▎ | 2/55 [00:00<00:16, 3.28it/s][A
+
5%|▌ | 3/55 [00:00<00:16, 3.17it/s][A
+
7%|▋ | 4/55 [00:01<00:28, 1.81it/s][A
+
9%|▉ | 5/55 [00:02<00:21, 2.31it/s][A
+
11%|█ | 6/55 [00:02<00:24, 2.02it/s][A
+
13%|█▎ | 7/55 [00:03<00:25, 1.85it/s][A
+
15%|█▍ | 8/55 [00:03<00:20, 2.29it/s][A
+
16%|█▋ | 9/55 [00:04<00:26, 1.71it/s][A
+
18%|█▊ | 10/55 [00:04<00:22, 1.98it/s][A
+
20%|██ | 11/55 [00:05<00:18, 2.40it/s][A
+
22%|██▏ | 12/55 [00:05<00:24, 1.76it/s][A
+
24%|██▎ | 13/55 [00:06<00:19, 2.16it/s][A
+
25%|██▌ | 14/55 [00:06<00:17, 2.41it/s][A
+
27%|██▋ | 15/55 [00:07<00:22, 1.77it/s][A
+
29%|██▉ | 16/55 [00:07<00:18, 2.16it/s][A
+
31%|███ | 17/55 [00:08<00:19, 1.98it/s][A
+
33%|███▎ | 18/55 [00:08<00:19, 1.88it/s][A
+
35%|███▍ | 19/55 [00:09<00:15, 2.27it/s][A
+
36%|███▋ | 20/55 [00:09<00:20, 1.72it/s][A
+
38%|███▊ | 21/55 [00:10<00:17, 1.99it/s][A
+
40%|████ | 22/55 [00:10<00:14, 2.26it/s][A
+
42%|████▏ | 23/55 [00:11<00:19, 1.68it/s][A
44%|████▎ | 24/55 [00:11<00:14, 2.07it/s][A
-
45%|████▌ | 25/55 [00:11<00:13, 2.29it/s][A
+
45%|████▌ | 25/55 [00:12<00:12, 2.33it/s][A
47%|████▋ | 26/55 [00:12<00:16, 1.73it/s][A
-
49%|████▉ | 27/55 [00:12<00:13, 2.15it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.00it/s][A
-
53%|█████▎ | 29/55 [00:14<00:13, 1.86it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.27it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.75it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.01it/s][A
-
60%|██████ | 33/55 [00:15<00:09, 2.43it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.76it/s][A
-
64%|██████▎ | 35/55 [00:16<00:09, 2.17it/s][A
-
65%|██████▌ | 36/55 [00:17<00:07, 2.43it/s][A
-
67%|██████▋ | 37/55 [00:18<00:10, 1.80it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.22it/s][A
-
71%|███████ | 39/55 [00:18<00:07, 2.03it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.88it/s][A
-
75%|███████▍ | 41/55 [00:19<00:06, 2.31it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.76it/s][A
-
78%|███████▊ | 43/55 [00:20<00:05, 2.02it/s][A
-
80%|████████ | 44/55 [00:21<00:04, 2.45it/s][A
-
82%|████████▏ | 45/55 [00:22<00:05, 1.78it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.19it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.44it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.79it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.20it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 1.97it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.87it/s][A
-
95%|█████████▍| 52/55 [00:25<00:01, 2.28it/s][A
-
96%|█████████▋| 53/55 [00:26<00:01, 1.74it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.02it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.23it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.06it/s]
-
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 27.00s/frame]
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 27.00s/frame]
+
49%|████▉ | 27/55 [00:13<00:13, 2.13it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 1.94it/s][A
+
53%|█████▎ | 29/55 [00:14<00:14, 1.85it/s][A
+
55%|█████▍ | 30/55 [00:14<00:11, 2.26it/s][A
+
56%|█████▋ | 31/55 [00:15<00:13, 1.73it/s][A
+
58%|█████▊ | 32/55 [00:15<00:11, 1.99it/s][A
+
60%|██████ | 33/55 [00:16<00:09, 2.40it/s][A
+
62%|██████▏ | 34/55 [00:17<00:12, 1.74it/s][A
+
64%|██████▎ | 35/55 [00:17<00:09, 2.13it/s][A
+
65%|██████▌ | 36/55 [00:17<00:08, 2.34it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.75it/s][A
+
69%|██████▉ | 38/55 [00:18<00:07, 2.15it/s][A
+
71%|███████ | 39/55 [00:19<00:08, 1.94it/s][A
+
73%|███████▎ | 40/55 [00:19<00:08, 1.84it/s][A
+
75%|███████▍ | 41/55 [00:20<00:06, 2.25it/s][A
+
76%|███████▋ | 42/55 [00:21<00:07, 1.72it/s][A
+
78%|███████▊ | 43/55 [00:21<00:06, 1.99it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.40it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.77it/s][A
+
84%|████████▎ | 46/55 [00:22<00:04, 2.18it/s][A
+
85%|████████▌ | 47/55 [00:23<00:03, 2.36it/s][A
+
87%|████████▋ | 48/55 [00:23<00:04, 1.74it/s][A
+
89%|████████▉ | 49/55 [00:24<00:02, 2.15it/s][A
+
91%|█████████ | 50/55 [00:24<00:02, 1.95it/s][A
+
93%|█████████▎| 51/55 [00:25<00:02, 1.86it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.26it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.72it/s][A
+
98%|█████████▊| 54/55 [00:26<00:00, 1.99it/s][A
+
100%|██████████| 55/55 [00:27<00:00, 2.22it/s][A
100%|██████████| 55/55 [00:27<00:00, 2.03it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.46s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.46s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:24, 2.19it/s][A
-
4%|▎ | 2/55 [00:00<00:16, 3.24it/s][A
-
5%|▌ | 3/55 [00:00<00:16, 3.23it/s][A
-
7%|▋ | 4/55 [00:01<00:27, 1.84it/s][A
-
9%|▉ | 5/55 [00:02<00:21, 2.35it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.05it/s][A
-
13%|█▎ | 7/55 [00:03<00:25, 1.89it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.35it/s][A
-
16%|█▋ | 9/55 [00:04<00:26, 1.74it/s][A
-
18%|█▊ | 10/55 [00:04<00:22, 2.03it/s][A
-
20%|██ | 11/55 [00:05<00:18, 2.35it/s][A
-
22%|██▏ | 12/55 [00:05<00:24, 1.76it/s][A
-
24%|██▎ | 13/55 [00:06<00:20, 2.09it/s][A
-
25%|██▌ | 14/55 [00:06<00:17, 2.33it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.76it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.18it/s][A
-
31%|███ | 17/55 [00:08<00:18, 2.02it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.92it/s][A
-
35%|███▍ | 19/55 [00:08<00:15, 2.34it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.79it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.07it/s][A
-
40%|████ | 22/55 [00:10<00:14, 2.36it/s][A
-
42%|████▏ | 23/55 [00:11<00:18, 1.75it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.16it/s][A
-
45%|████▌ | 25/55 [00:11<00:12, 2.41it/s][A
-
47%|████▋ | 26/55 [00:12<00:16, 1.80it/s][A
-
49%|████▉ | 27/55 [00:12<00:12, 2.22it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.02it/s][A
-
53%|█████▎ | 29/55 [00:14<00:13, 1.89it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.31it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.75it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.02it/s][A
-
60%|██████ | 33/55 [00:15<00:08, 2.45it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.80it/s][A
-
64%|██████▎ | 35/55 [00:16<00:09, 2.22it/s][A
-
65%|██████▌ | 36/55 [00:17<00:07, 2.44it/s][A
-
67%|██████▋ | 37/55 [00:18<00:09, 1.82it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.25it/s][A
-
71%|███████ | 39/55 [00:18<00:07, 2.06it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.91it/s][A
-
75%|███████▍ | 41/55 [00:19<00:06, 2.33it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.77it/s][A
-
78%|███████▊ | 43/55 [00:20<00:05, 2.05it/s][A
-
80%|████████ | 44/55 [00:21<00:04, 2.45it/s][A
-
82%|████████▏ | 45/55 [00:21<00:05, 1.80it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.22it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.48it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.82it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.24it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 2.04it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.92it/s][A
-
95%|█████████▍| 52/55 [00:24<00:01, 2.35it/s][A
-
96%|█████████▋| 53/55 [00:25<00:01, 1.75it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.04it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.19it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.07it/s]
-
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.82s/frame]
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.82s/frame]
-
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
-
-
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:23, 2.33it/s][A
-
4%|▎ | 2/55 [00:00<00:15, 3.36it/s][A
-
5%|▌ | 3/55 [00:00<00:16, 3.18it/s][A
-
7%|▋ | 4/55 [00:01<00:27, 1.84it/s][A
-
9%|▉ | 5/55 [00:02<00:21, 2.37it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.10it/s][A
-
13%|█▎ | 7/55 [00:03<00:24, 1.93it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.38it/s][A
-
16%|█▋ | 9/55 [00:04<00:26, 1.75it/s][A
-
18%|█▊ | 10/55 [00:04<00:22, 2.04it/s][A
-
20%|██ | 11/55 [00:04<00:17, 2.48it/s][A
-
22%|██▏ | 12/55 [00:05<00:23, 1.80it/s][A
-
24%|██▎ | 13/55 [00:05<00:18, 2.22it/s][A
-
25%|██▌ | 14/55 [00:06<00:16, 2.46it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.80it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.21it/s][A
-
31%|███ | 17/55 [00:07<00:18, 2.03it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.91it/s][A
-
35%|███▍ | 19/55 [00:08<00:15, 2.33it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.75it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.02it/s][A
-
40%|████ | 22/55 [00:10<00:14, 2.31it/s][A
-
42%|████▏ | 23/55 [00:11<00:18, 1.74it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.16it/s][A
-
45%|████▌ | 25/55 [00:11<00:12, 2.40it/s][A
-
47%|████▋ | 26/55 [00:12<00:16, 1.80it/s][A
-
49%|████▉ | 27/55 [00:12<00:12, 2.22it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.03it/s][A
-
53%|█████▎ | 29/55 [00:13<00:13, 1.93it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.35it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.77it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.05it/s][A
-
60%|██████ | 33/55 [00:15<00:08, 2.48it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.79it/s][A
-
64%|██████▎ | 35/55 [00:16<00:09, 2.18it/s][A
-
65%|██████▌ | 36/55 [00:17<00:07, 2.42it/s][A
-
67%|██████▋ | 37/55 [00:17<00:09, 1.80it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.21it/s][A
-
71%|███████ | 39/55 [00:18<00:07, 2.00it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.90it/s][A
-
75%|███████▍ | 41/55 [00:19<00:06, 2.32it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.75it/s][A
-
78%|███████▊ | 43/55 [00:20<00:05, 2.05it/s][A
-
80%|████████ | 44/55 [00:20<00:04, 2.48it/s][A
-
82%|████████▏ | 45/55 [00:21<00:05, 1.79it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.21it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.46it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.81it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.24it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 2.03it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.91it/s][A
-
95%|█████████▍| 52/55 [00:24<00:01, 2.34it/s][A
-
96%|█████████▋| 53/55 [00:25<00:01, 1.79it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.05it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.27it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.08it/s]
-
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.68s/frame]
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.68s/frame]
+
2%|▏ | 1/55 [00:00<00:26, 2.06it/s][A
+
4%|▎ | 2/55 [00:00<00:18, 2.89it/s][A
+
5%|▌ | 3/55 [00:01<00:17, 2.93it/s][A
+
7%|▋ | 4/55 [00:01<00:28, 1.80it/s][A
+
9%|▉ | 5/55 [00:02<00:21, 2.30it/s][A
+
11%|█ | 6/55 [00:02<00:24, 1.97it/s][A
+
13%|█▎ | 7/55 [00:03<00:26, 1.84it/s][A
+
15%|█▍ | 8/55 [00:03<00:20, 2.28it/s][A
+
16%|█▋ | 9/55 [00:04<00:26, 1.72it/s][A
+
18%|█▊ | 10/55 [00:04<00:22, 2.00it/s][A
+
20%|██ | 11/55 [00:05<00:19, 2.30it/s][A
+
22%|██▏ | 12/55 [00:06<00:24, 1.73it/s][A
+
24%|██▎ | 13/55 [00:06<00:20, 2.04it/s][A
+
25%|██▌ | 14/55 [00:06<00:18, 2.24it/s][A
+
27%|██▋ | 15/55 [00:07<00:23, 1.72it/s][A
+
29%|██▉ | 16/55 [00:07<00:18, 2.10it/s][A
+
31%|███ | 17/55 [00:08<00:19, 1.93it/s][A
+
33%|███▎ | 18/55 [00:09<00:20, 1.82it/s][A
+
35%|███▍ | 19/55 [00:09<00:16, 2.20it/s][A
+
36%|███▋ | 20/55 [00:10<00:20, 1.68it/s][A
+
38%|███▊ | 21/55 [00:10<00:17, 1.96it/s][A
+
40%|████ | 22/55 [00:10<00:14, 2.25it/s][A
+
42%|████▏ | 23/55 [00:11<00:18, 1.70it/s][A
+
44%|████▎ | 24/55 [00:12<00:15, 2.03it/s][A
+
45%|████▌ | 25/55 [00:12<00:13, 2.28it/s][A
+
47%|████▋ | 26/55 [00:13<00:16, 1.74it/s][A
+
49%|████▉ | 27/55 [00:13<00:13, 2.13it/s][A
+
51%|█████ | 28/55 [00:14<00:13, 1.97it/s][A
+
53%|█████▎ | 29/55 [00:14<00:14, 1.83it/s][A
+
55%|█████▍ | 30/55 [00:14<00:11, 2.24it/s][A
+
56%|█████▋ | 31/55 [00:15<00:13, 1.72it/s][A
+
58%|█████▊ | 32/55 [00:16<00:11, 2.00it/s][A
+
60%|██████ | 33/55 [00:16<00:09, 2.30it/s][A
+
62%|██████▏ | 34/55 [00:17<00:12, 1.74it/s][A
+
64%|██████▎ | 35/55 [00:17<00:09, 2.03it/s][A
+
65%|██████▌ | 36/55 [00:17<00:08, 2.27it/s][A
+
67%|██████▋ | 37/55 [00:18<00:10, 1.71it/s][A
+
69%|██████▉ | 38/55 [00:19<00:08, 2.10it/s][A
+
71%|███████ | 39/55 [00:19<00:08, 1.95it/s][A
+
73%|███████▎ | 40/55 [00:20<00:08, 1.81it/s][A
+
75%|███████▍ | 41/55 [00:20<00:06, 2.21it/s][A
+
76%|███████▋ | 42/55 [00:21<00:07, 1.71it/s][A
+
78%|███████▊ | 43/55 [00:21<00:06, 1.99it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.41it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.77it/s][A
+
84%|████████▎ | 46/55 [00:23<00:04, 2.18it/s][A
+
85%|████████▌ | 47/55 [00:23<00:03, 2.38it/s][A
+
87%|████████▋ | 48/55 [00:24<00:04, 1.75it/s][A
+
89%|████████▉ | 49/55 [00:24<00:02, 2.15it/s][A
+
91%|█████████ | 50/55 [00:25<00:02, 1.94it/s][A
+
93%|█████████▎| 51/55 [00:25<00:02, 1.85it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.24it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.72it/s][A
+
98%|█████████▊| 54/55 [00:27<00:00, 2.01it/s][A
+
100%|██████████| 55/55 [00:27<00:00, 2.17it/s][A
100%|██████████| 55/55 [00:27<00:00, 2.00it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.88s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.88s/frame]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:23, 2.29it/s][A
-
4%|▎ | 2/55 [00:00<00:15, 3.33it/s][A
-
5%|▌ | 3/55 [00:00<00:15, 3.31it/s][A
-
7%|▋ | 4/55 [00:01<00:26, 1.90it/s][A
-
9%|▉ | 5/55 [00:02<00:20, 2.44it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.12it/s][A
-
13%|█▎ | 7/55 [00:03<00:24, 1.98it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.44it/s][A
-
16%|█▋ | 9/55 [00:04<00:25, 1.80it/s][A
-
18%|█▊ | 10/55 [00:04<00:21, 2.11it/s][A
-
20%|██ | 11/55 [00:04<00:18, 2.42it/s][A
-
22%|██▏ | 12/55 [00:05<00:24, 1.78it/s][A
-
24%|██▎ | 13/55 [00:06<00:19, 2.11it/s][A
-
25%|██▌ | 14/55 [00:06<00:17, 2.38it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.80it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.22it/s][A
-
31%|███ | 17/55 [00:07<00:18, 2.03it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.93it/s][A
-
35%|███▍ | 19/55 [00:08<00:15, 2.35it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.77it/s][A
-
38%|███▊ | 21/55 [00:09<00:16, 2.06it/s][A
-
40%|████ | 22/55 [00:10<00:13, 2.36it/s][A
+
2%|▏ | 1/55 [00:00<00:25, 2.09it/s][A
+
4%|▎ | 2/55 [00:00<00:17, 3.03it/s][A
+
5%|▌ | 3/55 [00:01<00:17, 2.98it/s][A
+
7%|▋ | 4/55 [00:01<00:28, 1.76it/s][A
+
9%|▉ | 5/55 [00:02<00:22, 2.26it/s][A
+
11%|█ | 6/55 [00:02<00:24, 1.97it/s][A
+
13%|█▎ | 7/55 [00:03<00:26, 1.83it/s][A
+
15%|█▍ | 8/55 [00:03<00:20, 2.26it/s][A
+
16%|█▋ | 9/55 [00:04<00:26, 1.72it/s][A
+
18%|█▊ | 10/55 [00:04<00:22, 1.99it/s][A
+
20%|██ | 11/55 [00:05<00:18, 2.41it/s][A
+
22%|██▏ | 12/55 [00:06<00:24, 1.76it/s][A
+
24%|██▎ | 13/55 [00:06<00:20, 2.09it/s][A
+
25%|██▌ | 14/55 [00:06<00:17, 2.31it/s][A
+
27%|██▋ | 15/55 [00:07<00:22, 1.75it/s][A
+
29%|██▉ | 16/55 [00:07<00:18, 2.15it/s][A
+
31%|███ | 17/55 [00:08<00:19, 1.96it/s][A
+
33%|███▎ | 18/55 [00:08<00:20, 1.82it/s][A
+
35%|███▍ | 19/55 [00:09<00:16, 2.23it/s][A
+
36%|███▋ | 20/55 [00:10<00:20, 1.73it/s][A
+
38%|███▊ | 21/55 [00:10<00:16, 2.01it/s][A
+
40%|████ | 22/55 [00:10<00:13, 2.42it/s][A
42%|████▏ | 23/55 [00:11<00:18, 1.76it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.07it/s][A
-
45%|████▌ | 25/55 [00:11<00:12, 2.34it/s][A
-
47%|████▋ | 26/55 [00:12<00:16, 1.79it/s][A
-
49%|████▉ | 27/55 [00:12<00:12, 2.20it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.03it/s][A
-
53%|█████▎ | 29/55 [00:13<00:13, 1.92it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.35it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.79it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.08it/s][A
-
60%|██████ | 33/55 [00:15<00:09, 2.36it/s][A
-
62%|██████▏ | 34/55 [00:16<00:12, 1.74it/s][A
-
64%|██████▎ | 35/55 [00:16<00:09, 2.04it/s][A
-
65%|██████▌ | 36/55 [00:17<00:08, 2.32it/s][A
+
44%|████▎ | 24/55 [00:11<00:14, 2.15it/s][A
+
45%|████▌ | 25/55 [00:12<00:12, 2.34it/s][A
+
47%|████▋ | 26/55 [00:13<00:16, 1.75it/s][A
+
49%|████▉ | 27/55 [00:13<00:13, 2.15it/s][A
+
51%|█████ | 28/55 [00:13<00:13, 1.93it/s][A
+
53%|█████▎ | 29/55 [00:14<00:14, 1.84it/s][A
+
55%|█████▍ | 30/55 [00:14<00:11, 2.23it/s][A
+
56%|█████▋ | 31/55 [00:15<00:14, 1.69it/s][A
+
58%|█████▊ | 32/55 [00:15<00:11, 1.98it/s][A
+
60%|██████ | 33/55 [00:16<00:09, 2.37it/s][A
+
62%|██████▏ | 34/55 [00:17<00:12, 1.73it/s][A
+
64%|██████▎ | 35/55 [00:17<00:09, 2.11it/s][A
+
65%|██████▌ | 36/55 [00:17<00:08, 2.37it/s][A
67%|██████▋ | 37/55 [00:18<00:10, 1.77it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.19it/s][A
-
71%|███████ | 39/55 [00:18<00:07, 2.04it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.91it/s][A
-
75%|███████▍ | 41/55 [00:19<00:05, 2.34it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.78it/s][A
-
78%|███████▊ | 43/55 [00:20<00:05, 2.07it/s][A
-
80%|████████ | 44/55 [00:20<00:04, 2.50it/s][A
-
82%|████████▏ | 45/55 [00:21<00:05, 1.79it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.21it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.48it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.82it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.25it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 2.06it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.92it/s][A
-
95%|█████████▍| 52/55 [00:24<00:01, 2.33it/s][A
-
96%|█████████▋| 53/55 [00:25<00:01, 1.77it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.06it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.25it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.08it/s]
-
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.70s/frame]
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.70s/frame]
-
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
-
-
0%| | 0/55 [00:00, ?it/s][A
-
2%|▏ | 1/55 [00:00<00:22, 2.35it/s][A
-
4%|▎ | 2/55 [00:00<00:15, 3.34it/s][A
-
5%|▌ | 3/55 [00:00<00:16, 3.20it/s][A
-
7%|▋ | 4/55 [00:01<00:27, 1.87it/s][A
-
9%|▉ | 5/55 [00:02<00:21, 2.37it/s][A
-
11%|█ | 6/55 [00:02<00:23, 2.10it/s][A
-
13%|█▎ | 7/55 [00:03<00:24, 1.93it/s][A
-
15%|█▍ | 8/55 [00:03<00:19, 2.37it/s][A
-
16%|█▋ | 9/55 [00:04<00:26, 1.75it/s][A
-
18%|█▊ | 10/55 [00:04<00:22, 2.03it/s][A
-
20%|██ | 11/55 [00:04<00:17, 2.46it/s][A
-
22%|██▏ | 12/55 [00:05<00:24, 1.78it/s][A
-
24%|██▎ | 13/55 [00:06<00:20, 2.09it/s][A
-
25%|██▌ | 14/55 [00:06<00:17, 2.36it/s][A
-
27%|██▋ | 15/55 [00:07<00:22, 1.79it/s][A
-
29%|██▉ | 16/55 [00:07<00:17, 2.21it/s][A
-
31%|███ | 17/55 [00:08<00:18, 2.02it/s][A
-
33%|███▎ | 18/55 [00:08<00:19, 1.89it/s][A
-
35%|███▍ | 19/55 [00:08<00:15, 2.31it/s][A
-
36%|███▋ | 20/55 [00:09<00:19, 1.76it/s][A
-
38%|███▊ | 21/55 [00:10<00:16, 2.03it/s][A
-
40%|████ | 22/55 [00:10<00:13, 2.46it/s][A
-
42%|████▏ | 23/55 [00:11<00:17, 1.78it/s][A
-
44%|████▎ | 24/55 [00:11<00:14, 2.18it/s][A
-
45%|████▌ | 25/55 [00:11<00:12, 2.44it/s][A
-
47%|████▋ | 26/55 [00:12<00:16, 1.80it/s][A
-
49%|████▉ | 27/55 [00:12<00:12, 2.22it/s][A
-
51%|█████ | 28/55 [00:13<00:13, 2.00it/s][A
-
53%|█████▎ | 29/55 [00:14<00:13, 1.91it/s][A
-
55%|█████▍ | 30/55 [00:14<00:10, 2.33it/s][A
-
56%|█████▋ | 31/55 [00:15<00:13, 1.78it/s][A
-
58%|█████▊ | 32/55 [00:15<00:11, 2.06it/s][A
-
60%|██████ | 33/55 [00:15<00:08, 2.49it/s][A
-
62%|██████▏ | 34/55 [00:16<00:11, 1.81it/s][A
-
64%|██████▎ | 35/55 [00:16<00:08, 2.24it/s][A
-
65%|██████▌ | 36/55 [00:17<00:07, 2.44it/s][A
-
67%|██████▋ | 37/55 [00:17<00:09, 1.82it/s][A
-
69%|██████▉ | 38/55 [00:18<00:07, 2.24it/s][A
-
71%|███████ | 39/55 [00:18<00:07, 2.07it/s][A
-
73%|███████▎ | 40/55 [00:19<00:07, 1.90it/s][A
-
75%|███████▍ | 41/55 [00:19<00:06, 2.32it/s][A
-
76%|███████▋ | 42/55 [00:20<00:07, 1.76it/s][A
-
78%|███████▊ | 43/55 [00:20<00:05, 2.05it/s][A
-
80%|████████ | 44/55 [00:20<00:04, 2.49it/s][A
-
82%|████████▏ | 45/55 [00:21<00:05, 1.78it/s][A
-
84%|████████▎ | 46/55 [00:22<00:04, 2.11it/s][A
-
85%|████████▌ | 47/55 [00:22<00:03, 2.36it/s][A
-
87%|████████▋ | 48/55 [00:23<00:03, 1.78it/s][A
-
89%|████████▉ | 49/55 [00:23<00:02, 2.19it/s][A
-
91%|█████████ | 50/55 [00:24<00:02, 2.00it/s][A
-
93%|█████████▎| 51/55 [00:24<00:02, 1.87it/s][A
-
95%|█████████▍| 52/55 [00:24<00:01, 2.28it/s][A
-
96%|█████████▋| 53/55 [00:25<00:01, 1.74it/s][A
-
98%|█████████▊| 54/55 [00:26<00:00, 2.02it/s][A
-
100%|██████████| 55/55 [00:26<00:00, 2.21it/s][A
100%|██████████| 55/55 [00:26<00:00, 2.08it/s]
-
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.79s/frame]
Processing frames: 100%|██████████| 1/1 [00:26<00:00, 26.79s/frame]
+
69%|██████▉ | 38/55 [00:18<00:07, 2.16it/s][A
+
71%|███████ | 39/55 [00:19<00:08, 1.98it/s][A
+
73%|███████▎ | 40/55 [00:19<00:08, 1.85it/s][A
+
75%|███████▍ | 41/55 [00:20<00:06, 2.26it/s][A
+
76%|███████▋ | 42/55 [00:21<00:07, 1.74it/s][A
+
78%|███████▊ | 43/55 [00:21<00:05, 2.00it/s][A
+
80%|████████ | 44/55 [00:21<00:04, 2.41it/s][A
+
82%|████████▏ | 45/55 [00:22<00:05, 1.77it/s][A
+
84%|████████▎ | 46/55 [00:22<00:04, 2.06it/s][A
+
85%|████████▌ | 47/55 [00:23<00:03, 2.30it/s][A
+
87%|████████▋ | 48/55 [00:24<00:04, 1.75it/s][A
+
89%|████████▉ | 49/55 [00:24<00:02, 2.15it/s][A
+
91%|█████████ | 50/55 [00:24<00:02, 1.99it/s][A
+
93%|█████████▎| 51/55 [00:25<00:02, 1.87it/s][A
+
95%|█████████▍| 52/55 [00:25<00:01, 2.26it/s][A
+
96%|█████████▋| 53/55 [00:26<00:01, 1.71it/s][A
+
98%|█████████▊| 54/55 [00:26<00:00, 2.00it/s][A
+
100%|██████████| 55/55 [00:27<00:00, 2.19it/s][A
100%|██████████| 55/55 [00:27<00:00, 2.02it/s]
+
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.57s/frame]
Processing frames: 100%|██████████| 1/1 [00:27<00:00, 27.57s/frame]
ERROR! LACBED DOES NOT MATCH PREVIOUS RUN 0.522293398806331 %
python3 08_LACBED_onthefly.py
+failed to import pySEA: No module named 'pySEA'
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/544 [00:00, ?it/s][A
-
0%| | 1/544 [00:00<04:28, 2.02it/s][A
-
0%| | 2/544 [00:00<03:06, 2.90it/s][A
-
1%| | 3/544 [00:01<03:10, 2.84it/s][A
-
1%| | 4/544 [00:02<05:08, 1.75it/s][A
-
1%| | 5/544 [00:02<04:01, 2.23it/s][A
-
1%| | 6/544 [00:02<04:52, 1.84it/s][A
-
1%|▏ | 7/544 [00:03<04:51, 1.84it/s][A
-
1%|▏ | 8/544 [00:03<03:57, 2.25it/s][A
-
2%|▏ | 9/544 [00:04<05:20, 1.67it/s][A
-
2%|▏ | 10/544 [00:05<04:35, 1.94it/s][A
-
2%|▏ | 11/544 [00:05<04:02, 2.19it/s][A
-
2%|▏ | 12/544 [00:06<05:22, 1.65it/s][A
-
2%|▏ | 13/544 [00:06<04:22, 2.03it/s][A
-
3%|▎ | 14/544 [00:06<04:18, 2.05it/s][A
-
3%|▎ | 15/544 [00:07<05:07, 1.72it/s][A
-
3%|▎ | 16/544 [00:08<04:10, 2.10it/s][A
-
3%|▎ | 17/544 [00:08<05:14, 1.68it/s][A
-
3%|▎ | 18/544 [00:09<04:40, 1.87it/s][A
-
3%|▎ | 19/544 [00:09<03:52, 2.26it/s][A
-
4%|▎ | 20/544 [00:10<05:10, 1.69it/s][A
-
4%|▍ | 21/544 [00:10<04:12, 2.07it/s][A
-
4%|▍ | 22/544 [00:11<03:48, 2.29it/s][A
-
4%|▍ | 23/544 [00:11<05:02, 1.72it/s][A
-
4%|▍ | 24/544 [00:12<04:07, 2.10it/s][A
-
5%|▍ | 25/544 [00:12<04:34, 1.89it/s][A
-
5%|▍ | 26/544 [00:13<04:41, 1.84it/s][A
-
5%|▍ | 27/544 [00:13<03:52, 2.22it/s][A
-
5%|▌ | 28/544 [00:14<05:09, 1.67it/s][A
-
5%|▌ | 29/544 [00:14<04:26, 1.93it/s][A
-
6%|▌ | 30/544 [00:15<03:52, 2.21it/s][A
-
6%|▌ | 31/544 [00:16<05:08, 1.66it/s][A
-
6%|▌ | 32/544 [00:16<04:11, 2.04it/s][A
-
6%|▌ | 33/544 [00:16<03:59, 2.13it/s][A
-
6%|▋ | 34/544 [00:17<04:55, 1.72it/s][A
-
6%|▋ | 35/544 [00:17<04:01, 2.11it/s][A
-
7%|▋ | 36/544 [00:18<04:57, 1.71it/s][A
-
7%|▋ | 37/544 [00:19<04:31, 1.87it/s][A
-
7%|▋ | 38/544 [00:19<03:44, 2.26it/s][A
-
7%|▋ | 39/544 [00:20<04:59, 1.69it/s][A
-
7%|▋ | 40/544 [00:20<04:16, 1.96it/s][A
-
8%|▊ | 41/544 [00:20<03:46, 2.22it/s][A
-
8%|▊ | 42/544 [00:21<05:00, 1.67it/s][A
-
8%|▊ | 43/544 [00:22<04:03, 2.05it/s][A
-
8%|▊ | 44/544 [00:22<04:16, 1.95it/s][A
-
8%|▊ | 45/544 [00:23<04:38, 1.79it/s][A
-
8%|▊ | 46/544 [00:23<03:48, 2.18it/s][A
-
9%|▊ | 47/544 [00:24<04:55, 1.68it/s][A
-
9%|▉ | 48/544 [00:24<04:13, 1.96it/s][A
-
9%|▉ | 49/544 [00:25<03:41, 2.24it/s][A
-
9%|▉ | 50/544 [00:26<04:52, 1.69it/s][A
-
9%|▉ | 51/544 [00:26<03:58, 2.07it/s][A
-
10%|▉ | 52/544 [00:26<03:38, 2.25it/s][A
-
10%|▉ | 53/544 [00:27<04:40, 1.75it/s][A
-
10%|▉ | 54/544 [00:27<03:49, 2.13it/s][A
-
10%|█ | 55/544 [00:28<04:33, 1.79it/s][A
-
10%|█ | 56/544 [00:28<04:18, 1.89it/s][A
-
10%|█ | 57/544 [00:29<03:33, 2.28it/s][A
-
11%|█ | 58/544 [00:30<04:44, 1.71it/s][A
-
11%|█ | 59/544 [00:30<04:02, 2.00it/s][A
-
11%|█ | 60/544 [00:30<03:32, 2.27it/s][A
-
11%|█ | 61/544 [00:31<04:43, 1.71it/s][A
-
11%|█▏ | 62/544 [00:31<03:51, 2.09it/s][A
-
12%|█▏ | 63/544 [00:32<03:53, 2.06it/s][A
-
12%|█▏ | 64/544 [00:33<04:27, 1.79it/s][A
-
12%|█▏ | 65/544 [00:33<03:39, 2.18it/s][A
-
12%|█▏ | 66/544 [00:34<04:41, 1.70it/s][A
-
12%|█▏ | 67/544 [00:34<04:04, 1.95it/s][A
-
12%|█▎ | 68/544 [00:34<03:33, 2.23it/s][A
-
13%|█▎ | 69/544 [00:35<04:41, 1.69it/s][A
-
13%|█▎ | 70/544 [00:35<03:49, 2.07it/s][A
-
13%|█▎ | 71/544 [00:36<03:27, 2.28it/s][A
-
13%|█▎ | 72/544 [00:37<04:31, 1.74it/s][A
-
13%|█▎ | 73/544 [00:37<03:41, 2.12it/s][A
-
14%|█▎ | 74/544 [00:38<04:14, 1.84it/s][A
-
14%|█▍ | 75/544 [00:38<04:11, 1.87it/s][A
-
14%|█▍ | 76/544 [00:38<03:27, 2.25it/s][A
-
14%|█▍ | 77/544 [00:39<04:34, 1.70it/s][A
-
14%|█▍ | 78/544 [00:40<03:53, 1.99it/s][A
-
15%|█▍ | 79/544 [00:40<03:24, 2.27it/s][A
-
15%|█▍ | 80/544 [00:41<04:32, 1.70it/s][A
-
15%|█▍ | 81/544 [00:41<03:42, 2.08it/s][A
-
15%|█▌ | 82/544 [00:42<03:37, 2.12it/s][A
-
15%|█▌ | 83/544 [00:42<04:19, 1.78it/s][A
-
15%|█▌ | 84/544 [00:43<03:32, 2.17it/s][A
-
16%|█▌ | 85/544 [00:43<04:27, 1.72it/s][A
-
16%|█▌ | 86/544 [00:44<03:56, 1.94it/s][A
-
16%|█▌ | 87/544 [00:44<03:16, 2.32it/s][A
-
16%|█▌ | 88/544 [00:45<04:25, 1.72it/s][A
-
16%|█▋ | 89/544 [00:45<03:45, 2.02it/s][A
-
17%|█▋ | 90/544 [00:46<03:20, 2.27it/s][A
-
17%|█▋ | 91/544 [00:46<04:23, 1.72it/s][A
-
17%|█▋ | 92/544 [00:47<03:35, 2.10it/s][A
-
17%|█▋ | 93/544 [00:47<03:58, 1.89it/s][A
-
17%|█▋ | 94/544 [00:48<04:04, 1.84it/s][A
-
17%|█▋ | 95/544 [00:48<03:21, 2.23it/s][A
-
18%|█▊ | 96/544 [00:49<04:24, 1.70it/s][A
-
18%|█▊ | 97/544 [00:49<03:45, 1.98it/s][A
-
18%|█▊ | 98/544 [00:50<03:17, 2.26it/s][A
-
18%|█▊ | 99/544 [00:51<04:22, 1.70it/s][A
-
18%|█▊ | 100/544 [00:51<03:33, 2.08it/s][A
-
19%|█▊ | 101/544 [00:51<03:23, 2.18it/s][A
-
19%|█▉ | 102/544 [00:52<04:10, 1.77it/s][A
-
19%|█▉ | 103/544 [00:52<03:24, 2.15it/s][A
-
19%|█▉ | 104/544 [00:53<04:14, 1.73it/s][A
-
19%|█▉ | 105/544 [00:53<03:50, 1.90it/s][A
-
19%|█▉ | 106/544 [00:54<03:11, 2.29it/s][A
-
20%|█▉ | 107/544 [00:55<04:16, 1.71it/s][A
-
20%|█▉ | 108/544 [00:55<03:38, 2.00it/s][A
-
20%|██ | 109/544 [00:55<03:13, 2.25it/s][A
-
20%|██ | 110/544 [00:56<04:14, 1.71it/s][A
-
20%|██ | 111/544 [00:56<03:27, 2.09it/s][A
-
21%|██ | 112/544 [00:57<03:37, 1.98it/s][A
-
21%|██ | 113/544 [00:58<03:59, 1.80it/s][A
-
21%|██ | 114/544 [00:58<03:17, 2.18it/s][A
-
21%|██ | 115/544 [00:59<04:15, 1.68it/s][A
-
21%|██▏ | 116/544 [00:59<03:39, 1.95it/s][A
-
22%|██▏ | 117/544 [00:59<03:11, 2.23it/s][A
-
22%|██▏ | 118/544 [01:00<04:12, 1.69it/s][A
-
22%|██▏ | 119/544 [01:01<03:25, 2.07it/s][A
-
22%|██▏ | 120/544 [01:01<03:10, 2.23it/s][A
-
22%|██▏ | 121/544 [01:02<04:02, 1.75it/s][A
-
22%|██▏ | 122/544 [01:02<03:17, 2.13it/s][A
-
23%|██▎ | 123/544 [01:03<03:56, 1.78it/s][A
-
23%|██▎ | 124/544 [01:03<03:41, 1.90it/s][A
-
23%|██▎ | 125/544 [01:03<03:03, 2.28it/s][A
-
23%|██▎ | 126/544 [01:04<04:04, 1.71it/s][A
-
23%|██▎ | 127/544 [01:05<03:28, 2.00it/s][A
-
24%|██▎ | 128/544 [01:05<03:02, 2.28it/s][A
-
24%|██▎ | 129/544 [01:06<04:03, 1.71it/s][A
-
24%|██▍ | 130/544 [01:06<03:18, 2.09it/s][A
-
24%|██▍ | 131/544 [01:07<03:22, 2.04it/s][A
-
24%|██▍ | 132/544 [01:07<03:49, 1.79it/s][A
-
24%|██▍ | 133/544 [01:08<03:08, 2.18it/s][A
-
25%|██▍ | 134/544 [01:09<04:01, 1.70it/s][A
-
25%|██▍ | 135/544 [01:09<03:29, 1.95it/s][A
-
25%|██▌ | 136/544 [01:09<03:02, 2.23it/s][A
-
25%|██▌ | 137/544 [01:10<04:01, 1.69it/s][A
-
25%|██▌ | 138/544 [01:10<03:24, 1.99it/s][A
-
26%|██▌ | 139/544 [01:11<03:03, 2.20it/s][A
-
26%|██▌ | 140/544 [01:12<03:56, 1.71it/s][A
-
26%|██▌ | 141/544 [01:12<03:12, 2.09it/s][A
-
26%|██▌ | 142/544 [01:13<03:42, 1.80it/s][A
-
26%|██▋ | 143/544 [01:13<03:34, 1.87it/s][A
-
26%|██▋ | 144/544 [01:13<02:57, 2.25it/s][A
-
27%|██▋ | 145/544 [01:14<03:54, 1.70it/s][A
-
27%|██▋ | 146/544 [01:15<03:19, 1.99it/s][A
-
27%|██▋ | 147/544 [01:15<02:55, 2.27it/s][A
-
27%|██▋ | 148/544 [01:16<03:52, 1.71it/s][A
-
27%|██▋ | 149/544 [01:16<03:09, 2.09it/s][A
-
28%|██▊ | 150/544 [01:16<03:05, 2.12it/s][A
-
28%|██▊ | 151/544 [01:17<03:40, 1.78it/s][A
-
28%|██▊ | 152/544 [01:17<03:01, 2.16it/s][A
-
28%|██▊ | 153/544 [01:18<03:47, 1.72it/s][A
-
28%|██▊ | 154/544 [01:19<03:22, 1.92it/s][A
-
28%|██▊ | 155/544 [01:19<02:48, 2.31it/s][A
-
29%|██▊ | 156/544 [01:20<03:45, 1.72it/s][A
-
29%|██▉ | 157/544 [01:20<03:12, 2.01it/s][A
-
29%|██▉ | 158/544 [01:20<02:50, 2.26it/s][A
-
29%|██▉ | 159/544 [01:21<03:44, 1.71it/s][A
-
29%|██▉ | 160/544 [01:22<03:03, 2.10it/s][A
-
30%|██▉ | 161/544 [01:22<03:21, 1.90it/s][A
-
30%|██▉ | 162/544 [01:23<03:27, 1.84it/s][A
-
30%|██▉ | 163/544 [01:23<02:50, 2.23it/s][A
-
30%|███ | 164/544 [01:24<03:44, 1.70it/s][A
-
30%|███ | 165/544 [01:24<03:11, 1.98it/s][A
-
31%|███ | 166/544 [01:25<02:47, 2.26it/s][A
-
31%|███ | 167/544 [01:25<03:42, 1.70it/s][A
-
31%|███ | 168/544 [01:26<03:00, 2.08it/s][A
-
31%|███ | 169/544 [01:26<02:51, 2.19it/s][A
-
31%|███▏ | 170/544 [01:27<03:33, 1.75it/s][A
-
31%|███▏ | 171/544 [01:27<02:54, 2.13it/s][A
-
32%|███▏ | 172/544 [01:28<03:37, 1.71it/s][A
-
32%|███▏ | 173/544 [01:28<03:15, 1.90it/s][A
-
32%|███▏ | 174/544 [01:29<02:41, 2.29it/s][A
-
32%|███▏ | 175/544 [01:30<03:37, 1.70it/s][A
-
32%|███▏ | 176/544 [01:30<02:57, 2.08it/s][A
-
33%|███▎ | 177/544 [01:30<02:40, 2.29it/s][A
-
33%|███▎ | 178/544 [01:31<03:35, 1.70it/s][A
-
33%|███▎ | 179/544 [01:31<02:55, 2.08it/s][A
-
33%|███▎ | 180/544 [01:32<03:04, 1.97it/s][A
-
33%|███▎ | 181/544 [01:33<03:19, 1.82it/s][A
-
33%|███▎ | 182/544 [01:33<02:44, 2.20it/s][A
-
34%|███▎ | 183/544 [01:34<03:32, 1.70it/s][A
-
34%|███▍ | 184/544 [01:34<03:03, 1.96it/s][A
-
34%|███▍ | 185/544 [01:34<02:40, 2.23it/s][A
-
34%|███▍ | 186/544 [01:35<03:32, 1.69it/s][A
-
34%|███▍ | 187/544 [01:35<02:52, 2.07it/s][A
-
35%|███▍ | 188/544 [01:36<02:38, 2.24it/s][A
-
35%|███▍ | 189/544 [01:37<03:23, 1.75it/s][A
-
35%|███▍ | 190/544 [01:37<02:46, 2.13it/s][A
-
35%|███▌ | 191/544 [01:38<03:19, 1.77it/s][A
-
35%|███▌ | 192/544 [01:38<03:06, 1.89it/s][A
-
35%|███▌ | 193/544 [01:38<02:34, 2.28it/s][A
-
36%|███▌ | 194/544 [01:39<03:26, 1.70it/s][A
-
36%|███▌ | 195/544 [01:40<02:55, 1.99it/s][A
-
36%|███▌ | 196/544 [01:40<02:33, 2.26it/s][A
-
36%|███▌ | 197/544 [01:41<03:24, 1.70it/s][A
-
36%|███▋ | 198/544 [01:41<02:46, 2.08it/s][A
-
37%|███▋ | 199/544 [01:42<02:46, 2.07it/s][A
-
37%|███▋ | 200/544 [01:42<03:12, 1.79it/s][A
-
37%|███▋ | 201/544 [01:43<02:37, 2.17it/s][A
-
37%|███▋ | 202/544 [01:43<03:21, 1.70it/s][A
-
37%|███▋ | 203/544 [01:44<02:54, 1.95it/s][A
-
38%|███▊ | 204/544 [01:44<02:25, 2.34it/s][A
-
38%|███▊ | 205/544 [01:45<03:16, 1.73it/s][A
-
38%|███▊ | 206/544 [01:45<02:40, 2.11it/s][A
-
38%|███▊ | 207/544 [01:45<02:25, 2.31it/s][A
-
38%|███▊ | 208/544 [01:46<03:11, 1.75it/s][A
-
38%|███▊ | 209/544 [01:47<02:36, 2.14it/s][A
-
39%|███▊ | 210/544 [01:47<03:01, 1.84it/s][A
-
39%|███▉ | 211/544 [01:48<02:57, 1.88it/s][A
-
39%|███▉ | 212/544 [01:48<02:26, 2.27it/s][A
-
39%|███▉ | 213/544 [01:49<03:14, 1.70it/s][A
-
39%|███▉ | 214/544 [01:49<02:45, 1.99it/s][A
-
40%|███▉ | 215/544 [01:50<02:25, 2.27it/s][A
-
40%|███▉ | 216/544 [01:51<03:12, 1.70it/s][A
-
40%|███▉ | 217/544 [01:51<02:36, 2.08it/s][A
-
40%|████ | 218/544 [01:51<02:34, 2.11it/s][A
-
40%|████ | 219/544 [01:52<03:02, 1.78it/s][A
-
40%|████ | 220/544 [01:52<02:29, 2.17it/s][A
-
41%|████ | 221/544 [01:53<03:08, 1.72it/s][A
-
41%|████ | 222/544 [01:53<02:46, 1.93it/s][A
-
41%|████ | 223/544 [01:54<02:25, 2.21it/s][A
-
41%|████ | 224/544 [01:55<03:12, 1.66it/s][A
-
41%|████▏ | 225/544 [01:55<02:43, 1.95it/s][A
-
42%|████▏ | 226/544 [01:55<02:25, 2.19it/s][A
-
42%|████▏ | 227/544 [01:56<03:07, 1.69it/s][A
-
42%|████▏ | 228/544 [01:56<02:32, 2.07it/s][A
-
42%|████▏ | 229/544 [01:57<02:45, 1.90it/s][A
-
42%|████▏ | 230/544 [01:58<02:52, 1.82it/s][A
-
42%|████▏ | 231/544 [01:58<02:21, 2.21it/s][A
-
43%|████▎ | 232/544 [01:59<03:04, 1.69it/s][A
-
43%|████▎ | 233/544 [01:59<02:37, 1.97it/s][A
-
43%|████▎ | 234/544 [01:59<02:17, 2.25it/s][A
-
43%|████▎ | 235/544 [02:00<03:02, 1.70it/s][A
-
43%|████▎ | 236/544 [02:01<02:28, 2.07it/s][A
-
44%|████▎ | 237/544 [02:01<02:22, 2.15it/s][A
-
44%|████▍ | 238/544 [02:02<02:55, 1.75it/s][A
-
44%|████▍ | 239/544 [02:02<02:23, 2.13it/s][A
-
44%|████▍ | 240/544 [02:03<02:55, 1.74it/s][A
-
44%|████▍ | 241/544 [02:03<02:38, 1.91it/s][A
-
44%|████▍ | 242/544 [02:04<02:11, 2.30it/s][A
-
45%|████▍ | 243/544 [02:04<02:55, 1.71it/s][A
-
45%|████▍ | 244/544 [02:05<02:29, 2.01it/s][A
-
45%|████▌ | 245/544 [02:05<02:14, 2.23it/s][A
-
45%|████▌ | 246/544 [02:06<02:55, 1.70it/s][A
-
45%|████▌ | 247/544 [02:06<02:22, 2.08it/s][A
-
46%|████▌ | 248/544 [02:07<02:30, 1.96it/s][A
-
46%|████▌ | 249/544 [02:07<02:42, 1.82it/s][A
-
46%|████▌ | 250/544 [02:08<02:13, 2.20it/s][A
-
46%|████▌ | 251/544 [02:09<02:52, 1.69it/s][A
-
46%|████▋ | 252/544 [02:09<02:28, 1.97it/s][A
-
47%|████▋ | 253/544 [02:09<02:09, 2.25it/s][A
-
47%|████▋ | 254/544 [02:10<02:51, 1.69it/s][A
-
47%|████▋ | 255/544 [02:10<02:19, 2.07it/s][A
-
47%|████▋ | 256/544 [02:11<02:09, 2.22it/s][A
-
47%|████▋ | 257/544 [02:12<02:46, 1.72it/s][A
-
47%|████▋ | 258/544 [02:12<02:16, 2.10it/s][A
-
48%|████▊ | 259/544 [02:13<02:40, 1.77it/s][A
-
48%|████▊ | 260/544 [02:13<02:30, 1.88it/s][A
-
48%|████▊ | 261/544 [02:13<02:04, 2.27it/s][A
-
48%|████▊ | 262/544 [02:14<02:45, 1.70it/s][A
-
48%|████▊ | 263/544 [02:15<02:20, 2.00it/s][A
-
49%|████▊ | 264/544 [02:15<02:03, 2.26it/s][A
-
49%|████▊ | 265/544 [02:16<02:43, 1.71it/s][A
-
49%|████▉ | 266/544 [02:16<02:13, 2.09it/s][A
-
49%|████▉ | 267/544 [02:17<02:15, 2.04it/s][A
-
49%|████▉ | 268/544 [02:17<02:33, 1.80it/s][A
-
49%|████▉ | 269/544 [02:17<02:05, 2.18it/s][A
-
50%|████▉ | 270/544 [02:18<02:40, 1.71it/s][A
-
50%|████▉ | 271/544 [02:19<02:20, 1.95it/s][A
-
50%|█████ | 272/544 [02:19<02:00, 2.25it/s][A
-
50%|█████ | 273/544 [02:20<02:40, 1.69it/s][A
-
50%|█████ | 274/544 [02:20<02:10, 2.07it/s][A
-
51%|█████ | 275/544 [02:20<01:57, 2.29it/s][A
-
51%|█████ | 276/544 [02:21<02:35, 1.72it/s][A
-
51%|█████ | 277/544 [02:22<02:06, 2.10it/s][A
-
51%|█████ | 278/544 [02:22<02:25, 1.82it/s][A
-
51%|█████▏ | 279/544 [02:23<02:22, 1.86it/s][A
-
51%|█████▏ | 280/544 [02:23<01:57, 2.25it/s][A
-
52%|█████▏ | 281/544 [02:24<02:34, 1.70it/s][A
-
52%|█████▏ | 282/544 [02:24<02:12, 1.98it/s][A
-
52%|█████▏ | 283/544 [02:25<01:56, 2.25it/s][A
-
52%|█████▏ | 284/544 [02:26<02:34, 1.68it/s][A
-
52%|█████▏ | 285/544 [02:26<02:05, 2.06it/s][A
-
53%|█████▎ | 286/544 [02:26<02:03, 2.09it/s][A
-
53%|█████▎ | 287/544 [02:27<02:26, 1.76it/s][A
-
53%|█████▎ | 288/544 [02:27<01:59, 2.14it/s][A
-
53%|█████▎ | 289/544 [02:28<02:29, 1.70it/s][A
-
53%|█████▎ | 290/544 [02:28<02:12, 1.92it/s][A
-
53%|█████▎ | 291/544 [02:29<01:49, 2.31it/s][A
-
54%|█████▎ | 292/544 [02:30<02:26, 1.72it/s][A
-
54%|█████▍ | 293/544 [02:30<02:04, 2.01it/s][A
-
54%|█████▍ | 294/544 [02:30<01:51, 2.24it/s][A
-
54%|█████▍ | 295/544 [02:31<02:26, 1.70it/s][A
-
54%|█████▍ | 296/544 [02:31<01:58, 2.08it/s][A
-
55%|█████▍ | 297/544 [02:32<02:10, 1.89it/s][A
-
55%|█████▍ | 298/544 [02:33<02:14, 1.83it/s][A
-
55%|█████▍ | 299/544 [02:33<01:50, 2.22it/s][A
-
55%|█████▌ | 300/544 [02:34<02:25, 1.68it/s][A
-
55%|█████▌ | 301/544 [02:34<02:03, 1.97it/s][A
-
56%|█████▌ | 302/544 [02:34<01:47, 2.25it/s][A
-
56%|█████▌ | 303/544 [02:35<02:22, 1.69it/s][A
-
56%|█████▌ | 304/544 [02:36<01:55, 2.07it/s][A
-
56%|█████▌ | 305/544 [02:36<01:48, 2.20it/s][A
-
56%|█████▋ | 306/544 [02:37<02:15, 1.75it/s][A
-
56%|█████▋ | 307/544 [02:37<01:50, 2.14it/s][A
-
57%|█████▋ | 308/544 [02:38<02:16, 1.73it/s][A
-
57%|█████▋ | 309/544 [02:38<02:02, 1.92it/s][A
-
57%|█████▋ | 310/544 [02:38<01:41, 2.30it/s][A
-
57%|█████▋ | 311/544 [02:39<02:15, 1.72it/s][A
-
57%|█████▋ | 312/544 [02:40<01:55, 2.01it/s][A
-
58%|█████▊ | 313/544 [02:40<01:41, 2.27it/s][A
-
58%|█████▊ | 314/544 [02:41<02:14, 1.71it/s][A
-
58%|█████▊ | 315/544 [02:41<01:49, 2.09it/s][A
-
58%|█████▊ | 316/544 [02:42<01:55, 1.97it/s][A
-
58%|█████▊ | 317/544 [02:42<02:05, 1.81it/s][A
-
58%|█████▊ | 318/544 [02:43<01:42, 2.20it/s][A
-
59%|█████▊ | 319/544 [02:44<02:13, 1.69it/s][A
-
59%|█████▉ | 320/544 [02:44<01:53, 1.97it/s][A
-
59%|█████▉ | 321/544 [02:44<01:34, 2.35it/s][A
-
59%|█████▉ | 322/544 [02:45<02:08, 1.73it/s][A
-
59%|█████▉ | 323/544 [02:45<01:44, 2.11it/s][A
-
60%|█████▉ | 324/544 [02:46<01:36, 2.28it/s][A
-
60%|█████▉ | 325/544 [02:46<02:04, 1.76it/s][A
-
60%|█████▉ | 326/544 [02:47<01:41, 2.15it/s][A
-
60%|██████ | 327/544 [02:47<01:59, 1.82it/s][A
-
60%|██████ | 328/544 [02:48<01:54, 1.88it/s][A
-
60%|██████ | 329/544 [02:48<01:34, 2.27it/s][A
-
61%|██████ | 330/544 [02:49<02:06, 1.70it/s][A
-
61%|██████ | 331/544 [02:49<01:47, 1.98it/s][A
-
61%|██████ | 332/544 [02:50<01:34, 2.25it/s][A
-
61%|██████ | 333/544 [02:51<02:04, 1.70it/s][A
-
61%|██████▏ | 334/544 [02:51<01:41, 2.08it/s][A
-
62%|██████▏ | 335/544 [02:51<01:42, 2.04it/s][A
-
62%|██████▏ | 336/544 [02:52<01:55, 1.79it/s][A
-
62%|██████▏ | 337/544 [02:52<01:35, 2.18it/s][A
-
62%|██████▏ | 338/544 [02:53<02:01, 1.70it/s][A
-
62%|██████▏ | 339/544 [02:54<01:45, 1.95it/s][A
-
62%|██████▎ | 340/544 [02:54<01:31, 2.23it/s][A
-
63%|██████▎ | 341/544 [02:55<02:00, 1.68it/s][A
-
63%|██████▎ | 342/544 [02:55<01:37, 2.06it/s][A
-
63%|██████▎ | 343/544 [02:55<01:28, 2.27it/s][A
-
63%|██████▎ | 344/544 [02:56<01:54, 1.74it/s][A
-
63%|██████▎ | 345/544 [02:56<01:33, 2.12it/s][A
-
64%|██████▎ | 346/544 [02:57<01:47, 1.84it/s][A
-
64%|██████▍ | 347/544 [02:58<01:45, 1.87it/s][A
-
64%|██████▍ | 348/544 [02:58<01:26, 2.26it/s][A
-
64%|██████▍ | 349/544 [02:59<01:54, 1.70it/s][A
-
64%|██████▍ | 350/544 [02:59<01:37, 2.00it/s][A
-
65%|██████▍ | 351/544 [02:59<01:25, 2.25it/s][A
-
65%|██████▍ | 352/544 [03:00<01:53, 1.69it/s][A
-
65%|██████▍ | 353/544 [03:01<01:32, 2.07it/s][A
-
65%|██████▌ | 354/544 [03:01<01:30, 2.11it/s][A
-
65%|██████▌ | 355/544 [03:02<01:46, 1.78it/s][A
-
65%|██████▌ | 356/544 [03:02<01:27, 2.16it/s][A
-
66%|██████▌ | 357/544 [03:03<01:48, 1.72it/s][A
-
66%|██████▌ | 358/544 [03:03<01:36, 1.93it/s][A
-
66%|██████▌ | 359/544 [03:04<01:19, 2.32it/s][A
-
66%|██████▌ | 360/544 [03:04<01:46, 1.72it/s][A
-
66%|██████▋ | 361/544 [03:05<01:31, 2.01it/s][A
-
67%|██████▋ | 362/544 [03:05<01:20, 2.25it/s][A
-
67%|██████▋ | 363/544 [03:06<01:45, 1.71it/s][A
-
67%|██████▋ | 364/544 [03:06<01:26, 2.09it/s][A
-
67%|██████▋ | 365/544 [03:07<01:34, 1.90it/s][A
-
67%|██████▋ | 366/544 [03:07<01:36, 1.84it/s][A
-
67%|██████▋ | 367/544 [03:08<01:19, 2.22it/s][A
-
68%|██████▊ | 368/544 [03:09<01:44, 1.69it/s][A
-
68%|██████▊ | 369/544 [03:09<01:28, 1.98it/s][A
-
68%|██████▊ | 370/544 [03:09<01:17, 2.26it/s][A
-
68%|██████▊ | 371/544 [03:10<01:42, 1.69it/s][A
-
68%|██████▊ | 372/544 [03:10<01:22, 2.07it/s][A
-
69%|██████▊ | 373/544 [03:11<01:17, 2.20it/s][A
-
69%|██████▉ | 374/544 [03:12<01:36, 1.76it/s][A
-
69%|██████▉ | 375/544 [03:12<01:18, 2.14it/s][A
-
69%|██████▉ | 376/544 [03:13<01:37, 1.73it/s][A
-
69%|██████▉ | 377/544 [03:13<01:26, 1.92it/s][A
-
69%|██████▉ | 378/544 [03:13<01:11, 2.31it/s][A
-
70%|██████▉ | 379/544 [03:14<01:36, 1.72it/s][A
-
70%|██████▉ | 380/544 [03:15<01:21, 2.01it/s][A
-
70%|███████ | 381/544 [03:15<01:12, 2.24it/s][A
-
70%|███████ | 382/544 [03:16<01:35, 1.70it/s][A
-
70%|███████ | 383/544 [03:16<01:17, 2.08it/s][A
-
71%|███████ | 384/544 [03:17<01:20, 1.98it/s][A
-
71%|███████ | 385/544 [03:17<01:27, 1.81it/s][A
-
71%|███████ | 386/544 [03:17<01:11, 2.20it/s][A
-
71%|███████ | 387/544 [03:18<01:32, 1.70it/s][A
-
71%|███████▏ | 388/544 [03:19<01:19, 1.96it/s][A
-
72%|███████▏ | 389/544 [03:19<01:09, 2.24it/s][A
-
72%|███████▏ | 390/544 [03:20<01:31, 1.69it/s][A
-
72%|███████▏ | 391/544 [03:20<01:13, 2.07it/s][A
-
72%|███████▏ | 392/544 [03:20<01:07, 2.24it/s][A
-
72%|███████▏ | 393/544 [03:21<01:26, 1.75it/s][A
-
72%|███████▏ | 394/544 [03:22<01:10, 2.13it/s][A
-
73%|███████▎ | 395/544 [03:22<01:23, 1.79it/s][A
-
73%|███████▎ | 396/544 [03:23<01:18, 1.89it/s][A
-
73%|███████▎ | 397/544 [03:23<01:04, 2.28it/s][A
-
73%|███████▎ | 398/544 [03:24<01:25, 1.71it/s][A
-
73%|███████▎ | 399/544 [03:24<01:12, 2.00it/s][A
-
74%|███████▎ | 400/544 [03:25<01:03, 2.28it/s][A
-
74%|███████▎ | 401/544 [03:25<01:23, 1.71it/s][A
-
74%|███████▍ | 402/544 [03:26<01:07, 2.09it/s][A
-
74%|███████▍ | 403/544 [03:26<01:09, 2.04it/s][A
-
74%|███████▍ | 404/544 [03:27<01:17, 1.80it/s][A
-
74%|███████▍ | 405/544 [03:27<01:03, 2.18it/s][A
-
75%|███████▍ | 406/544 [03:28<01:21, 1.70it/s][A
-
75%|███████▍ | 407/544 [03:28<01:10, 1.95it/s][A
-
75%|███████▌ | 408/544 [03:29<00:58, 2.34it/s][A
-
75%|███████▌ | 409/544 [03:30<01:18, 1.73it/s][A
-
75%|███████▌ | 410/544 [03:30<01:03, 2.11it/s][A
-
76%|███████▌ | 411/544 [03:30<00:57, 2.31it/s][A
-
76%|███████▌ | 412/544 [03:31<01:15, 1.76it/s][A
-
76%|███████▌ | 413/544 [03:31<01:01, 2.14it/s][A
-
76%|███████▌ | 414/544 [03:32<01:10, 1.85it/s][A
-
76%|███████▋ | 415/544 [03:32<01:08, 1.88it/s][A
-
76%|███████▋ | 416/544 [03:33<00:56, 2.27it/s][A
-
77%|███████▋ | 417/544 [03:34<01:14, 1.71it/s][A
-
77%|███████▋ | 418/544 [03:34<01:03, 2.00it/s][A
-
77%|███████▋ | 419/544 [03:34<00:54, 2.27it/s][A
-
77%|███████▋ | 420/544 [03:35<01:12, 1.71it/s][A
-
77%|███████▋ | 421/544 [03:35<00:58, 2.09it/s][A
-
78%|███████▊ | 422/544 [03:36<00:57, 2.11it/s][A
-
78%|███████▊ | 423/544 [03:37<01:07, 1.78it/s][A
-
78%|███████▊ | 424/544 [03:37<00:55, 2.17it/s][A
-
78%|███████▊ | 425/544 [03:38<01:09, 1.72it/s][A
-
78%|███████▊ | 426/544 [03:38<01:01, 1.93it/s][A
-
78%|███████▊ | 427/544 [03:38<00:50, 2.32it/s][A
-
79%|███████▊ | 428/544 [03:39<01:07, 1.72it/s][A
-
79%|███████▉ | 429/544 [03:40<00:57, 2.01it/s][A
-
79%|███████▉ | 430/544 [03:40<00:50, 2.25it/s][A
-
79%|███████▉ | 431/544 [03:41<01:05, 1.72it/s][A
-
79%|███████▉ | 432/544 [03:41<00:53, 2.10it/s][A
-
80%|███████▉ | 433/544 [03:42<00:58, 1.91it/s][A
-
80%|███████▉ | 434/544 [03:42<01:00, 1.83it/s][A
-
80%|███████▉ | 435/544 [03:42<00:49, 2.22it/s][A
-
80%|████████ | 436/544 [03:43<01:03, 1.70it/s][A
-
80%|████████ | 437/544 [03:44<00:54, 1.98it/s][A
-
81%|████████ | 438/544 [03:44<00:46, 2.26it/s][A
-
81%|████████ | 439/544 [03:45<01:01, 1.70it/s][A
-
81%|████████ | 440/544 [03:45<00:50, 2.08it/s][A
-
81%|████████ | 441/544 [03:45<00:46, 2.20it/s][A
-
81%|████████▏ | 442/544 [03:46<00:57, 1.76it/s][A
-
81%|████████▏ | 443/544 [03:47<00:47, 2.15it/s][A
-
82%|████████▏ | 444/544 [03:47<00:57, 1.74it/s][A
-
82%|████████▏ | 445/544 [03:48<00:51, 1.92it/s][A
-
82%|████████▏ | 446/544 [03:48<00:42, 2.31it/s][A
-
82%|████████▏ | 447/544 [03:49<00:56, 1.72it/s][A
-
82%|████████▏ | 448/544 [03:49<00:47, 2.01it/s][A
-
83%|████████▎ | 449/544 [03:50<00:41, 2.27it/s][A
-
83%|████████▎ | 450/544 [03:50<00:54, 1.71it/s][A
-
83%|████████▎ | 451/544 [03:51<00:44, 2.09it/s][A
-
83%|████████▎ | 452/544 [03:51<00:46, 1.97it/s][A
-
83%|████████▎ | 453/544 [03:52<00:49, 1.82it/s][A
-
83%|████████▎ | 454/544 [03:52<00:40, 2.21it/s][A
-
84%|████████▎ | 455/544 [03:53<00:52, 1.70it/s][A
-
84%|████████▍ | 456/544 [03:53<00:44, 1.97it/s][A
-
84%|████████▍ | 457/544 [03:54<00:38, 2.25it/s][A
-
84%|████████▍ | 458/544 [03:55<00:50, 1.69it/s][A
-
84%|████████▍ | 459/544 [03:55<00:41, 2.07it/s][A
-
85%|████████▍ | 460/544 [03:55<00:37, 2.22it/s][A
-
85%|████████▍ | 461/544 [03:56<00:47, 1.75it/s][A
-
85%|████████▍ | 462/544 [03:56<00:38, 2.13it/s][A
-
85%|████████▌ | 463/544 [03:57<00:45, 1.79it/s][A
-
85%|████████▌ | 464/544 [03:58<00:42, 1.89it/s][A
-
85%|████████▌ | 465/544 [03:58<00:34, 2.28it/s][A
-
86%|████████▌ | 466/544 [03:59<00:45, 1.71it/s][A
-
86%|████████▌ | 467/544 [03:59<00:38, 2.00it/s][A
-
86%|████████▌ | 468/544 [03:59<00:33, 2.27it/s][A
-
86%|████████▌ | 469/544 [04:00<00:44, 1.70it/s][A
-
86%|████████▋ | 470/544 [04:00<00:35, 2.08it/s][A
-
87%|████████▋ | 471/544 [04:01<00:35, 2.05it/s][A
-
87%|████████▋ | 472/544 [04:02<00:40, 1.79it/s][A
-
87%|████████▋ | 473/544 [04:02<00:32, 2.17it/s][A
-
87%|████████▋ | 474/544 [04:03<00:41, 1.70it/s][A
-
87%|████████▋ | 475/544 [04:03<00:35, 1.95it/s][A
-
88%|████████▊ | 476/544 [04:03<00:29, 2.34it/s][A
-
88%|████████▊ | 477/544 [04:04<00:38, 1.73it/s][A
-
88%|████████▊ | 478/544 [04:05<00:31, 2.11it/s][A
-
88%|████████▊ | 479/544 [04:05<00:27, 2.32it/s][A
-
88%|████████▊ | 480/544 [04:06<00:36, 1.75it/s][A
-
88%|████████▊ | 481/544 [04:06<00:29, 2.13it/s][A
-
89%|████████▊ | 482/544 [04:07<00:33, 1.84it/s][A
-
89%|████████▉ | 483/544 [04:07<00:32, 1.88it/s][A
-
89%|████████▉ | 484/544 [04:07<00:26, 2.27it/s][A
-
89%|████████▉ | 485/544 [04:08<00:34, 1.70it/s][A
-
89%|████████▉ | 486/544 [04:09<00:29, 1.99it/s][A
-
90%|████████▉ | 487/544 [04:09<00:25, 2.27it/s][A
-
90%|████████▉ | 488/544 [04:10<00:32, 1.70it/s][A
-
90%|████████▉ | 489/544 [04:10<00:26, 2.08it/s][A
-
90%|█████████ | 490/544 [04:11<00:25, 2.12it/s][A
-
90%|█████████ | 491/544 [04:11<00:29, 1.78it/s][A
-
90%|█████████ | 492/544 [04:12<00:24, 2.16it/s][A
-
91%|█████████ | 493/544 [04:12<00:29, 1.71it/s][A
-
91%|█████████ | 494/544 [04:13<00:25, 1.93it/s][A
-
91%|█████████ | 495/544 [04:13<00:21, 2.32it/s][A
-
91%|█████████ | 496/544 [04:14<00:27, 1.72it/s][A
-
91%|█████████▏| 497/544 [04:14<00:23, 2.02it/s][A
-
92%|█████████▏| 498/544 [04:15<00:20, 2.25it/s][A
-
92%|█████████▏| 499/544 [04:15<00:26, 1.72it/s][A
-
92%|█████████▏| 500/544 [04:16<00:20, 2.10it/s][A
-
92%|█████████▏| 501/544 [04:16<00:22, 1.89it/s][A
-
92%|█████████▏| 502/544 [04:17<00:22, 1.84it/s][A
-
92%|█████████▏| 503/544 [04:17<00:18, 2.23it/s][A
-
93%|█████████▎| 504/544 [04:18<00:23, 1.70it/s][A
-
93%|█████████▎| 505/544 [04:18<00:19, 1.98it/s][A
-
93%|█████████▎| 506/544 [04:19<00:16, 2.26it/s][A
-
93%|█████████▎| 507/544 [04:20<00:21, 1.70it/s][A
-
93%|█████████▎| 508/544 [04:20<00:17, 2.08it/s][A
-
94%|█████████▎| 509/544 [04:20<00:16, 2.18it/s][A
-
94%|█████████▍| 510/544 [04:21<00:19, 1.76it/s][A
-
94%|█████████▍| 511/544 [04:21<00:15, 2.15it/s][A
-
94%|█████████▍| 512/544 [04:22<00:18, 1.73it/s][A
-
94%|█████████▍| 513/544 [04:23<00:16, 1.92it/s][A
-
94%|█████████▍| 514/544 [04:23<00:12, 2.31it/s][A
-
95%|█████████▍| 515/544 [04:24<00:16, 1.72it/s][A
-
95%|█████████▍| 516/544 [04:24<00:13, 2.01it/s][A
-
95%|█████████▌| 517/544 [04:24<00:11, 2.28it/s][A
-
95%|█████████▌| 518/544 [04:25<00:15, 1.71it/s][A
-
95%|█████████▌| 519/544 [04:25<00:11, 2.09it/s][A
-
96%|█████████▌| 520/544 [04:26<00:12, 1.95it/s][A
-
96%|█████████▌| 521/544 [04:27<00:12, 1.82it/s][A
-
96%|█████████▌| 522/544 [04:27<00:09, 2.21it/s][A
-
96%|█████████▌| 523/544 [04:28<00:12, 1.69it/s][A
-
96%|█████████▋| 524/544 [04:28<00:10, 1.95it/s][A
-
97%|█████████▋| 525/544 [04:28<00:08, 2.34it/s][A
-
97%|█████████▋| 526/544 [04:29<00:10, 1.73it/s][A
-
97%|█████████▋| 527/544 [04:30<00:08, 2.11it/s][A
-
97%|█████████▋| 528/544 [04:30<00:07, 2.26it/s][A
-
97%|█████████▋| 529/544 [04:31<00:08, 1.76it/s][A
-
97%|█████████▋| 530/544 [04:31<00:06, 2.15it/s][A
-
98%|█████████▊| 531/544 [04:32<00:07, 1.79it/s][A
-
98%|█████████▊| 532/544 [04:32<00:06, 1.89it/s][A
-
98%|█████████▊| 533/544 [04:32<00:04, 2.28it/s][A
-
98%|█████████▊| 534/544 [04:33<00:05, 1.71it/s][A
-
98%|█████████▊| 535/544 [04:34<00:04, 2.00it/s][A
-
99%|█████████▊| 536/544 [04:34<00:03, 2.27it/s][A
-
99%|█████████▊| 537/544 [04:35<00:04, 1.69it/s][A
-
99%|█████████▉| 538/544 [04:35<00:02, 2.07it/s][A
-
99%|█████████▉| 539/544 [04:36<00:02, 2.05it/s][A
-
99%|█████████▉| 540/544 [04:36<00:02, 1.79it/s][A
-
99%|█████████▉| 541/544 [04:37<00:01, 2.18it/s][A
-
100%|█████████▉| 542/544 [04:38<00:01, 1.70it/s][A
-
100%|█████████▉| 543/544 [04:38<00:00, 1.95it/s][A
-
100%|██████████| 544/544 [04:38<00:00, 2.13it/s][A
100%|██████████| 544/544 [04:38<00:00, 1.95it/s]
-
Processing frames: 100%|██████████| 1/1 [04:39<00:00, 279.29s/frame]
Processing frames: 100%|██████████| 1/1 [04:39<00:00, 279.29s/frame]
+
0%| | 1/544 [00:00<04:33, 1.98it/s][A
+
0%| | 2/544 [00:00<03:12, 2.81it/s][A
+
1%| | 3/544 [00:01<03:17, 2.74it/s][A
+
1%| | 4/544 [00:02<05:16, 1.71it/s][A
+
1%| | 5/544 [00:02<04:10, 2.15it/s][A
+
1%| | 6/544 [00:03<05:01, 1.78it/s][A
+
1%|▏ | 7/544 [00:03<04:56, 1.81it/s][A
+
1%|▏ | 8/544 [00:03<04:03, 2.20it/s][A
+
2%|▏ | 9/544 [00:04<05:25, 1.64it/s][A
+
2%|▏ | 10/544 [00:05<04:40, 1.90it/s][A
+
2%|▏ | 11/544 [00:05<04:06, 2.16it/s][A
+
2%|▏ | 12/544 [00:06<05:32, 1.60it/s][A
+
2%|▏ | 13/544 [00:06<04:30, 1.96it/s][A
+
3%|▎ | 14/544 [00:07<04:21, 2.02it/s][A
+
3%|▎ | 15/544 [00:07<05:09, 1.71it/s][A
+
3%|▎ | 16/544 [00:08<04:14, 2.08it/s][A
+
3%|▎ | 17/544 [00:09<05:13, 1.68it/s][A
+
3%|▎ | 18/544 [00:09<04:43, 1.86it/s][A
+
3%|▎ | 19/544 [00:09<03:57, 2.21it/s][A
+
4%|▎ | 20/544 [00:10<05:15, 1.66it/s][A
+
4%|▍ | 21/544 [00:10<04:19, 2.02it/s][A
+
4%|▍ | 22/544 [00:11<03:55, 2.22it/s][A
+
4%|▍ | 23/544 [00:12<05:11, 1.67it/s][A
+
4%|▍ | 24/544 [00:12<04:16, 2.03it/s][A
+
5%|▍ | 25/544 [00:13<04:45, 1.82it/s][A
+
5%|▍ | 26/544 [00:13<04:51, 1.78it/s][A
+
5%|▍ | 27/544 [00:13<04:01, 2.14it/s][A
+
5%|▌ | 28/544 [00:14<05:17, 1.63it/s][A
+
5%|▌ | 29/544 [00:15<04:31, 1.90it/s][A
+
6%|▌ | 30/544 [00:15<03:59, 2.14it/s][A
+
6%|▌ | 31/544 [00:16<05:14, 1.63it/s][A
+
6%|▌ | 32/544 [00:16<04:16, 1.99it/s][A
+
6%|▌ | 33/544 [00:17<04:03, 2.10it/s][A
+
6%|▋ | 34/544 [00:18<05:04, 1.68it/s][A
+
6%|▋ | 35/544 [00:18<04:09, 2.04it/s][A
+
7%|▋ | 36/544 [00:19<05:04, 1.67it/s][A
+
7%|▋ | 37/544 [00:19<04:37, 1.83it/s][A
+
7%|▋ | 38/544 [00:19<03:50, 2.20it/s][A
+
7%|▋ | 39/544 [00:20<05:08, 1.64it/s][A
+
7%|▋ | 40/544 [00:21<04:26, 1.89it/s][A
+
8%|▊ | 41/544 [00:21<03:54, 2.14it/s][A
+
8%|▊ | 42/544 [00:22<05:07, 1.63it/s][A
+
8%|▊ | 43/544 [00:22<04:11, 1.99it/s][A
+
8%|▊ | 44/544 [00:23<04:23, 1.90it/s][A
+
8%|▊ | 45/544 [00:23<04:45, 1.75it/s][A
+
8%|▊ | 46/544 [00:24<03:55, 2.11it/s][A
+
9%|▊ | 47/544 [00:25<05:02, 1.64it/s][A
+
9%|▉ | 48/544 [00:25<04:20, 1.90it/s][A
+
9%|▉ | 49/544 [00:25<03:49, 2.15it/s][A
+
9%|▉ | 50/544 [00:26<05:02, 1.64it/s][A
+
9%|▉ | 51/544 [00:26<04:06, 2.00it/s][A
+
10%|▉ | 52/544 [00:27<03:47, 2.16it/s][A
+
10%|▉ | 53/544 [00:28<04:48, 1.70it/s][A
+
10%|▉ | 54/544 [00:28<03:56, 2.07it/s][A
+
10%|█ | 55/544 [00:29<04:39, 1.75it/s][A
+
10%|█ | 56/544 [00:29<04:24, 1.84it/s][A
+
10%|█ | 57/544 [00:29<03:44, 2.17it/s][A
+
11%|█ | 58/544 [00:30<04:54, 1.65it/s][A
+
11%|█ | 59/544 [00:31<04:10, 1.93it/s][A
+
11%|█ | 60/544 [00:31<03:41, 2.18it/s][A
+
11%|█ | 61/544 [00:32<04:56, 1.63it/s][A
+
11%|█▏ | 62/544 [00:32<04:02, 1.99it/s][A
+
12%|█▏ | 63/544 [00:33<04:03, 1.97it/s][A
+
12%|█▏ | 64/544 [00:33<04:38, 1.73it/s][A
+
12%|█▏ | 65/544 [00:34<03:49, 2.09it/s][A
+
12%|█▏ | 66/544 [00:35<04:52, 1.63it/s][A
+
12%|█▏ | 67/544 [00:35<04:18, 1.84it/s][A
+
12%|█▎ | 68/544 [00:35<03:46, 2.10it/s][A
+
13%|█▎ | 69/544 [00:36<04:54, 1.61it/s][A
+
13%|█▎ | 70/544 [00:37<03:59, 1.98it/s][A
+
13%|█▎ | 71/544 [00:37<03:41, 2.14it/s][A
+
13%|█▎ | 72/544 [00:38<04:43, 1.66it/s][A
+
13%|█▎ | 73/544 [00:38<03:52, 2.02it/s][A
+
14%|█▎ | 74/544 [00:39<04:29, 1.74it/s][A
+
14%|█▍ | 75/544 [00:39<04:23, 1.78it/s][A
+
14%|█▍ | 76/544 [00:40<03:39, 2.13it/s][A
+
14%|█▍ | 77/544 [00:41<04:48, 1.62it/s][A
+
14%|█▍ | 78/544 [00:41<04:06, 1.89it/s][A
+
15%|█▍ | 79/544 [00:41<03:36, 2.15it/s][A
+
15%|█▍ | 80/544 [00:42<04:44, 1.63it/s][A
+
15%|█▍ | 81/544 [00:42<03:53, 1.99it/s][A
+
15%|█▌ | 82/544 [00:43<03:49, 2.02it/s][A
+
15%|█▌ | 83/544 [00:44<04:32, 1.69it/s][A
+
15%|█▌ | 84/544 [00:44<03:43, 2.06it/s][A
+
16%|█▌ | 85/544 [00:45<04:42, 1.63it/s][A
+
16%|█▌ | 86/544 [00:45<04:11, 1.82it/s][A
+
16%|█▌ | 87/544 [00:46<03:28, 2.19it/s][A
+
16%|█▌ | 88/544 [00:46<04:35, 1.66it/s][A
+
16%|█▋ | 89/544 [00:47<03:56, 1.92it/s][A
+
17%|█▋ | 90/544 [00:47<03:30, 2.16it/s][A
+
17%|█▋ | 91/544 [00:48<04:32, 1.66it/s][A
+
17%|█▋ | 92/544 [00:48<03:42, 2.03it/s][A
+
17%|█▋ | 93/544 [00:49<04:04, 1.85it/s][A
+
17%|█▋ | 94/544 [00:50<04:10, 1.80it/s][A
+
17%|█▋ | 95/544 [00:50<03:29, 2.14it/s][A
+
18%|█▊ | 96/544 [00:51<04:33, 1.64it/s][A
+
18%|█▊ | 97/544 [00:51<03:54, 1.91it/s][A
+
18%|█▊ | 98/544 [00:51<03:25, 2.17it/s][A
+
18%|█▊ | 99/544 [00:52<04:30, 1.64it/s][A
+
18%|█▊ | 100/544 [00:53<03:41, 2.01it/s][A
+
19%|█▊ | 101/544 [00:53<03:31, 2.09it/s][A
+
19%|█▉ | 102/544 [00:54<04:18, 1.71it/s][A
+
19%|█▉ | 103/544 [00:54<03:32, 2.08it/s][A
+
19%|█▉ | 104/544 [00:55<04:21, 1.68it/s][A
+
19%|█▉ | 105/544 [00:55<04:01, 1.82it/s][A
+
19%|█▉ | 106/544 [00:56<03:19, 2.19it/s][A
+
20%|█▉ | 107/544 [00:57<04:26, 1.64it/s][A
+
20%|█▉ | 108/544 [00:57<03:48, 1.91it/s][A
+
20%|██ | 109/544 [00:57<03:25, 2.12it/s][A
+
20%|██ | 110/544 [00:58<04:26, 1.63it/s][A
+
20%|██ | 111/544 [00:58<03:37, 1.99it/s][A
+
21%|██ | 112/544 [00:59<03:50, 1.88it/s][A
+
21%|██ | 113/544 [01:00<04:10, 1.72it/s][A
+
21%|██ | 114/544 [01:00<03:27, 2.07it/s][A
+
21%|██ | 115/544 [01:01<04:27, 1.60it/s][A
+
21%|██▏ | 116/544 [01:01<03:51, 1.85it/s][A
+
22%|██▏ | 117/544 [01:02<03:21, 2.12it/s][A
+
22%|██▏ | 118/544 [01:03<04:20, 1.63it/s][A
+
22%|██▏ | 119/544 [01:03<03:32, 2.00it/s][A
+
22%|██▏ | 120/544 [01:03<03:20, 2.12it/s][A
+
22%|██▏ | 121/544 [01:04<04:11, 1.69it/s][A
+
22%|██▏ | 122/544 [01:04<03:26, 2.04it/s][A
+
23%|██▎ | 123/544 [01:05<04:05, 1.72it/s][A
+
23%|██▎ | 124/544 [01:06<03:52, 1.81it/s][A
+
23%|██▎ | 125/544 [01:06<03:12, 2.18it/s][A
+
23%|██▎ | 126/544 [01:07<04:14, 1.64it/s][A
+
23%|██▎ | 127/544 [01:07<03:39, 1.90it/s][A
+
24%|██▎ | 128/544 [01:07<03:13, 2.15it/s][A
+
24%|██▎ | 129/544 [01:08<04:11, 1.65it/s][A
+
24%|██▍ | 130/544 [01:09<03:25, 2.02it/s][A
+
24%|██▍ | 131/544 [01:09<03:31, 1.95it/s][A
+
24%|██▍ | 132/544 [01:10<03:59, 1.72it/s][A
+
24%|██▍ | 133/544 [01:10<03:17, 2.08it/s][A
+
25%|██▍ | 134/544 [01:11<04:11, 1.63it/s][A
+
25%|██▍ | 135/544 [01:11<03:41, 1.85it/s][A
+
25%|██▌ | 136/544 [01:12<03:13, 2.11it/s][A
+
25%|██▌ | 137/544 [01:13<04:14, 1.60it/s][A
+
25%|██▌ | 138/544 [01:13<03:37, 1.87it/s][A
+
26%|██▌ | 139/544 [01:13<03:16, 2.06it/s][A
+
26%|██▌ | 140/544 [01:14<04:08, 1.63it/s][A
+
26%|██▌ | 141/544 [01:15<03:23, 1.98it/s][A
+
26%|██▌ | 142/544 [01:15<03:54, 1.71it/s][A
+
26%|██▋ | 143/544 [01:16<03:49, 1.75it/s][A
+
26%|██▋ | 144/544 [01:16<03:10, 2.10it/s][A
+
27%|██▋ | 145/544 [01:17<04:08, 1.61it/s][A
+
27%|██▋ | 146/544 [01:17<03:32, 1.87it/s][A
+
27%|██▋ | 147/544 [01:18<03:05, 2.14it/s][A
+
27%|██▋ | 148/544 [01:19<04:00, 1.64it/s][A
+
27%|██▋ | 149/544 [01:19<03:16, 2.01it/s][A
+
28%|██▊ | 150/544 [01:19<03:15, 2.01it/s][A
+
28%|██▊ | 151/544 [01:20<03:52, 1.69it/s][A
+
28%|██▊ | 152/544 [01:21<03:10, 2.06it/s][A
+
28%|██▊ | 153/544 [01:21<03:55, 1.66it/s][A
+
28%|██▊ | 154/544 [01:22<03:29, 1.86it/s][A
+
28%|██▊ | 155/544 [01:22<02:54, 2.23it/s][A
+
29%|██▊ | 156/544 [01:23<03:52, 1.67it/s][A
+
29%|██▉ | 157/544 [01:23<03:21, 1.92it/s][A
+
29%|██▉ | 158/544 [01:24<03:00, 2.14it/s][A
+
29%|██▉ | 159/544 [01:25<03:52, 1.66it/s][A
+
29%|██▉ | 160/544 [01:25<03:09, 2.02it/s][A
+
30%|██▉ | 161/544 [01:25<03:31, 1.81it/s][A
+
30%|██▉ | 162/544 [01:26<03:37, 1.75it/s][A
+
30%|██▉ | 163/544 [01:26<03:01, 2.10it/s][A
+
30%|███ | 164/544 [01:27<03:55, 1.62it/s][A
+
30%|███ | 165/544 [01:28<03:20, 1.89it/s][A
+
31%|███ | 166/544 [01:28<02:56, 2.14it/s][A
+
31%|███ | 167/544 [01:29<03:49, 1.64it/s][A
+
31%|███ | 168/544 [01:29<03:07, 2.00it/s][A
+
31%|███ | 169/544 [01:30<02:56, 2.12it/s][A
+
31%|███▏ | 170/544 [01:30<03:39, 1.70it/s][A
+
31%|███▏ | 171/544 [01:31<03:00, 2.07it/s][A
+
32%|███▏ | 172/544 [01:31<03:41, 1.68it/s][A
+
32%|███▏ | 173/544 [01:32<03:20, 1.85it/s][A
+
32%|███▏ | 174/544 [01:32<02:46, 2.22it/s][A
+
32%|███▏ | 175/544 [01:33<03:41, 1.67it/s][A
+
32%|███▏ | 176/544 [01:33<03:01, 2.03it/s][A
+
33%|███▎ | 177/544 [01:34<02:44, 2.23it/s][A
+
33%|███▎ | 178/544 [01:35<03:37, 1.69it/s][A
+
33%|███▎ | 179/544 [01:35<02:57, 2.05it/s][A
+
33%|███▎ | 180/544 [01:35<03:08, 1.93it/s][A
+
33%|███▎ | 181/544 [01:36<03:23, 1.78it/s][A
+
33%|███▎ | 182/544 [01:36<02:48, 2.15it/s][A
+
34%|███▎ | 183/544 [01:37<03:38, 1.65it/s][A
+
34%|███▍ | 184/544 [01:38<03:09, 1.90it/s][A
+
34%|███▍ | 185/544 [01:38<02:46, 2.15it/s][A
+
34%|███▍ | 186/544 [01:39<03:40, 1.62it/s][A
+
34%|███▍ | 187/544 [01:39<02:59, 1.98it/s][A
+
35%|███▍ | 188/544 [01:40<02:46, 2.14it/s][A
+
35%|███▍ | 189/544 [01:40<03:29, 1.70it/s][A
+
35%|███▍ | 190/544 [01:41<02:52, 2.06it/s][A
+
35%|███▌ | 191/544 [01:41<03:23, 1.73it/s][A
+
35%|███▌ | 192/544 [01:42<03:11, 1.84it/s][A
+
35%|███▌ | 193/544 [01:42<02:39, 2.20it/s][A
+
36%|███▌ | 194/544 [01:43<03:32, 1.64it/s][A
+
36%|███▌ | 195/544 [01:43<03:04, 1.90it/s][A
+
36%|███▌ | 196/544 [01:44<02:42, 2.14it/s][A
+
36%|███▌ | 197/544 [01:45<03:32, 1.64it/s][A
+
36%|███▋ | 198/544 [01:45<02:53, 1.99it/s][A
+
37%|███▋ | 199/544 [01:46<02:56, 1.95it/s][A
+
37%|███▋ | 200/544 [01:46<03:21, 1.70it/s][A
+
37%|███▋ | 201/544 [01:47<02:46, 2.06it/s][A
+
37%|███▋ | 202/544 [01:47<03:32, 1.61it/s][A
+
37%|███▋ | 203/544 [01:48<03:05, 1.84it/s][A
+
38%|███▊ | 204/544 [01:48<02:33, 2.21it/s][A
+
38%|███▊ | 205/544 [01:49<03:24, 1.66it/s][A
+
38%|███▊ | 206/544 [01:49<02:47, 2.02it/s][A
+
38%|███▊ | 207/544 [01:50<02:32, 2.20it/s][A
+
38%|███▊ | 208/544 [01:51<03:21, 1.67it/s][A
+
38%|███▊ | 209/544 [01:51<02:45, 2.03it/s][A
+
39%|███▊ | 210/544 [01:52<03:10, 1.75it/s][A
+
39%|███▉ | 211/544 [01:52<03:07, 1.77it/s][A
+
39%|███▉ | 212/544 [01:52<02:35, 2.14it/s][A
+
39%|███▉ | 213/544 [01:53<03:24, 1.62it/s][A
+
39%|███▉ | 214/544 [01:54<02:55, 1.88it/s][A
+
40%|███▉ | 215/544 [01:54<02:33, 2.14it/s][A
+
40%|███▉ | 216/544 [01:55<03:23, 1.61it/s][A
+
40%|███▉ | 217/544 [01:55<02:45, 1.97it/s][A
+
40%|████ | 218/544 [01:56<02:42, 2.00it/s][A
+
40%|████ | 219/544 [01:56<03:12, 1.69it/s][A
+
40%|████ | 220/544 [01:57<02:37, 2.05it/s][A
+
41%|████ | 221/544 [01:58<03:15, 1.65it/s][A
+
41%|████ | 222/544 [01:58<02:55, 1.83it/s][A
+
41%|████ | 223/544 [01:58<02:33, 2.09it/s][A
+
41%|████ | 224/544 [01:59<03:19, 1.60it/s][A
+
41%|████▏ | 225/544 [02:00<02:49, 1.88it/s][A
+
42%|████▏ | 226/544 [02:00<02:32, 2.08it/s][A
+
42%|████▏ | 227/544 [02:01<03:13, 1.64it/s][A
+
42%|████▏ | 228/544 [02:01<02:37, 2.01it/s][A
+
42%|████▏ | 229/544 [02:02<02:51, 1.83it/s][A
+
42%|████▏ | 230/544 [02:02<02:57, 1.77it/s][A
+
42%|████▏ | 231/544 [02:03<02:26, 2.13it/s][A
+
43%|████▎ | 232/544 [02:04<03:11, 1.63it/s][A
+
43%|████▎ | 233/544 [02:04<02:45, 1.88it/s][A
+
43%|████▎ | 234/544 [02:04<02:25, 2.13it/s][A
+
43%|████▎ | 235/544 [02:05<03:11, 1.61it/s][A
+
43%|████▎ | 236/544 [02:05<02:35, 1.98it/s][A
+
44%|████▎ | 237/544 [02:06<02:27, 2.08it/s][A
+
44%|████▍ | 238/544 [02:07<03:00, 1.69it/s][A
+
44%|████▍ | 239/544 [02:07<02:28, 2.06it/s][A
+
44%|████▍ | 240/544 [02:08<03:02, 1.67it/s][A
+
44%|████▍ | 241/544 [02:08<02:45, 1.84it/s][A
+
44%|████▍ | 242/544 [02:08<02:17, 2.20it/s][A
+
45%|████▍ | 243/544 [02:09<03:02, 1.65it/s][A
+
45%|████▍ | 244/544 [02:10<02:37, 1.90it/s][A
+
45%|████▌ | 245/544 [02:10<02:21, 2.12it/s][A
+
45%|████▌ | 246/544 [02:11<03:01, 1.64it/s][A
+
45%|████▌ | 247/544 [02:11<02:28, 2.00it/s][A
+
46%|████▌ | 248/544 [02:12<02:35, 1.90it/s][A
+
46%|████▌ | 249/544 [02:13<02:47, 1.76it/s][A
+
46%|████▌ | 250/544 [02:13<02:17, 2.14it/s][A
+
46%|████▌ | 251/544 [02:14<02:57, 1.65it/s][A
+
46%|████▋ | 252/544 [02:14<02:31, 1.93it/s][A
+
47%|████▋ | 253/544 [02:14<02:12, 2.19it/s][A
+
47%|████▋ | 254/544 [02:15<02:53, 1.67it/s][A
+
47%|████▋ | 255/544 [02:16<02:21, 2.05it/s][A
+
47%|████▋ | 256/544 [02:16<02:11, 2.20it/s][A
+
47%|████▋ | 257/544 [02:17<02:47, 1.71it/s][A
+
47%|████▋ | 258/544 [02:17<02:18, 2.07it/s][A
+
48%|████▊ | 259/544 [02:18<02:43, 1.74it/s][A
+
48%|████▊ | 260/544 [02:18<02:35, 1.82it/s][A
+
48%|████▊ | 261/544 [02:19<02:09, 2.19it/s][A
+
48%|████▊ | 262/544 [02:20<02:52, 1.64it/s][A
+
48%|████▊ | 263/544 [02:20<02:29, 1.88it/s][A
+
49%|████▊ | 264/544 [02:20<02:13, 2.10it/s][A
+
49%|████▊ | 265/544 [02:21<02:52, 1.62it/s][A
+
49%|████▉ | 266/544 [02:21<02:20, 1.98it/s][A
+
49%|████▉ | 267/544 [02:22<02:22, 1.94it/s][A
+
49%|████▉ | 268/544 [02:23<02:39, 1.73it/s][A
+
49%|████▉ | 269/544 [02:23<02:11, 2.10it/s][A
+
50%|████▉ | 270/544 [02:24<02:47, 1.63it/s][A
+
50%|████▉ | 271/544 [02:24<02:27, 1.85it/s][A
+
50%|█████ | 272/544 [02:24<02:06, 2.15it/s][A
+
50%|█████ | 273/544 [02:25<02:46, 1.63it/s][A
+
50%|█████ | 274/544 [02:26<02:16, 1.98it/s][A
+
51%|█████ | 275/544 [02:26<02:02, 2.20it/s][A
+
51%|█████ | 276/544 [02:27<02:39, 1.68it/s][A
+
51%|█████ | 277/544 [02:27<02:10, 2.05it/s][A
+
51%|█████ | 278/544 [02:28<02:29, 1.78it/s][A
+
51%|█████▏ | 279/544 [02:28<02:26, 1.80it/s][A
+
51%|█████▏ | 280/544 [02:29<02:02, 2.16it/s][A
+
52%|█████▏ | 281/544 [02:30<02:40, 1.63it/s][A
+
52%|█████▏ | 282/544 [02:30<02:18, 1.89it/s][A
+
52%|█████▏ | 283/544 [02:30<02:01, 2.14it/s][A
+
52%|█████▏ | 284/544 [02:31<02:38, 1.64it/s][A
+
52%|█████▏ | 285/544 [02:32<02:09, 2.00it/s][A
+
53%|█████▎ | 286/544 [02:32<02:06, 2.04it/s][A
+
53%|█████▎ | 287/544 [02:33<02:28, 1.73it/s][A
+
53%|█████▎ | 288/544 [02:33<02:02, 2.10it/s][A
+
53%|█████▎ | 289/544 [02:34<02:32, 1.67it/s][A
+
53%|█████▎ | 290/544 [02:34<02:16, 1.86it/s][A
+
53%|█████▎ | 291/544 [02:35<01:54, 2.22it/s][A
+
54%|█████▎ | 292/544 [02:35<02:31, 1.66it/s][A
+
54%|█████▍ | 293/544 [02:36<02:10, 1.92it/s][A
+
54%|█████▍ | 294/544 [02:36<01:55, 2.16it/s][A
+
54%|█████▍ | 295/544 [02:37<02:30, 1.66it/s][A
+
54%|█████▍ | 296/544 [02:37<02:02, 2.02it/s][A
+
55%|█████▍ | 297/544 [02:38<02:14, 1.84it/s][A
+
55%|█████▍ | 298/544 [02:39<02:18, 1.77it/s][A
+
55%|█████▍ | 299/544 [02:39<01:54, 2.14it/s][A
+
55%|█████▌ | 300/544 [02:40<02:28, 1.64it/s][A
+
55%|█████▌ | 301/544 [02:40<02:07, 1.91it/s][A
+
56%|█████▌ | 302/544 [02:40<01:51, 2.16it/s][A
+
56%|█████▌ | 303/544 [02:41<02:27, 1.64it/s][A
+
56%|█████▌ | 304/544 [02:42<02:01, 1.98it/s][A
+
56%|█████▌ | 305/544 [02:42<01:54, 2.09it/s][A
+
56%|█████▋ | 306/544 [02:43<02:21, 1.68it/s][A
+
56%|█████▋ | 307/544 [02:43<01:55, 2.05it/s][A
+
57%|█████▋ | 308/544 [02:44<02:22, 1.66it/s][A
+
57%|█████▋ | 309/544 [02:44<02:08, 1.83it/s][A
+
57%|█████▋ | 310/544 [02:45<01:48, 2.16it/s][A
+
57%|█████▋ | 311/544 [02:46<02:23, 1.63it/s][A
+
57%|█████▋ | 312/544 [02:46<02:01, 1.91it/s][A
+
58%|█████▊ | 313/544 [02:46<01:47, 2.15it/s][A
+
58%|█████▊ | 314/544 [02:47<02:18, 1.66it/s][A
+
58%|█████▊ | 315/544 [02:47<01:53, 2.02it/s][A
+
58%|█████▊ | 316/544 [02:48<01:59, 1.91it/s][A
+
58%|█████▊ | 317/544 [02:49<02:08, 1.76it/s][A
+
58%|█████▊ | 318/544 [02:49<01:45, 2.13it/s][A
+
59%|█████▊ | 319/544 [02:50<02:16, 1.64it/s][A
+
59%|█████▉ | 320/544 [02:50<01:57, 1.91it/s][A
+
59%|█████▉ | 321/544 [02:50<01:37, 2.28it/s][A
+
59%|█████▉ | 322/544 [02:51<02:14, 1.65it/s][A
+
59%|█████▉ | 323/544 [02:52<01:49, 2.02it/s][A
+
60%|█████▉ | 324/544 [02:52<01:41, 2.17it/s][A
+
60%|█████▉ | 325/544 [02:53<02:09, 1.69it/s][A
+
60%|█████▉ | 326/544 [02:53<01:45, 2.06it/s][A
+
60%|██████ | 327/544 [02:54<02:02, 1.77it/s][A
+
60%|██████ | 328/544 [02:54<01:57, 1.83it/s][A
+
60%|██████ | 329/544 [02:55<01:37, 2.20it/s][A
+
61%|██████ | 330/544 [02:56<02:10, 1.64it/s][A
+
61%|██████ | 331/544 [02:56<01:50, 1.92it/s][A
+
61%|██████ | 332/544 [02:56<01:38, 2.15it/s][A
+
61%|██████ | 333/544 [02:57<02:08, 1.64it/s][A
+
61%|██████▏ | 334/544 [02:58<01:45, 1.99it/s][A
+
62%|██████▏ | 335/544 [02:58<01:48, 1.93it/s][A
+
62%|██████▏ | 336/544 [02:59<02:01, 1.72it/s][A
+
62%|██████▏ | 337/544 [02:59<01:40, 2.07it/s][A
+
62%|██████▏ | 338/544 [03:00<02:07, 1.62it/s][A
+
62%|██████▏ | 339/544 [03:00<01:51, 1.84it/s][A
+
62%|██████▎ | 340/544 [03:01<01:37, 2.10it/s][A
+
63%|██████▎ | 341/544 [03:02<02:05, 1.62it/s][A
+
63%|██████▎ | 342/544 [03:02<01:42, 1.96it/s][A
+
63%|██████▎ | 343/544 [03:02<01:34, 2.13it/s][A
+
63%|██████▎ | 344/544 [03:03<01:59, 1.67it/s][A
+
63%|██████▎ | 345/544 [03:03<01:38, 2.03it/s][A
+
64%|██████▎ | 346/544 [03:04<01:50, 1.79it/s][A
+
64%|██████▍ | 347/544 [03:05<01:48, 1.82it/s][A
+
64%|██████▍ | 348/544 [03:05<01:29, 2.18it/s][A
+
64%|██████▍ | 349/544 [03:06<01:57, 1.66it/s][A
+
64%|██████▍ | 350/544 [03:06<01:40, 1.94it/s][A
+
65%|██████▍ | 351/544 [03:07<01:28, 2.18it/s][A
+
65%|██████▍ | 352/544 [03:07<01:56, 1.65it/s][A
+
65%|██████▍ | 353/544 [03:08<01:35, 2.01it/s][A
+
65%|██████▌ | 354/544 [03:08<01:32, 2.05it/s][A
+
65%|██████▌ | 355/544 [03:09<01:49, 1.73it/s][A
+
65%|██████▌ | 356/544 [03:09<01:29, 2.10it/s][A
+
66%|██████▌ | 357/544 [03:10<01:51, 1.67it/s][A
+
66%|██████▌ | 358/544 [03:10<01:39, 1.88it/s][A
+
66%|██████▌ | 359/544 [03:11<01:22, 2.25it/s][A
+
66%|██████▌ | 360/544 [03:12<01:49, 1.68it/s][A
+
66%|██████▋ | 361/544 [03:12<01:33, 1.96it/s][A
+
67%|██████▋ | 362/544 [03:12<01:22, 2.20it/s][A
+
67%|██████▋ | 363/544 [03:13<01:47, 1.69it/s][A
+
67%|██████▋ | 364/544 [03:13<01:27, 2.05it/s][A
+
67%|██████▋ | 365/544 [03:14<01:37, 1.84it/s][A
+
67%|██████▋ | 366/544 [03:15<01:39, 1.79it/s][A
+
67%|██████▋ | 367/544 [03:15<01:22, 2.15it/s][A
+
68%|██████▊ | 368/544 [03:16<01:46, 1.66it/s][A
+
68%|██████▊ | 369/544 [03:16<01:30, 1.93it/s][A
+
68%|██████▊ | 370/544 [03:17<01:19, 2.19it/s][A
+
68%|██████▊ | 371/544 [03:17<01:45, 1.65it/s][A
+
68%|██████▊ | 372/544 [03:18<01:25, 2.01it/s][A
+
69%|██████▊ | 373/544 [03:18<01:20, 2.14it/s][A
+
69%|██████▉ | 374/544 [03:19<01:39, 1.71it/s][A
+
69%|██████▉ | 375/544 [03:19<01:21, 2.08it/s][A
+
69%|██████▉ | 376/544 [03:20<01:39, 1.69it/s][A
+
69%|██████▉ | 377/544 [03:20<01:29, 1.87it/s][A
+
69%|██████▉ | 378/544 [03:21<01:14, 2.23it/s][A
+
70%|██████▉ | 379/544 [03:22<01:38, 1.68it/s][A
+
70%|██████▉ | 380/544 [03:22<01:23, 1.95it/s][A
+
70%|███████ | 381/544 [03:22<01:14, 2.20it/s][A
+
70%|███████ | 382/544 [03:23<01:36, 1.68it/s][A
+
70%|███████ | 383/544 [03:23<01:18, 2.05it/s][A
+
71%|███████ | 384/544 [03:24<01:22, 1.93it/s][A
+
71%|███████ | 385/544 [03:25<01:29, 1.78it/s][A
+
71%|███████ | 386/544 [03:25<01:13, 2.15it/s][A
+
71%|███████ | 387/544 [03:26<01:34, 1.65it/s][A
+
71%|███████▏ | 388/544 [03:26<01:21, 1.91it/s][A
+
72%|███████▏ | 389/544 [03:27<01:11, 2.17it/s][A
+
72%|███████▏ | 390/544 [03:27<01:34, 1.63it/s][A
+
72%|███████▏ | 391/544 [03:28<01:16, 1.99it/s][A
+
72%|███████▏ | 392/544 [03:28<01:11, 2.14it/s][A
+
72%|███████▏ | 393/544 [03:29<01:29, 1.69it/s][A
+
72%|███████▏ | 394/544 [03:29<01:12, 2.06it/s][A
+
73%|███████▎ | 395/544 [03:30<01:25, 1.74it/s][A
+
73%|███████▎ | 396/544 [03:30<01:20, 1.84it/s][A
+
73%|███████▎ | 397/544 [03:31<01:06, 2.20it/s][A
+
73%|███████▎ | 398/544 [03:32<01:28, 1.66it/s][A
+
73%|███████▎ | 399/544 [03:32<01:14, 1.94it/s][A
+
74%|███████▎ | 400/544 [03:32<01:05, 2.21it/s][A
+
74%|███████▎ | 401/544 [03:33<01:26, 1.66it/s][A
+
74%|███████▍ | 402/544 [03:33<01:10, 2.03it/s][A
+
74%|███████▍ | 403/544 [03:34<01:11, 1.96it/s][A
+
74%|███████▍ | 404/544 [03:35<01:20, 1.75it/s][A
+
74%|███████▍ | 405/544 [03:35<01:05, 2.12it/s][A
+
75%|███████▍ | 406/544 [03:36<01:23, 1.66it/s][A
+
75%|███████▍ | 407/544 [03:36<01:11, 1.91it/s][A
+
75%|███████▌ | 408/544 [03:36<00:59, 2.28it/s][A
+
75%|███████▌ | 409/544 [03:37<01:19, 1.70it/s][A
+
75%|███████▌ | 410/544 [03:38<01:04, 2.06it/s][A
+
76%|███████▌ | 411/544 [03:38<00:59, 2.25it/s][A
+
76%|███████▌ | 412/544 [03:39<01:16, 1.72it/s][A
+
76%|███████▌ | 413/544 [03:39<01:02, 2.09it/s][A
+
76%|███████▌ | 414/544 [03:40<01:11, 1.81it/s][A
+
76%|███████▋ | 415/544 [03:40<01:10, 1.84it/s][A
+
76%|███████▋ | 416/544 [03:41<00:57, 2.21it/s][A
+
77%|███████▋ | 417/544 [03:42<01:16, 1.65it/s][A
+
77%|███████▋ | 418/544 [03:42<01:05, 1.92it/s][A
+
77%|███████▋ | 419/544 [03:42<00:57, 2.16it/s][A
+
77%|███████▋ | 420/544 [03:43<01:15, 1.65it/s][A
+
77%|███████▋ | 421/544 [03:43<01:00, 2.02it/s][A
+
78%|███████▊ | 422/544 [03:44<00:59, 2.04it/s][A
+
78%|███████▊ | 423/544 [03:45<01:09, 1.74it/s][A
+
78%|███████▊ | 424/544 [03:45<00:57, 2.10it/s][A
+
78%|███████▊ | 425/544 [03:46<01:10, 1.69it/s][A
+
78%|███████▊ | 426/544 [03:46<01:02, 1.89it/s][A
+
78%|███████▊ | 427/544 [03:46<00:51, 2.26it/s][A
+
79%|███████▊ | 428/544 [03:47<01:08, 1.68it/s][A
+
79%|███████▉ | 429/544 [03:48<00:58, 1.97it/s][A
+
79%|███████▉ | 430/544 [03:48<00:52, 2.19it/s][A
+
79%|███████▉ | 431/544 [03:49<01:08, 1.66it/s][A
+
79%|███████▉ | 432/544 [03:49<00:55, 2.02it/s][A
+
80%|███████▉ | 433/544 [03:50<00:59, 1.85it/s][A
+
80%|███████▉ | 434/544 [03:50<01:01, 1.78it/s][A
+
80%|███████▉ | 435/544 [03:51<00:50, 2.15it/s][A
+
80%|████████ | 436/544 [03:52<01:05, 1.65it/s][A
+
80%|████████ | 437/544 [03:52<00:56, 1.90it/s][A
+
81%|████████ | 438/544 [03:52<00:48, 2.17it/s][A
+
81%|████████ | 439/544 [03:53<01:03, 1.65it/s][A
+
81%|████████ | 440/544 [03:53<00:51, 2.02it/s][A
+
81%|████████ | 441/544 [03:54<00:48, 2.14it/s][A
+
81%|████████▏ | 442/544 [03:55<00:59, 1.73it/s][A
+
81%|████████▏ | 443/544 [03:55<00:48, 2.09it/s][A
+
82%|████████▏ | 444/544 [03:56<00:58, 1.70it/s][A
+
82%|████████▏ | 445/544 [03:56<00:52, 1.87it/s][A
+
82%|████████▏ | 446/544 [03:56<00:43, 2.25it/s][A
+
82%|████████▏ | 447/544 [03:57<00:58, 1.67it/s][A
+
82%|████████▏ | 448/544 [03:58<00:48, 1.96it/s][A
+
83%|████████▎ | 449/544 [03:58<00:43, 2.18it/s][A
+
83%|████████▎ | 450/544 [03:59<00:56, 1.66it/s][A
+
83%|████████▎ | 451/544 [03:59<00:45, 2.03it/s][A
+
83%|████████▎ | 452/544 [04:00<00:48, 1.91it/s][A
+
83%|████████▎ | 453/544 [04:00<00:51, 1.77it/s][A
+
83%|████████▎ | 454/544 [04:01<00:42, 2.14it/s][A
+
84%|████████▎ | 455/544 [04:02<00:53, 1.67it/s][A
+
84%|████████▍ | 456/544 [04:02<00:45, 1.92it/s][A
+
84%|████████▍ | 457/544 [04:02<00:40, 2.16it/s][A
+
84%|████████▍ | 458/544 [04:03<00:52, 1.65it/s][A
+
84%|████████▍ | 459/544 [04:03<00:42, 2.02it/s][A
+
85%|████████▍ | 460/544 [04:04<00:39, 2.15it/s][A
+
85%|████████▍ | 461/544 [04:05<00:48, 1.69it/s][A
+
85%|████████▍ | 462/544 [04:05<00:39, 2.06it/s][A
+
85%|████████▌ | 463/544 [04:06<00:46, 1.72it/s][A
+
85%|████████▌ | 464/544 [04:06<00:43, 1.84it/s][A
+
85%|████████▌ | 465/544 [04:06<00:35, 2.21it/s][A
+
86%|████████▌ | 466/544 [04:07<00:46, 1.66it/s][A
+
86%|████████▌ | 467/544 [04:08<00:39, 1.94it/s][A
+
86%|████████▌ | 468/544 [04:08<00:34, 2.18it/s][A
+
86%|████████▌ | 469/544 [04:09<00:45, 1.65it/s][A
+
86%|████████▋ | 470/544 [04:09<00:36, 2.02it/s][A
+
87%|████████▋ | 471/544 [04:10<00:36, 2.00it/s][A
+
87%|████████▋ | 472/544 [04:11<00:41, 1.74it/s][A
+
87%|████████▋ | 473/544 [04:11<00:33, 2.11it/s][A
+
87%|████████▋ | 474/544 [04:12<00:42, 1.66it/s][A
+
87%|████████▋ | 475/544 [04:12<00:36, 1.90it/s][A
+
88%|████████▊ | 476/544 [04:12<00:30, 2.26it/s][A
+
88%|████████▊ | 477/544 [04:13<00:39, 1.69it/s][A
+
88%|████████▊ | 478/544 [04:13<00:32, 2.06it/s][A
+
88%|████████▊ | 479/544 [04:14<00:28, 2.26it/s][A
+
88%|████████▊ | 480/544 [04:15<00:37, 1.70it/s][A
+
88%|████████▊ | 481/544 [04:15<00:30, 2.07it/s][A
+
89%|████████▊ | 482/544 [04:16<00:34, 1.79it/s][A
+
89%|████████▉ | 483/544 [04:16<00:33, 1.83it/s][A
+
89%|████████▉ | 484/544 [04:16<00:27, 2.20it/s][A
+
89%|████████▉ | 485/544 [04:17<00:35, 1.67it/s][A
+
89%|████████▉ | 486/544 [04:18<00:29, 1.94it/s][A
+
90%|████████▉ | 487/544 [04:18<00:25, 2.21it/s][A
+
90%|████████▉ | 488/544 [04:19<00:33, 1.67it/s][A
+
90%|████████▉ | 489/544 [04:19<00:27, 2.03it/s][A
+
90%|█████████ | 490/544 [04:20<00:26, 2.05it/s][A
+
90%|█████████ | 491/544 [04:20<00:30, 1.74it/s][A
+
90%|█████████ | 492/544 [04:21<00:24, 2.11it/s][A
+
91%|█████████ | 493/544 [04:22<00:30, 1.66it/s][A
+
91%|█████████ | 494/544 [04:22<00:26, 1.86it/s][A
+
91%|█████████ | 495/544 [04:22<00:22, 2.23it/s][A
+
91%|█████████ | 496/544 [04:23<00:28, 1.68it/s][A
+
91%|█████████▏| 497/544 [04:23<00:23, 1.96it/s][A
+
92%|█████████▏| 498/544 [04:24<00:21, 2.18it/s][A
+
92%|█████████▏| 499/544 [04:25<00:27, 1.67it/s][A
+
92%|█████████▏| 500/544 [04:25<00:21, 2.03it/s][A
+
92%|█████████▏| 501/544 [04:26<00:23, 1.83it/s][A
+
92%|█████████▏| 502/544 [04:26<00:23, 1.78it/s][A
+
92%|█████████▏| 503/544 [04:26<00:19, 2.15it/s][A
+
93%|█████████▎| 504/544 [04:27<00:24, 1.66it/s][A
+
93%|█████████▎| 505/544 [04:28<00:20, 1.92it/s][A
+
93%|█████████▎| 506/544 [04:28<00:17, 2.17it/s][A
+
93%|█████████▎| 507/544 [04:29<00:22, 1.65it/s][A
+
93%|█████████▎| 508/544 [04:29<00:17, 2.02it/s][A
+
94%|█████████▎| 509/544 [04:30<00:16, 2.11it/s][A
+
94%|█████████▍| 510/544 [04:30<00:19, 1.73it/s][A
+
94%|█████████▍| 511/544 [04:31<00:15, 2.09it/s][A
+
94%|█████████▍| 512/544 [04:32<00:18, 1.69it/s][A
+
94%|█████████▍| 513/544 [04:32<00:16, 1.85it/s][A
+
94%|█████████▍| 514/544 [04:32<00:13, 2.23it/s][A
+
95%|█████████▍| 515/544 [04:33<00:17, 1.68it/s][A
+
95%|█████████▍| 516/544 [04:33<00:14, 1.97it/s][A
+
95%|█████████▌| 517/544 [04:34<00:12, 2.22it/s][A
+
95%|█████████▌| 518/544 [04:35<00:15, 1.68it/s][A
+
95%|█████████▌| 519/544 [04:35<00:12, 2.04it/s][A
+
96%|█████████▌| 520/544 [04:36<00:12, 1.89it/s][A
+
96%|█████████▌| 521/544 [04:36<00:13, 1.77it/s][A
+
96%|█████████▌| 522/544 [04:36<00:10, 2.14it/s][A
+
96%|█████████▌| 523/544 [04:37<00:12, 1.66it/s][A
+
96%|█████████▋| 524/544 [04:38<00:10, 1.91it/s][A
+
97%|█████████▋| 525/544 [04:38<00:08, 2.28it/s][A
+
97%|█████████▋| 526/544 [04:39<00:10, 1.68it/s][A
+
97%|█████████▋| 527/544 [04:39<00:08, 2.05it/s][A
+
97%|█████████▋| 528/544 [04:40<00:07, 2.20it/s][A
+
97%|█████████▋| 529/544 [04:40<00:08, 1.72it/s][A
+
97%|█████████▋| 530/544 [04:41<00:06, 2.09it/s][A
+
98%|█████████▊| 531/544 [04:41<00:07, 1.75it/s][A
+
98%|█████████▊| 532/544 [04:42<00:06, 1.84it/s][A
+
98%|█████████▊| 533/544 [04:42<00:04, 2.21it/s][A
+
98%|█████████▊| 534/544 [04:43<00:05, 1.67it/s][A
+
98%|█████████▊| 535/544 [04:43<00:04, 1.95it/s][A
+
99%|█████████▊| 536/544 [04:44<00:03, 2.20it/s][A
+
99%|█████████▊| 537/544 [04:45<00:04, 1.66it/s][A
+
99%|█████████▉| 538/544 [04:45<00:02, 2.02it/s][A
+
99%|█████████▉| 539/544 [04:45<00:02, 1.99it/s][A
+
99%|█████████▉| 540/544 [04:46<00:02, 1.75it/s][A
+
99%|█████████▉| 541/544 [04:46<00:01, 2.12it/s][A
+
100%|█████████▉| 542/544 [04:47<00:01, 1.66it/s][A
+
100%|█████████▉| 543/544 [04:48<00:00, 1.90it/s][A
+
100%|██████████| 544/544 [04:48<00:00, 2.07it/s][A
100%|██████████| 544/544 [04:48<00:00, 1.89it/s]
+
Processing frames: 100%|██████████| 1/1 [04:49<00:00, 289.18s/frame]
Processing frames: 100%|██████████| 1/1 [04:49<00:00, 289.18s/frame]
torch.Size([1, 1, 1360, 1360, 1])
python3 10_midgley.py
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:11<19:47, 12.00s/frame]
Processing frames: 2%|▏ | 2/100 [00:23<19:27, 11.91s/frame]
Processing frames: 3%|▎ | 3/100 [00:35<19:14, 11.90s/frame]
Processing frames: 4%|▍ | 4/100 [00:47<18:58, 11.86s/frame]
Processing frames: 5%|▌ | 5/100 [00:59<18:45, 11.84s/frame]
Processing frames: 6%|▌ | 6/100 [01:11<18:28, 11.79s/frame]
Processing frames: 7%|▋ | 7/100 [01:22<18:14, 11.77s/frame]
Processing frames: 8%|▊ | 8/100 [01:34<18:01, 11.76s/frame]
Processing frames: 9%|▉ | 9/100 [01:46<17:51, 11.77s/frame]
Processing frames: 10%|█ | 10/100 [01:58<17:40, 11.79s/frame]
Processing frames: 11%|█ | 11/100 [02:09<17:25, 11.75s/frame]
Processing frames: 12%|█▏ | 12/100 [02:21<17:16, 11.78s/frame]
Processing frames: 13%|█▎ | 13/100 [02:33<17:05, 11.79s/frame]
Processing frames: 14%|█▍ | 14/100 [02:45<16:54, 11.80s/frame]
Processing frames: 15%|█▌ | 15/100 [02:57<16:45, 11.82s/frame]
Processing frames: 16%|█▌ | 16/100 [03:08<16:30, 11.79s/frame]
Processing frames: 17%|█▋ | 17/100 [03:20<16:16, 11.77s/frame]
Processing frames: 18%|█▊ | 18/100 [03:32<16:02, 11.74s/frame]
Processing frames: 19%|█▉ | 19/100 [03:43<15:50, 11.74s/frame]
Processing frames: 20%|██ | 20/100 [03:55<15:41, 11.76s/frame]
Processing frames: 21%|██ | 21/100 [04:07<15:27, 11.74s/frame]
Processing frames: 22%|██▏ | 22/100 [04:19<15:16, 11.75s/frame]
Processing frames: 23%|██▎ | 23/100 [04:30<15:03, 11.74s/frame]
Processing frames: 24%|██▍ | 24/100 [04:42<14:50, 11.72s/frame]
Processing frames: 25%|██▌ | 25/100 [04:54<14:37, 11.71s/frame]
Processing frames: 26%|██▌ | 26/100 [05:05<14:24, 11.68s/frame]
Processing frames: 27%|██▋ | 27/100 [05:17<14:12, 11.67s/frame]
Processing frames: 28%|██▊ | 28/100 [05:29<14:00, 11.67s/frame]
Processing frames: 29%|██▉ | 29/100 [05:40<13:48, 11.67s/frame]
Processing frames: 30%|███ | 30/100 [05:52<13:36, 11.66s/frame]WARNING:root:One or more frames reloaded from cache: psi_data/torch_fe744f808a34
-
Processing frames: 31%|███ | 31/100 [05:52<09:27, 8.23s/frame]
Processing frames: 32%|███▏ | 32/100 [05:53<06:39, 5.88s/frame]
Processing frames: 33%|███▎ | 33/100 [05:53<04:38, 4.16s/frame]
Processing frames: 34%|███▍ | 34/100 [05:53<03:16, 2.98s/frame]
Processing frames: 35%|███▌ | 35/100 [05:53<02:19, 2.15s/frame]
Processing frames: 36%|███▌ | 36/100 [05:53<01:40, 1.57s/frame]
Processing frames: 37%|███▋ | 37/100 [05:54<01:12, 1.15s/frame]
Processing frames: 38%|███▊ | 38/100 [05:54<00:55, 1.11frame/s]
Processing frames: 39%|███▉ | 39/100 [05:54<00:43, 1.40frame/s]
Processing frames: 40%|████ | 40/100 [05:55<00:35, 1.69frame/s]
Processing frames: 41%|████ | 41/100 [05:55<00:28, 2.06frame/s]
Processing frames: 42%|████▏ | 42/100 [05:55<00:25, 2.30frame/s]
Processing frames: 43%|████▎ | 43/100 [05:56<00:25, 2.22frame/s]
Processing frames: 44%|████▍ | 44/100 [05:56<00:21, 2.67frame/s]
Processing frames: 45%|████▌ | 45/100 [05:56<00:18, 2.94frame/s]
Processing frames: 46%|████▌ | 46/100 [05:56<00:16, 3.34frame/s]
Processing frames: 47%|████▋ | 47/100 [05:57<00:15, 3.44frame/s]
Processing frames: 48%|████▊ | 48/100 [05:57<00:15, 3.38frame/s]
Processing frames: 49%|████▉ | 49/100 [05:57<00:14, 3.51frame/s]
Processing frames: 50%|█████ | 50/100 [05:57<00:13, 3.63frame/s]
Processing frames: 51%|█████ | 51/100 [05:58<00:13, 3.54frame/s]
Processing frames: 52%|█████▏ | 52/100 [05:58<00:14, 3.31frame/s]
Processing frames: 53%|█████▎ | 53/100 [05:59<00:16, 2.77frame/s]
Processing frames: 54%|█████▍ | 54/100 [05:59<00:14, 3.15frame/s]
Processing frames: 55%|█████▌ | 55/100 [05:59<00:12, 3.61frame/s]
Processing frames: 56%|█████▌ | 56/100 [05:59<00:12, 3.47frame/s]
Processing frames: 57%|█████▋ | 57/100 [05:59<00:12, 3.57frame/s]
Processing frames: 58%|█████▊ | 58/100 [06:00<00:10, 3.94frame/s]
Processing frames: 59%|█████▉ | 59/100 [06:00<00:09, 4.39frame/s]
Processing frames: 60%|██████ | 60/100 [06:00<00:09, 4.11frame/s]
Processing frames: 61%|██████ | 61/100 [06:00<00:09, 4.19frame/s]
Processing frames: 62%|██████▏ | 62/100 [06:01<00:09, 4.00frame/s]
Processing frames: 63%|██████▎ | 63/100 [06:01<00:10, 3.66frame/s]
Processing frames: 64%|██████▍ | 64/100 [06:01<00:09, 3.89frame/s]
Processing frames: 65%|██████▌ | 65/100 [06:01<00:09, 3.68frame/s]
Processing frames: 66%|██████▌ | 66/100 [06:02<00:08, 3.89frame/s]
Processing frames: 67%|██████▋ | 67/100 [06:02<00:07, 4.30frame/s]
Processing frames: 68%|██████▊ | 68/100 [06:02<00:06, 4.63frame/s]
Processing frames: 69%|██████▉ | 69/100 [06:02<00:07, 4.36frame/s]
Processing frames: 70%|███████ | 70/100 [06:03<00:07, 4.10frame/s]
Processing frames: 71%|███████ | 71/100 [06:03<00:07, 3.81frame/s]
Processing frames: 72%|███████▏ | 72/100 [06:03<00:06, 4.10frame/s]
Processing frames: 73%|███████▎ | 73/100 [06:03<00:06, 4.23frame/s]
Processing frames: 74%|███████▍ | 74/100 [06:04<00:06, 3.72frame/s]
Processing frames: 75%|███████▌ | 75/100 [06:04<00:06, 3.79frame/s]
Processing frames: 76%|███████▌ | 76/100 [06:04<00:07, 3.25frame/s]
Processing frames: 77%|███████▋ | 77/100 [06:05<00:07, 3.26frame/s]
Processing frames: 78%|███████▊ | 78/100 [06:05<00:06, 3.55frame/s]
Processing frames: 79%|███████▉ | 79/100 [06:05<00:05, 3.72frame/s]
Processing frames: 80%|████████ | 80/100 [06:05<00:05, 3.69frame/s]
Processing frames: 81%|████████ | 81/100 [06:06<00:05, 3.28frame/s]
Processing frames: 82%|████████▏ | 82/100 [06:06<00:06, 2.71frame/s]
Processing frames: 83%|████████▎ | 83/100 [06:07<00:06, 2.79frame/s]
Processing frames: 84%|████████▍ | 84/100 [06:07<00:05, 3.11frame/s]
Processing frames: 85%|████████▌ | 85/100 [06:07<00:04, 3.42frame/s]
Processing frames: 86%|████████▌ | 86/100 [06:07<00:03, 3.78frame/s]
Processing frames: 87%|████████▋ | 87/100 [06:08<00:03, 3.78frame/s]
Processing frames: 88%|████████▊ | 88/100 [06:08<00:03, 3.97frame/s]
Processing frames: 89%|████████▉ | 89/100 [06:08<00:03, 3.56frame/s]
Processing frames: 90%|█████████ | 90/100 [06:08<00:02, 3.43frame/s]
Processing frames: 91%|█████████ | 91/100 [06:09<00:02, 3.50frame/s]
Processing frames: 92%|█████████▏| 92/100 [06:09<00:02, 3.60frame/s]
Processing frames: 93%|█████████▎| 93/100 [06:09<00:02, 3.10frame/s]
Processing frames: 94%|█████████▍| 94/100 [06:10<00:02, 2.84frame/s]
Processing frames: 95%|█████████▌| 95/100 [06:10<00:01, 2.88frame/s]
Processing frames: 96%|█████████▌| 96/100 [06:10<00:01, 3.09frame/s]
Processing frames: 97%|█████████▋| 97/100 [06:11<00:00, 3.40frame/s]
Processing frames: 98%|█████████▊| 98/100 [06:11<00:00, 3.92frame/s]
Processing frames: 99%|█████████▉| 99/100 [06:11<00:00, 4.09frame/s]
Processing frames: 100%|██████████| 100/100 [06:11<00:00, 4.03frame/s]
Processing frames: 100%|██████████| 100/100 [06:11<00:00, 3.72s/frame]
-tacaw > wfdata torch.Size([1, 100, 1495, 1295, 1])
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:12<19:55, 12.08s/frame]
Processing frames: 2%|▏ | 2/100 [00:24<19:40, 12.04s/frame]
Processing frames: 3%|▎ | 3/100 [00:36<19:22, 11.98s/frame]
Processing frames: 4%|▍ | 4/100 [00:47<19:07, 11.96s/frame]
Processing frames: 5%|▌ | 5/100 [00:59<18:53, 11.93s/frame]
Processing frames: 6%|▌ | 6/100 [01:11<18:42, 11.94s/frame]
Processing frames: 7%|▋ | 7/100 [01:23<18:30, 11.94s/frame]
Processing frames: 8%|▊ | 8/100 [01:35<18:12, 11.88s/frame]
Processing frames: 9%|▉ | 9/100 [01:47<17:58, 11.86s/frame]
Processing frames: 10%|█ | 10/100 [01:59<17:49, 11.88s/frame]
Processing frames: 11%|█ | 11/100 [02:11<17:39, 11.91s/frame]
Processing frames: 12%|█▏ | 12/100 [02:23<17:30, 11.94s/frame]
Processing frames: 13%|█▎ | 13/100 [02:35<17:19, 11.94s/frame]
Processing frames: 14%|█▍ | 14/100 [02:47<17:06, 11.94s/frame]
Processing frames: 15%|█▌ | 15/100 [02:58<16:49, 11.88s/frame]
Processing frames: 16%|█▌ | 16/100 [03:10<16:34, 11.84s/frame]
Processing frames: 17%|█▋ | 17/100 [03:22<16:22, 11.84s/frame]
Processing frames: 18%|█▊ | 18/100 [03:34<16:15, 11.89s/frame]
Processing frames: 19%|█▉ | 19/100 [03:46<16:04, 11.91s/frame]
Processing frames: 20%|██ | 20/100 [03:58<15:55, 11.94s/frame]
Processing frames: 21%|██ | 21/100 [04:10<15:39, 11.90s/frame]
Processing frames: 22%|██▏ | 22/100 [04:22<15:32, 11.96s/frame]
Processing frames: 23%|██▎ | 23/100 [04:34<15:16, 11.90s/frame]
Processing frames: 24%|██▍ | 24/100 [04:45<15:00, 11.85s/frame]
Processing frames: 25%|██▌ | 25/100 [04:57<14:48, 11.85s/frame]
Processing frames: 26%|██▌ | 26/100 [05:09<14:35, 11.83s/frame]
Processing frames: 27%|██▋ | 27/100 [05:21<14:28, 11.90s/frame]
Processing frames: 28%|██▊ | 28/100 [05:33<14:17, 11.91s/frame]
Processing frames: 29%|██▉ | 29/100 [05:45<14:05, 11.91s/frame]
Processing frames: 30%|███ | 30/100 [05:57<13:53, 11.91s/frame]
Processing frames: 31%|███ | 31/100 [06:08<13:38, 11.87s/frame]
Processing frames: 32%|███▏ | 32/100 [06:20<13:27, 11.87s/frame]
Processing frames: 33%|███▎ | 33/100 [06:32<13:14, 11.87s/frame]
Processing frames: 34%|███▍ | 34/100 [06:44<13:00, 11.83s/frame]
Processing frames: 35%|███▌ | 35/100 [06:56<12:47, 11.81s/frame]
Processing frames: 36%|███▌ | 36/100 [07:07<12:34, 11.79s/frame]
Processing frames: 37%|███▋ | 37/100 [07:19<12:21, 11.78s/frame]
Processing frames: 38%|███▊ | 38/100 [07:31<12:09, 11.77s/frame]
Processing frames: 39%|███▉ | 39/100 [07:43<11:57, 11.76s/frame]
Processing frames: 40%|████ | 40/100 [07:54<11:46, 11.77s/frame]
Processing frames: 41%|████ | 41/100 [08:06<11:35, 11.79s/frame]
Processing frames: 42%|████▏ | 42/100 [08:18<11:23, 11.79s/frame]
Processing frames: 43%|████▎ | 43/100 [08:30<11:11, 11.78s/frame]
Processing frames: 44%|████▍ | 44/100 [08:42<10:58, 11.76s/frame]
Processing frames: 45%|████▌ | 45/100 [08:53<10:46, 11.76s/frame]
Processing frames: 46%|████▌ | 46/100 [09:05<10:34, 11.75s/frame]
Processing frames: 47%|████▋ | 47/100 [09:17<10:22, 11.75s/frame]
Processing frames: 48%|████▊ | 48/100 [09:29<10:11, 11.76s/frame]
Processing frames: 49%|████▉ | 49/100 [09:40<09:59, 11.75s/frame]
Processing frames: 50%|█████ | 50/100 [09:52<09:48, 11.77s/frame]
Processing frames: 51%|█████ | 51/100 [10:04<09:36, 11.77s/frame]
Processing frames: 52%|█████▏ | 52/100 [10:16<09:25, 11.77s/frame]
Processing frames: 53%|█████▎ | 53/100 [10:27<09:13, 11.77s/frame]
Processing frames: 54%|█████▍ | 54/100 [10:39<09:00, 11.76s/frame]
Processing frames: 55%|█████▌ | 55/100 [10:51<08:48, 11.75s/frame]
Processing frames: 56%|█████▌ | 56/100 [11:03<08:37, 11.77s/frame]
Processing frames: 57%|█████▋ | 57/100 [11:14<08:25, 11.75s/frame]
Processing frames: 58%|█████▊ | 58/100 [11:26<08:14, 11.77s/frame]
Processing frames: 59%|█████▉ | 59/100 [11:38<08:05, 11.85s/frame]
Processing frames: 60%|██████ | 60/100 [11:50<07:54, 11.85s/frame]
Processing frames: 61%|██████ | 61/100 [12:02<07:44, 11.91s/frame]
Processing frames: 62%|██████▏ | 62/100 [12:14<07:31, 11.88s/frame]
Processing frames: 63%|██████▎ | 63/100 [12:26<07:21, 11.93s/frame]
Processing frames: 64%|██████▍ | 64/100 [12:38<07:08, 11.91s/frame]
Processing frames: 65%|██████▌ | 65/100 [12:50<06:56, 11.90s/frame]
Processing frames: 66%|██████▌ | 66/100 [13:02<06:44, 11.90s/frame]
Processing frames: 67%|██████▋ | 67/100 [13:14<06:32, 11.89s/frame]
Processing frames: 68%|██████▊ | 68/100 [13:25<06:20, 11.89s/frame]
Processing frames: 69%|██████▉ | 69/100 [13:37<06:07, 11.87s/frame]
Processing frames: 70%|███████ | 70/100 [13:49<05:55, 11.87s/frame]
Processing frames: 71%|███████ | 71/100 [14:01<05:44, 11.87s/frame]
Processing frames: 72%|███████▏ | 72/100 [14:13<05:32, 11.89s/frame]
Processing frames: 73%|███████▎ | 73/100 [14:25<05:21, 11.90s/frame]
Processing frames: 74%|███████▍ | 74/100 [14:37<05:09, 11.90s/frame]
Processing frames: 75%|███████▌ | 75/100 [14:49<04:57, 11.90s/frame]
Processing frames: 76%|███████▌ | 76/100 [15:01<04:45, 11.92s/frame]
Processing frames: 77%|███████▋ | 77/100 [15:13<04:33, 11.91s/frame]
Processing frames: 78%|███████▊ | 78/100 [15:24<04:21, 11.91s/frame]
Processing frames: 79%|███████▉ | 79/100 [15:36<04:08, 11.85s/frame]
Processing frames: 80%|████████ | 80/100 [15:48<03:56, 11.82s/frame]
Processing frames: 81%|████████ | 81/100 [16:00<03:44, 11.81s/frame]
Processing frames: 82%|████████▏ | 82/100 [16:11<03:32, 11.81s/frame]
Processing frames: 83%|████████▎ | 83/100 [16:23<03:20, 11.80s/frame]
Processing frames: 84%|████████▍ | 84/100 [16:35<03:09, 11.82s/frame]
Processing frames: 85%|████████▌ | 85/100 [16:47<02:57, 11.84s/frame]
Processing frames: 86%|████████▌ | 86/100 [16:59<02:45, 11.84s/frame]
Processing frames: 87%|████████▋ | 87/100 [17:11<02:33, 11.83s/frame]
Processing frames: 88%|████████▊ | 88/100 [17:22<02:21, 11.82s/frame]
Processing frames: 89%|████████▉ | 89/100 [17:34<02:10, 11.82s/frame]
Processing frames: 90%|█████████ | 90/100 [17:46<01:58, 11.81s/frame]
Processing frames: 91%|█████████ | 91/100 [17:58<01:46, 11.81s/frame]
Processing frames: 92%|█████████▏| 92/100 [18:10<01:34, 11.80s/frame]
Processing frames: 93%|█████████▎| 93/100 [18:21<01:22, 11.80s/frame]
Processing frames: 94%|█████████▍| 94/100 [18:33<01:10, 11.82s/frame]
Processing frames: 95%|█████████▌| 95/100 [18:45<00:59, 11.82s/frame]
Processing frames: 96%|█████████▌| 96/100 [18:57<00:47, 11.83s/frame]
Processing frames: 97%|█████████▋| 97/100 [19:09<00:35, 11.82s/frame]
Processing frames: 98%|█████████▊| 98/100 [19:21<00:23, 11.83s/frame]
Processing frames: 99%|█████████▉| 99/100 [19:33<00:11, 11.84s/frame]
Processing frames: 100%|██████████| 100/100 [19:44<00:00, 11.83s/frame]
Processing frames: 100%|██████████| 100/100 [19:44<00:00, 11.85s/frame]
python3 11_SED.py
+failed to import pySEA: No module named 'pySEA'
python3 12_aberrations.py
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:32, 5.37s/it]
29%|██▊ | 2/7 [00:10<00:26, 5.24s/it]
43%|████▎ | 3/7 [00:15<00:20, 5.24s/it]
57%|█████▋ | 4/7 [00:20<00:15, 5.22s/it]
71%|███████▏ | 5/7 [00:26<00:10, 5.20s/it]
86%|████████▌ | 6/7 [00:31<00:05, 5.20s/it]
100%|██████████| 7/7 [00:36<00:00, 5.19s/it]
100%|██████████| 7/7 [00:36<00:00, 5.21s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:30, 5.16s/it]
29%|██▊ | 2/7 [00:10<00:25, 5.18s/it]
43%|████▎ | 3/7 [00:15<00:20, 5.18s/it]
57%|█████▋ | 4/7 [00:20<00:15, 5.17s/it]
71%|███████▏ | 5/7 [00:25<00:10, 5.17s/it]
86%|████████▌ | 6/7 [00:31<00:05, 5.17s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:31, 5.19s/it]
29%|██▊ | 2/7 [00:10<00:25, 5.18s/it]
43%|████▎ | 3/7 [00:15<00:20, 5.18s/it]
57%|█████▋ | 4/7 [00:20<00:15, 5.18s/it]
71%|███████▏ | 5/7 [00:25<00:10, 5.17s/it]
86%|████████▌ | 6/7 [00:31<00:05, 5.17s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:30, 5.16s/it]
29%|██▊ | 2/7 [00:10<00:25, 5.17s/it]
43%|████▎ | 3/7 [00:15<00:20, 5.17s/it]
57%|█████▋ | 4/7 [00:20<00:15, 5.17s/it]
71%|███████▏ | 5/7 [00:25<00:10, 5.17s/it]
86%|████████▌ | 6/7 [00:31<00:05, 5.17s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
100%|██████████| 7/7 [00:36<00:00, 5.17s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:31, 5.17s/it]
29%|██▊ | 2/7 [00:10<00:25, 5.18s/it]
43%|████▎ | 3/7 [00:15<00:20, 5.19s/it]
57%|█████▋ | 4/7 [00:20<00:15, 5.18s/it]
71%|███████▏ | 5/7 [00:25<00:10, 5.17s/it]
86%|████████▌ | 6/7 [00:31<00:05, 5.18s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:31, 5.18s/it]
29%|██▊ | 2/7 [00:10<00:25, 5.18s/it]
43%|████▎ | 3/7 [00:15<00:20, 5.18s/it]
57%|█████▋ | 4/7 [00:20<00:15, 5.18s/it]
71%|███████▏ | 5/7 [00:25<00:10, 5.18s/it]
86%|████████▌ | 6/7 [00:31<00:05, 5.18s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
100%|██████████| 7/7 [00:36<00:00, 5.18s/it]
+failed to import pySEA: No module named 'pySEA'
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:33, 5.53s/it]
29%|██▊ | 2/7 [00:10<00:27, 5.42s/it]
43%|████▎ | 3/7 [00:16<00:21, 5.38s/it]
57%|█████▋ | 4/7 [00:21<00:16, 5.36s/it]
71%|███████▏ | 5/7 [00:26<00:10, 5.37s/it]
86%|████████▌ | 6/7 [00:32<00:05, 5.36s/it]
100%|██████████| 7/7 [00:37<00:00, 5.34s/it]
100%|██████████| 7/7 [00:37<00:00, 5.37s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:32, 5.35s/it]
29%|██▊ | 2/7 [00:10<00:26, 5.34s/it]
43%|████▎ | 3/7 [00:16<00:21, 5.34s/it]
57%|█████▋ | 4/7 [00:21<00:15, 5.33s/it]
71%|███████▏ | 5/7 [00:26<00:10, 5.34s/it]
86%|████████▌ | 6/7 [00:32<00:05, 5.33s/it]
100%|██████████| 7/7 [00:37<00:00, 5.34s/it]
100%|██████████| 7/7 [00:37<00:00, 5.34s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:32, 5.34s/it]
29%|██▊ | 2/7 [00:10<00:26, 5.32s/it]
43%|████▎ | 3/7 [00:16<00:21, 5.34s/it]
57%|█████▋ | 4/7 [00:21<00:16, 5.34s/it]
71%|███████▏ | 5/7 [00:26<00:10, 5.33s/it]
86%|████████▌ | 6/7 [00:32<00:05, 5.35s/it]
100%|██████████| 7/7 [00:37<00:00, 5.34s/it]
100%|██████████| 7/7 [00:37<00:00, 5.34s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:32, 5.36s/it]
29%|██▊ | 2/7 [00:10<00:26, 5.33s/it]
43%|████▎ | 3/7 [00:15<00:21, 5.33s/it]
57%|█████▋ | 4/7 [00:21<00:15, 5.33s/it]
71%|███████▏ | 5/7 [00:26<00:10, 5.33s/it]
86%|████████▌ | 6/7 [00:31<00:05, 5.33s/it]
100%|██████████| 7/7 [00:37<00:00, 5.33s/it]
100%|██████████| 7/7 [00:37<00:00, 5.33s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:32, 5.35s/it]
29%|██▊ | 2/7 [00:10<00:26, 5.33s/it]
43%|████▎ | 3/7 [00:16<00:21, 5.34s/it]
57%|█████▋ | 4/7 [00:21<00:16, 5.34s/it]
71%|███████▏ | 5/7 [00:26<00:10, 5.33s/it]
86%|████████▌ | 6/7 [00:32<00:05, 5.35s/it]
100%|██████████| 7/7 [00:37<00:00, 5.34s/it]
100%|██████████| 7/7 [00:37<00:00, 5.34s/it]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:05<00:31, 5.32s/it]
29%|██▊ | 2/7 [00:10<00:26, 5.33s/it]
43%|████▎ | 3/7 [00:16<00:21, 5.34s/it]
57%|█████▋ | 4/7 [00:21<00:15, 5.32s/it]
71%|███████▏ | 5/7 [00:26<00:10, 5.31s/it]
86%|████████▌ | 6/7 [00:32<00:05, 5.35s/it]
100%|██████████| 7/7 [00:37<00:00, 5.35s/it]
100%|██████████| 7/7 [00:37<00:00, 5.34s/it]
diff --git a/tests/runAllTests-torchgpu.log b/tests/runAllTests-torchgpu.log
index 1fb188f..a2cdfd5 100644
--- a/tests/runAllTests-torchgpu.log
+++ b/tests/runAllTests-torchgpu.log
@@ -1,47 +1,56 @@
-Sat Jan 10 11:15:26 EST 2026
+Wed Feb 4 16:18:21 EST 2026
python3 00_probe.py
import failed, falling back to relative paths
-probe import took 37.39998960494995 s
-differ import took 0.00021147727966308594 s
+failed to import pySEA: No module named 'pySEA'
+probe import took 37.09689497947693 s
+differ import took 0.006930351257324219 s
python3 01_potentials.py
+failed to import pySEA: No module named 'pySEA'
(1495, 1295, 21)
python3 02_propagate_otf=False.py
+failed to import pySEA: No module named 'pySEA'
python3 02_propagate_otf=True.py
+failed to import pySEA: No module named 'pySEA'
python3 03_manyprobes.py
+failed to import pySEA: No module named 'pySEA'
(256, 250, 216)
python3 04_haadf.py
-
Processing frames: 0%| | 0/3 [00:00, ?frame/s]
Processing frames: 33%|███▎ | 1/3 [00:00<00:00, 3.51frame/s]
Processing frames: 67%|██████▋ | 2/3 [00:00<00:00, 4.29frame/s]
Processing frames: 100%|██████████| 3/3 [00:00<00:00, 4.62frame/s]
Processing frames: 100%|██████████| 3/3 [00:00<00:00, 4.42frame/s]
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/3 [00:00, ?frame/s]
Processing frames: 33%|███▎ | 1/3 [00:00<00:01, 1.73frame/s]
Processing frames: 67%|██████▋ | 2/3 [00:01<00:00, 1.98frame/s]
Processing frames: 100%|██████████| 3/3 [00:01<00:00, 2.07frame/s]
Processing frames: 100%|██████████| 3/3 [00:01<00:00, 2.01frame/s]
+ERROR: pySEA import failed, this functionality is not available
python3 05_tacaw.py
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:00<00:32, 3.03frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:23, 4.25frame/s]
Processing frames: 3%|▎ | 3/100 [00:00<00:19, 4.86frame/s]
Processing frames: 4%|▍ | 4/100 [00:00<00:19, 4.97frame/s]
Processing frames: 5%|▌ | 5/100 [00:01<00:18, 5.26frame/s]
Processing frames: 6%|▌ | 6/100 [00:01<00:17, 5.45frame/s]
Processing frames: 7%|▋ | 7/100 [00:01<00:16, 5.65frame/s]
Processing frames: 8%|▊ | 8/100 [00:01<00:16, 5.61frame/s]
Processing frames: 9%|▉ | 9/100 [00:01<00:15, 5.78frame/s]
Processing frames: 10%|█ | 10/100 [00:01<00:15, 5.89frame/s]
Processing frames: 11%|█ | 11/100 [00:02<00:16, 5.50frame/s]
Processing frames: 12%|█▏ | 12/100 [00:02<00:15, 5.62frame/s]
Processing frames: 13%|█▎ | 13/100 [00:02<00:15, 5.69frame/s]
Processing frames: 14%|█▍ | 14/100 [00:02<00:15, 5.72frame/s]
Processing frames: 15%|█▌ | 15/100 [00:02<00:14, 5.76frame/s]
Processing frames: 16%|█▌ | 16/100 [00:02<00:14, 5.78frame/s]
Processing frames: 17%|█▋ | 17/100 [00:03<00:14, 5.65frame/s]
Processing frames: 18%|█▊ | 18/100 [00:03<00:14, 5.77frame/s]
Processing frames: 19%|█▉ | 19/100 [00:03<00:13, 5.80frame/s]
Processing frames: 20%|██ | 20/100 [00:03<00:13, 5.83frame/s]
Processing frames: 21%|██ | 21/100 [00:03<00:13, 5.84frame/s]
Processing frames: 22%|██▏ | 22/100 [00:03<00:13, 5.82frame/s]
Processing frames: 23%|██▎ | 23/100 [00:04<00:15, 4.87frame/s]
Processing frames: 24%|██▍ | 24/100 [00:04<00:14, 5.20frame/s]
Processing frames: 25%|██▌ | 25/100 [00:04<00:13, 5.44frame/s]
Processing frames: 26%|██▌ | 26/100 [00:04<00:13, 5.66frame/s]
Processing frames: 27%|██▋ | 27/100 [00:04<00:12, 5.78frame/s]
Processing frames: 28%|██▊ | 28/100 [00:05<00:12, 5.84frame/s]
Processing frames: 29%|██▉ | 29/100 [00:05<00:12, 5.89frame/s]
Processing frames: 30%|███ | 30/100 [00:05<00:11, 5.91frame/s]
Processing frames: 31%|███ | 31/100 [00:05<00:11, 5.96frame/s]
Processing frames: 32%|███▏ | 32/100 [00:05<00:11, 5.98frame/s]
Processing frames: 33%|███▎ | 33/100 [00:05<00:11, 6.03frame/s]
Processing frames: 34%|███▍ | 34/100 [00:06<00:10, 6.08frame/s]
Processing frames: 35%|███▌ | 35/100 [00:06<00:10, 6.01frame/s]
Processing frames: 36%|███▌ | 36/100 [00:06<00:10, 5.96frame/s]
Processing frames: 37%|███▋ | 37/100 [00:06<00:10, 5.96frame/s]
Processing frames: 38%|███▊ | 38/100 [00:06<00:10, 5.82frame/s]
Processing frames: 39%|███▉ | 39/100 [00:06<00:10, 5.79frame/s]
Processing frames: 40%|████ | 40/100 [00:07<00:10, 5.83frame/s]
Processing frames: 41%|████ | 41/100 [00:07<00:10, 5.86frame/s]
Processing frames: 42%|████▏ | 42/100 [00:07<00:09, 5.89frame/s]
Processing frames: 43%|████▎ | 43/100 [00:07<00:09, 5.86frame/s]
Processing frames: 44%|████▍ | 44/100 [00:07<00:09, 5.80frame/s]
Processing frames: 45%|████▌ | 45/100 [00:07<00:09, 5.80frame/s]
Processing frames: 46%|████▌ | 46/100 [00:08<00:09, 5.73frame/s]
Processing frames: 47%|████▋ | 47/100 [00:08<00:09, 5.69frame/s]
Processing frames: 48%|████▊ | 48/100 [00:08<00:09, 5.72frame/s]
Processing frames: 49%|████▉ | 49/100 [00:08<00:08, 5.81frame/s]
Processing frames: 50%|█████ | 50/100 [00:08<00:08, 5.84frame/s]
Processing frames: 51%|█████ | 51/100 [00:08<00:08, 5.86frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:09<00:08, 5.91frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:09<00:07, 5.97frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:09<00:07, 5.96frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:09<00:07, 5.98frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:09<00:07, 6.00frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:09<00:07, 6.06frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:10<00:06, 6.09frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:10<00:06, 6.07frame/s]
Processing frames: 60%|██████ | 60/100 [00:10<00:06, 6.08frame/s]
Processing frames: 61%|██████ | 61/100 [00:10<00:06, 6.06frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:10<00:06, 6.05frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:10<00:06, 6.07frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:11<00:05, 6.07frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:11<00:05, 6.11frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:11<00:05, 6.06frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:11<00:05, 5.96frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:11<00:05, 5.96frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:11<00:05, 5.81frame/s]
Processing frames: 70%|███████ | 70/100 [00:12<00:05, 5.55frame/s]
Processing frames: 71%|███████ | 71/100 [00:12<00:05, 5.59frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:12<00:04, 5.66frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:12<00:04, 5.80frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:12<00:04, 5.90frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:13<00:04, 5.88frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:13<00:04, 5.93frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:13<00:03, 5.99frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:13<00:03, 5.85frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:13<00:03, 5.84frame/s]
Processing frames: 80%|████████ | 80/100 [00:13<00:03, 5.95frame/s]
Processing frames: 81%|████████ | 81/100 [00:14<00:03, 5.99frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:14<00:03, 5.99frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:14<00:02, 6.01frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:14<00:02, 6.02frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:14<00:02, 6.03frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:14<00:02, 5.91frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:15<00:02, 5.93frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:15<00:02, 5.95frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:15<00:01, 5.97frame/s]
Processing frames: 90%|█████████ | 90/100 [00:15<00:01, 5.99frame/s]
Processing frames: 91%|█████████ | 91/100 [00:15<00:01, 6.01frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:15<00:01, 6.04frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:16<00:01, 6.02frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:16<00:01, 5.94frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:16<00:00, 5.97frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:16<00:00, 5.96frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:16<00:00, 5.99frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:16<00:00, 5.99frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:17<00:00, 6.01frame/s]
Processing frames: 100%|██████████| 100/100 [00:17<00:00, 6.04frame/s]
Processing frames: 100%|██████████| 100/100 [00:17<00:00, 5.81frame/s]
-tacaw > wfdata torch.Size([1, 100, 1495, 1295, 1])
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:00<00:33, 2.94frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:23, 4.15frame/s]
Processing frames: 3%|▎ | 3/100 [00:00<00:20, 4.78frame/s]
Processing frames: 4%|▍ | 4/100 [00:00<00:18, 5.19frame/s]
Processing frames: 5%|▌ | 5/100 [00:01<00:17, 5.45frame/s]
Processing frames: 6%|▌ | 6/100 [00:01<00:16, 5.66frame/s]
Processing frames: 7%|▋ | 7/100 [00:01<00:16, 5.69frame/s]
Processing frames: 8%|▊ | 8/100 [00:01<00:15, 5.84frame/s]
Processing frames: 9%|▉ | 9/100 [00:01<00:15, 5.86frame/s]
Processing frames: 10%|█ | 10/100 [00:01<00:15, 5.96frame/s]
Processing frames: 11%|█ | 11/100 [00:02<00:14, 6.03frame/s]
Processing frames: 12%|█▏ | 12/100 [00:02<00:14, 6.11frame/s]
Processing frames: 13%|█▎ | 13/100 [00:02<00:14, 6.08frame/s]
Processing frames: 14%|█▍ | 14/100 [00:02<00:14, 6.10frame/s]
Processing frames: 15%|█▌ | 15/100 [00:02<00:14, 6.07frame/s]
Processing frames: 16%|█▌ | 16/100 [00:02<00:13, 6.09frame/s]
Processing frames: 17%|█▋ | 17/100 [00:02<00:13, 6.10frame/s]
Processing frames: 18%|█▊ | 18/100 [00:03<00:13, 6.08frame/s]
Processing frames: 19%|█▉ | 19/100 [00:03<00:13, 6.00frame/s]
Processing frames: 20%|██ | 20/100 [00:03<00:13, 5.97frame/s]
Processing frames: 21%|██ | 21/100 [00:03<00:13, 5.98frame/s]
Processing frames: 22%|██▏ | 22/100 [00:03<00:12, 6.03frame/s]
Processing frames: 23%|██▎ | 23/100 [00:03<00:12, 5.97frame/s]
Processing frames: 24%|██▍ | 24/100 [00:04<00:12, 6.04frame/s]
Processing frames: 25%|██▌ | 25/100 [00:04<00:12, 6.06frame/s]
Processing frames: 26%|██▌ | 26/100 [00:04<00:12, 6.06frame/s]
Processing frames: 27%|██▋ | 27/100 [00:04<00:12, 6.04frame/s]
Processing frames: 28%|██▊ | 28/100 [00:04<00:12, 5.92frame/s]
Processing frames: 29%|██▉ | 29/100 [00:04<00:11, 6.01frame/s]
Processing frames: 30%|███ | 30/100 [00:05<00:11, 6.07frame/s]
Processing frames: 31%|███ | 31/100 [00:05<00:11, 6.10frame/s]
Processing frames: 32%|███▏ | 32/100 [00:05<00:11, 6.10frame/s]
Processing frames: 33%|███▎ | 33/100 [00:05<00:11, 6.07frame/s]
Processing frames: 34%|███▍ | 34/100 [00:05<00:10, 6.06frame/s]
Processing frames: 35%|███▌ | 35/100 [00:05<00:10, 6.04frame/s]
Processing frames: 36%|███▌ | 36/100 [00:06<00:10, 6.10frame/s]
Processing frames: 37%|███▋ | 37/100 [00:06<00:10, 6.08frame/s]
Processing frames: 38%|███▊ | 38/100 [00:06<00:10, 6.12frame/s]
Processing frames: 39%|███▉ | 39/100 [00:06<00:09, 6.16frame/s]
Processing frames: 40%|████ | 40/100 [00:06<00:09, 6.20frame/s]
Processing frames: 41%|████ | 41/100 [00:06<00:09, 6.21frame/s]
Processing frames: 42%|████▏ | 42/100 [00:07<00:09, 6.21frame/s]
Processing frames: 43%|████▎ | 43/100 [00:07<00:09, 6.15frame/s]
Processing frames: 44%|████▍ | 44/100 [00:07<00:09, 5.95frame/s]
Processing frames: 45%|████▌ | 45/100 [00:07<00:09, 5.95frame/s]
Processing frames: 46%|████▌ | 46/100 [00:07<00:08, 6.00frame/s]
Processing frames: 47%|████▋ | 47/100 [00:07<00:08, 6.05frame/s]
Processing frames: 48%|████▊ | 48/100 [00:08<00:08, 6.12frame/s]
Processing frames: 49%|████▉ | 49/100 [00:08<00:08, 6.17frame/s]
Processing frames: 50%|█████ | 50/100 [00:08<00:08, 6.21frame/s]
Processing frames: 51%|█████ | 51/100 [00:08<00:07, 6.13frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:08<00:07, 6.16frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:08<00:07, 6.19frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:09<00:07, 6.19frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:09<00:07, 6.20frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:09<00:07, 6.22frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:09<00:06, 6.23frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:09<00:06, 6.26frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:09<00:06, 6.23frame/s]
Processing frames: 60%|██████ | 60/100 [00:10<00:06, 6.21frame/s]
Processing frames: 61%|██████ | 61/100 [00:10<00:06, 6.16frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:10<00:06, 6.14frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:10<00:06, 6.16frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:10<00:07, 4.97frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:10<00:06, 5.23frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:11<00:06, 5.45frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:11<00:05, 5.61frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:11<00:05, 5.74frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:11<00:05, 5.80frame/s]
Processing frames: 70%|███████ | 70/100 [00:11<00:05, 5.88frame/s]
Processing frames: 71%|███████ | 71/100 [00:11<00:04, 5.90frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:12<00:04, 5.90frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:12<00:04, 5.81frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:12<00:04, 5.90frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:12<00:04, 5.90frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:12<00:04, 5.99frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:12<00:03, 5.96frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:13<00:03, 6.03frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:13<00:03, 6.09frame/s]
Processing frames: 80%|████████ | 80/100 [00:13<00:03, 6.11frame/s]
Processing frames: 81%|████████ | 81/100 [00:13<00:03, 6.08frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:13<00:02, 6.12frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:13<00:02, 6.13frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:14<00:02, 6.15frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:14<00:02, 6.10frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:14<00:02, 6.14frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:14<00:02, 6.14frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:14<00:01, 6.18frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:14<00:01, 6.18frame/s]
Processing frames: 90%|█████████ | 90/100 [00:15<00:01, 6.18frame/s]
Processing frames: 91%|█████████ | 91/100 [00:15<00:01, 6.08frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:15<00:01, 6.13frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:15<00:01, 6.10frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:15<00:00, 6.14frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:15<00:00, 6.15frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:16<00:00, 6.14frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:16<00:00, 6.11frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:16<00:00, 6.12frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:16<00:00, 6.15frame/s]
Processing frames: 100%|██████████| 100/100 [00:16<00:00, 6.16frame/s]
Processing frames: 100%|██████████| 100/100 [00:16<00:00, 5.98frame/s]
(1495, 1295)
-torch.Size([1, 100, 1495, 1295])
+ERROR: pySEA import failed, this functionality is not available
+(1, 100, 1495, 1295)
kx (241,)
python3 05_tacaw_chunkFFT.py
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/torch_13653a5f142e
-
Processing frames: 1%| | 1/100 [00:00<00:16, 5.89frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:20, 4.81frame/s]
Processing frames: 4%|▍ | 4/100 [00:00<00:11, 8.05frame/s]
Processing frames: 5%|▌ | 5/100 [00:00<00:13, 6.83frame/s]
Processing frames: 6%|▌ | 6/100 [00:00<00:13, 6.80frame/s]
Processing frames: 7%|▋ | 7/100 [00:01<00:15, 6.06frame/s]
Processing frames: 8%|▊ | 8/100 [00:01<00:17, 5.15frame/s]
Processing frames: 9%|▉ | 9/100 [00:01<00:17, 5.22frame/s]
Processing frames: 10%|█ | 10/100 [00:01<00:18, 4.85frame/s]
Processing frames: 12%|█▏ | 12/100 [00:01<00:13, 6.58frame/s]
Processing frames: 13%|█▎ | 13/100 [00:02<00:13, 6.60frame/s]
Processing frames: 14%|█▍ | 14/100 [00:02<00:13, 6.52frame/s]
Processing frames: 15%|█▌ | 15/100 [00:02<00:13, 6.49frame/s]
Processing frames: 16%|█▌ | 16/100 [00:02<00:14, 5.88frame/s]
Processing frames: 17%|█▋ | 17/100 [00:02<00:13, 6.16frame/s]
Processing frames: 18%|█▊ | 18/100 [00:03<00:14, 5.61frame/s]
Processing frames: 20%|██ | 20/100 [00:03<00:11, 6.92frame/s]
Processing frames: 21%|██ | 21/100 [00:03<00:11, 7.03frame/s]
Processing frames: 22%|██▏ | 22/100 [00:03<00:11, 6.60frame/s]
Processing frames: 23%|██▎ | 23/100 [00:03<00:11, 6.44frame/s]
Processing frames: 24%|██▍ | 24/100 [00:03<00:14, 5.18frame/s]
Processing frames: 25%|██▌ | 25/100 [00:04<00:14, 5.21frame/s]
Processing frames: 26%|██▌ | 26/100 [00:04<00:15, 4.76frame/s]
Processing frames: 28%|██▊ | 28/100 [00:04<00:11, 6.05frame/s]
Processing frames: 29%|██▉ | 29/100 [00:04<00:12, 5.52frame/s]
Processing frames: 30%|███ | 30/100 [00:05<00:12, 5.51frame/s]
Processing frames: 31%|███ | 31/100 [00:05<00:12, 5.40frame/s]
Processing frames: 33%|███▎ | 33/100 [00:05<00:11, 5.80frame/s]
Processing frames: 35%|███▌ | 35/100 [00:05<00:08, 7.47frame/s]
Processing frames: 37%|███▋ | 37/100 [00:05<00:08, 7.56frame/s]
Processing frames: 38%|███▊ | 38/100 [00:06<00:09, 6.58frame/s]
Processing frames: 39%|███▉ | 39/100 [00:06<00:10, 6.02frame/s]
Processing frames: 41%|████ | 41/100 [00:06<00:08, 6.59frame/s]
Processing frames: 43%|████▎ | 43/100 [00:06<00:07, 8.08frame/s]
Processing frames: 45%|████▌ | 45/100 [00:07<00:06, 7.88frame/s]
Processing frames: 46%|████▌ | 46/100 [00:07<00:07, 7.33frame/s]
Processing frames: 47%|████▋ | 47/100 [00:07<00:07, 7.00frame/s]
Processing frames: 48%|████▊ | 48/100 [00:07<00:08, 6.28frame/s]
Processing frames: 50%|█████ | 50/100 [00:07<00:06, 7.80frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:07<00:05, 9.40frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:08<00:05, 8.28frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:08<00:05, 8.04frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:08<00:06, 7.17frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:08<00:04, 8.78frame/s]
Processing frames: 60%|██████ | 60/100 [00:08<00:04, 8.65frame/s]
Processing frames: 61%|██████ | 61/100 [00:09<00:04, 8.11frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:09<00:04, 8.21frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:09<00:04, 7.99frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:09<00:03, 9.24frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:09<00:03, 9.15frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:10<00:03, 8.48frame/s]
Processing frames: 70%|███████ | 70/100 [00:10<00:04, 7.49frame/s]
Processing frames: 71%|███████ | 71/100 [00:10<00:03, 7.27frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:10<00:04, 6.94frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:10<00:02, 8.81frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:10<00:02, 8.64frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:11<00:03, 7.63frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:11<00:03, 7.18frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:11<00:03, 6.85frame/s]
Processing frames: 80%|████████ | 80/100 [00:11<00:03, 6.33frame/s]
Processing frames: 81%|████████ | 81/100 [00:11<00:02, 6.73frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:11<00:01, 9.02frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:12<00:02, 7.95frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:12<00:02, 6.90frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:12<00:02, 6.89frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:12<00:01, 7.24frame/s]
Processing frames: 90%|█████████ | 90/100 [00:12<00:01, 9.11frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:12<00:00, 9.08frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:13<00:00, 8.45frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:13<00:00, 8.10frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:13<00:00, 7.49frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:13<00:00, 9.31frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:13<00:00, 10.80frame/s]
Processing frames: 100%|██████████| 100/100 [00:13<00:00, 7.19frame/s]
-tacaw > wfdata torch.Size([1, 100, 1495, 1295, 1])
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/torch_91b103dcfbe4
+
Processing frames: 1%| | 1/100 [00:00<00:39, 2.49frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:37, 2.59frame/s]
Processing frames: 3%|▎ | 3/100 [00:01<00:35, 2.71frame/s]
Processing frames: 4%|▍ | 4/100 [00:01<00:34, 2.78frame/s]
Processing frames: 5%|▌ | 5/100 [00:01<00:34, 2.76frame/s]
Processing frames: 6%|▌ | 6/100 [00:02<00:31, 2.95frame/s]
Processing frames: 7%|▋ | 7/100 [00:02<00:30, 3.07frame/s]
Processing frames: 8%|▊ | 8/100 [00:02<00:29, 3.13frame/s]
Processing frames: 9%|▉ | 9/100 [00:03<00:28, 3.19frame/s]
Processing frames: 10%|█ | 10/100 [00:03<00:28, 3.20frame/s]
Processing frames: 11%|█ | 11/100 [00:03<00:26, 3.41frame/s]
Processing frames: 12%|█▏ | 12/100 [00:03<00:24, 3.56frame/s]
Processing frames: 13%|█▎ | 13/100 [00:04<00:26, 3.25frame/s]
Processing frames: 14%|█▍ | 14/100 [00:04<00:27, 3.14frame/s]
Processing frames: 15%|█▌ | 15/100 [00:04<00:27, 3.05frame/s]
Processing frames: 16%|█▌ | 16/100 [00:05<00:26, 3.14frame/s]
Processing frames: 17%|█▋ | 17/100 [00:05<00:29, 2.82frame/s]
Processing frames: 18%|█▊ | 18/100 [00:05<00:25, 3.22frame/s]
Processing frames: 19%|█▉ | 19/100 [00:06<00:24, 3.25frame/s]
Processing frames: 20%|██ | 20/100 [00:06<00:24, 3.31frame/s]
Processing frames: 21%|██ | 21/100 [00:06<00:23, 3.41frame/s]
Processing frames: 22%|██▏ | 22/100 [00:07<00:23, 3.35frame/s]
Processing frames: 23%|██▎ | 23/100 [00:07<00:22, 3.37frame/s]
Processing frames: 24%|██▍ | 24/100 [00:07<00:20, 3.66frame/s]
Processing frames: 25%|██▌ | 25/100 [00:07<00:20, 3.75frame/s]
Processing frames: 26%|██▌ | 26/100 [00:08<00:18, 3.90frame/s]
Processing frames: 27%|██▋ | 27/100 [00:08<00:18, 3.96frame/s]
Processing frames: 28%|██▊ | 28/100 [00:08<00:17, 4.09frame/s]
Processing frames: 29%|██▉ | 29/100 [00:08<00:17, 4.06frame/s]
Processing frames: 30%|███ | 30/100 [00:08<00:16, 4.19frame/s]
Processing frames: 31%|███ | 31/100 [00:09<00:16, 4.14frame/s]
Processing frames: 32%|███▏ | 32/100 [00:09<00:16, 4.19frame/s]
Processing frames: 33%|███▎ | 33/100 [00:09<00:17, 3.93frame/s]
Processing frames: 34%|███▍ | 34/100 [00:09<00:15, 4.15frame/s]
Processing frames: 35%|███▌ | 35/100 [00:10<00:15, 4.33frame/s]
Processing frames: 36%|███▌ | 36/100 [00:10<00:15, 4.09frame/s]
Processing frames: 37%|███▋ | 37/100 [00:10<00:14, 4.20frame/s]
Processing frames: 38%|███▊ | 38/100 [00:10<00:15, 4.05frame/s]
Processing frames: 39%|███▉ | 39/100 [00:11<00:15, 4.03frame/s]
Processing frames: 40%|████ | 40/100 [00:11<00:13, 4.44frame/s]
Processing frames: 41%|████ | 41/100 [00:11<00:13, 4.52frame/s]
Processing frames: 42%|████▏ | 42/100 [00:11<00:12, 4.56frame/s]
Processing frames: 43%|████▎ | 43/100 [00:11<00:12, 4.53frame/s]
Processing frames: 44%|████▍ | 44/100 [00:12<00:12, 4.53frame/s]
Processing frames: 45%|████▌ | 45/100 [00:12<00:14, 3.90frame/s]
Processing frames: 46%|████▌ | 46/100 [00:13<00:17, 3.15frame/s]
Processing frames: 47%|████▋ | 47/100 [00:13<00:16, 3.16frame/s]
Processing frames: 48%|████▊ | 48/100 [00:13<00:16, 3.11frame/s]
Processing frames: 49%|████▉ | 49/100 [00:13<00:15, 3.31frame/s]
Processing frames: 50%|█████ | 50/100 [00:14<00:14, 3.51frame/s]
Processing frames: 51%|█████ | 51/100 [00:14<00:13, 3.61frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:14<00:14, 3.40frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:15<00:14, 3.21frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:15<00:16, 2.87frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:15<00:14, 3.08frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:16<00:13, 3.26frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:16<00:12, 3.57frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:16<00:11, 3.70frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:16<00:10, 3.93frame/s]
Processing frames: 60%|██████ | 60/100 [00:17<00:10, 3.65frame/s]
Processing frames: 61%|██████ | 61/100 [00:17<00:09, 4.16frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:17<00:08, 4.28frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:17<00:09, 3.99frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:18<00:12, 2.96frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:18<00:12, 2.76frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:19<00:12, 2.81frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:19<00:12, 2.73frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:19<00:12, 2.59frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:20<00:12, 2.58frame/s]
Processing frames: 70%|███████ | 70/100 [00:20<00:10, 2.75frame/s]
Processing frames: 71%|███████ | 71/100 [00:20<00:10, 2.86frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:21<00:09, 2.85frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:21<00:09, 2.90frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:22<00:10, 2.53frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:22<00:10, 2.41frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:22<00:09, 2.49frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:23<00:08, 2.70frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:23<00:08, 2.68frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:23<00:07, 2.68frame/s]
Processing frames: 80%|████████ | 80/100 [00:24<00:06, 2.97frame/s]
Processing frames: 81%|████████ | 81/100 [00:24<00:06, 2.76frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:24<00:05, 3.02frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:25<00:05, 2.91frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:25<00:05, 2.82frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:25<00:05, 2.84frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:26<00:04, 2.81frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:26<00:04, 2.79frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:27<00:04, 2.81frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:27<00:03, 3.01frame/s]
Processing frames: 90%|█████████ | 90/100 [00:27<00:03, 3.27frame/s]
Processing frames: 91%|█████████ | 91/100 [00:27<00:02, 3.53frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:28<00:02, 3.26frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:28<00:02, 2.78frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:29<00:02, 2.78frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:29<00:01, 2.86frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:29<00:01, 2.98frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:29<00:00, 3.17frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:30<00:00, 3.25frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:30<00:00, 3.20frame/s]
Processing frames: 100%|██████████| 100/100 [00:30<00:00, 3.12frame/s]
Processing frames: 100%|██████████| 100/100 [00:30<00:00, 3.24frame/s]
(1495, 1295)
kx (241,)
python3 05_tacaw_cropped.py
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/torch_13653a5f142e
-
Processing frames: 6%|▌ | 6/100 [00:00<00:01, 56.84frame/s]
Processing frames: 13%|█▎ | 13/100 [00:00<00:01, 59.66frame/s]
Processing frames: 20%|██ | 20/100 [00:00<00:01, 59.90frame/s]
Processing frames: 27%|██▋ | 27/100 [00:00<00:01, 60.43frame/s]
Processing frames: 34%|███▍ | 34/100 [00:00<00:01, 60.78frame/s]
Processing frames: 41%|████ | 41/100 [00:00<00:00, 61.02frame/s]
Processing frames: 48%|████▊ | 48/100 [00:00<00:00, 61.15frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:00<00:00, 60.72frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:01<00:00, 60.94frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:01<00:00, 61.11frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:01<00:00, 61.27frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:01<00:00, 61.27frame/s]
Processing frames: 90%|█████████ | 90/100 [00:01<00:00, 61.21frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:01<00:00, 61.22frame/s]
Processing frames: 100%|██████████| 100/100 [00:01<00:00, 60.89frame/s]
-tacaw > wfdata torch.Size([1, 100, 481, 481, 1])
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]WARNING:root:One or more frames reloaded from cache: psi_data/torch_91b103dcfbe4
+
Processing frames: 6%|▌ | 6/100 [00:00<00:01, 51.54frame/s]
Processing frames: 12%|█▏ | 12/100 [00:00<00:01, 55.99frame/s]
Processing frames: 18%|█▊ | 18/100 [00:00<00:01, 56.81frame/s]
Processing frames: 24%|██▍ | 24/100 [00:00<00:01, 57.80frame/s]
Processing frames: 30%|███ | 30/100 [00:00<00:01, 58.09frame/s]
Processing frames: 36%|███▌ | 36/100 [00:00<00:01, 58.20frame/s]
Processing frames: 43%|████▎ | 43/100 [00:00<00:00, 59.06frame/s]
Processing frames: 49%|████▉ | 49/100 [00:00<00:00, 58.81frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:00<00:00, 59.06frame/s]
Processing frames: 61%|██████ | 61/100 [00:01<00:00, 59.24frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:01<00:00, 59.21frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:01<00:00, 59.63frame/s]
Processing frames: 80%|████████ | 80/100 [00:01<00:00, 59.62frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:01<00:00, 59.59frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:01<00:00, 60.04frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:01<00:00, 59.53frame/s]
Processing frames: 100%|██████████| 100/100 [00:01<00:00, 58.81frame/s]
(481, 481)
kx (241,)
python3 06_loaders.py
No velocity data found. Setting velocities to zero.
+failed to import pySEA: No module named 'pySEA'
attempting to load inputs/silicon_pos.positions
-
Loading frames: 0%| | 0/1 [00:00, ?frame/s]
Loading frames: 100%|██████████| 1/1 [00:00<00:00, 4471.54frame/s]
+
Loading frames: 0%| | 0/1 [00:00, ?frame/s]
Loading frames: 100%|██████████| 1/1 [00:00<00:00, 4319.57frame/s]
saving plot for silicon_pos.positions to 06_loaders_0.png
attempting to load inputs/hBN_cif.cif
saving plot for hBN_cif.cif to 06_loaders_1.png
attempting to load inputs/hBN_truncated.lammpstrj
-
Loading frames: 0%| | 0/100 [00:00, ?frame/s]
Loading frames: 36%|███▌ | 36/100 [00:00<00:00, 359.30frame/s]
Loading frames: 72%|███████▏ | 72/100 [00:00<00:00, 352.64frame/s]
Loading frames: 100%|██████████| 100/100 [00:00<00:00, 351.90frame/s]
+
Loading frames: 0%| | 0/100 [00:00, ?frame/s]
Loading frames: 38%|███▊ | 38/100 [00:00<00:00, 374.59frame/s]
Loading frames: 76%|███████▌ | 76/100 [00:00<00:00, 367.67frame/s]
Loading frames: 100%|██████████| 100/100 [00:00<00:00, 367.68frame/s]
No velocity data found. Setting velocities to zero.
saving plot for hBN_truncated.lammpstrj to 06_loaders_2.png
attempting to load inputs/hBN_GAP_ase.trj
-
Loading frames: 0%| | 0/101 [00:00, ?frame/s]
Loading frames: 7%|▋ | 7/101 [00:00<00:01, 66.23frame/s]
Loading frames: 14%|█▍ | 14/101 [00:00<00:01, 60.37frame/s]
Loading frames: 21%|██ | 21/101 [00:00<00:01, 58.83frame/s]
Loading frames: 27%|██▋ | 27/101 [00:00<00:01, 58.22frame/s]
Loading frames: 33%|███▎ | 33/101 [00:00<00:01, 57.69frame/s]
Loading frames: 39%|███▊ | 39/101 [00:00<00:01, 57.44frame/s]
Loading frames: 45%|████▍ | 45/101 [00:00<00:00, 56.73frame/s]
Loading frames: 50%|█████ | 51/101 [00:00<00:00, 56.64frame/s]
Loading frames: 56%|█████▋ | 57/101 [00:00<00:00, 56.52frame/s]
Loading frames: 62%|██████▏ | 63/101 [00:01<00:00, 56.49frame/s]
Loading frames: 68%|██████▊ | 69/101 [00:01<00:00, 56.48frame/s]
Loading frames: 74%|███████▍ | 75/101 [00:01<00:00, 56.54frame/s]
Loading frames: 80%|████████ | 81/101 [00:01<00:00, 56.53frame/s]
Loading frames: 86%|████████▌ | 87/101 [00:01<00:00, 56.61frame/s]
Loading frames: 92%|█████████▏| 93/101 [00:01<00:00, 56.56frame/s]
Loading frames: 98%|█████████▊| 99/101 [00:01<00:00, 56.35frame/s]
Loading frames: 100%|██████████| 101/101 [00:01<00:00, 57.10frame/s]
+
Loading frames: 0%| | 0/101 [00:00, ?frame/s]
Loading frames: 8%|▊ | 8/101 [00:00<00:01, 70.72frame/s]
Loading frames: 16%|█▌ | 16/101 [00:00<00:01, 64.33frame/s]
Loading frames: 23%|██▎ | 23/101 [00:00<00:01, 63.20frame/s]
Loading frames: 30%|██▉ | 30/101 [00:00<00:01, 62.77frame/s]
Loading frames: 37%|███▋ | 37/101 [00:00<00:01, 62.46frame/s]
Loading frames: 44%|████▎ | 44/101 [00:00<00:00, 62.31frame/s]
Loading frames: 50%|█████ | 51/101 [00:00<00:00, 62.16frame/s]
Loading frames: 57%|█████▋ | 58/101 [00:00<00:00, 61.78frame/s]
Loading frames: 64%|██████▍ | 65/101 [00:01<00:00, 61.89frame/s]
Loading frames: 71%|███████▏ | 72/101 [00:01<00:00, 61.84frame/s]
Loading frames: 78%|███████▊ | 79/101 [00:01<00:00, 61.88frame/s]
Loading frames: 85%|████████▌ | 86/101 [00:01<00:00, 61.92frame/s]
Loading frames: 92%|█████████▏| 93/101 [00:01<00:00, 61.86frame/s]
Loading frames: 99%|█████████▉| 100/101 [00:01<00:00, 61.83frame/s]
Loading frames: 100%|██████████| 101/101 [00:01<00:00, 62.33frame/s]
saving plot for hBN_GAP_ase.trj to 06_loaders_3.png
Testing ASE Atoms object loading (single frame)
@@ -52,208 +61,197 @@ Testing ASE Atoms trajectory loading (multiple frames)
✓ Loaded from ASE trajectory: 10 frames, 16 atoms
✓ ASE Atoms multi-frame loading test PASSED
python3 07_defocus.py
+failed to import pySEA: No module named 'pySEA'
python3 08_LACBED_iterative.py
-
Loading frames: 0%| | 0/50 [00:00, ?frame/s]
Loading frames: 24%|██▍ | 12/50 [00:00<00:00, 118.23frame/s]
Loading frames: 48%|████▊ | 24/50 [00:00<00:00, 113.53frame/s]
Loading frames: 72%|███████▏ | 36/50 [00:00<00:00, 112.42frame/s]
Loading frames: 96%|█████████▌| 48/50 [00:00<00:00, 112.12frame/s]
Loading frames: 100%|██████████| 50/50 [00:00<00:00, 112.62frame/s]
+failed to import pySEA: No module named 'pySEA'
+
Loading frames: 0%| | 0/50 [00:00, ?frame/s]
Loading frames: 26%|██▌ | 13/50 [00:00<00:00, 129.08frame/s]
Loading frames: 52%|█████▏ | 26/50 [00:00<00:00, 123.90frame/s]
Loading frames: 78%|███████▊ | 39/50 [00:00<00:00, 122.30frame/s]
Loading frames: 100%|██████████| 50/50 [00:00<00:00, 122.59frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
24%|██▎ | 13/55 [00:00<00:00, 125.75it/s][A
-
65%|██████▌ | 36/55 [00:00<00:00, 184.70it/s][A
100%|██████████| 55/55 [00:00<00:00, 190.59it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 2.38frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 2.38frame/s]
+
18%|█▊ | 10/55 [00:00<00:00, 99.36it/s][A
+
64%|██████▎ | 35/55 [00:00<00:00, 182.80it/s][A
100%|██████████| 55/55 [00:00<00:00, 191.23it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 2.29frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 2.28frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 230.12it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 233.23it/s][A
100%|██████████| 55/55 [00:00<00:00, 231.73it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 2.92frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 2.92frame/s]
+
45%|████▌ | 25/55 [00:00<00:00, 249.82it/s][A
+
93%|█████████▎| 51/55 [00:00<00:00, 252.19it/s][A
100%|██████████| 55/55 [00:00<00:00, 251.93it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.30frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.30frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 236.46it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 235.83it/s][A
100%|██████████| 55/55 [00:00<00:00, 234.72it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.19frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.19frame/s]
+
47%|████▋ | 26/55 [00:00<00:00, 256.09it/s][A
+
95%|█████████▍| 52/55 [00:00<00:00, 255.16it/s][A
100%|██████████| 55/55 [00:00<00:00, 254.45it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.34frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.33frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 230.17it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 232.23it/s][A
100%|██████████| 55/55 [00:00<00:00, 230.83it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.11frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.11frame/s]
+
47%|████▋ | 26/55 [00:00<00:00, 252.53it/s][A
+
95%|█████████▍| 52/55 [00:00<00:00, 253.44it/s][A
100%|██████████| 55/55 [00:00<00:00, 252.39it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.24frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.24frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 232.06it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 234.21it/s][A
100%|██████████| 55/55 [00:00<00:00, 232.74it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.18frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.18frame/s]
+
47%|████▋ | 26/55 [00:00<00:00, 255.78it/s][A
+
95%|█████████▍| 52/55 [00:00<00:00, 254.80it/s][A
100%|██████████| 55/55 [00:00<00:00, 253.77it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.25frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.25frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 236.30it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 236.70it/s][A
100%|██████████| 55/55 [00:00<00:00, 235.24it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 2.62frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 2.62frame/s]
+
47%|████▋ | 26/55 [00:00<00:00, 258.49it/s][A
+
95%|█████████▍| 52/55 [00:00<00:00, 256.92it/s][A
100%|██████████| 55/55 [00:00<00:00, 256.07it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.37frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.37frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 231.15it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 234.30it/s][A
100%|██████████| 55/55 [00:00<00:00, 232.77it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.15frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.15frame/s]
+
47%|████▋ | 26/55 [00:00<00:00, 256.08it/s][A
+
95%|█████████▍| 52/55 [00:00<00:00, 255.87it/s][A
100%|██████████| 55/55 [00:00<00:00, 254.99it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.36frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.36frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 235.94it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 235.39it/s][A
100%|██████████| 55/55 [00:00<00:00, 234.00it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.05frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.05frame/s]
+
47%|████▋ | 26/55 [00:00<00:00, 259.37it/s][A
+
95%|█████████▍| 52/55 [00:00<00:00, 256.29it/s][A
100%|██████████| 55/55 [00:00<00:00, 255.39it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.22frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.22frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 228.76it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 231.22it/s][A
100%|██████████| 55/55 [00:00<00:00, 230.07it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.14frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.14frame/s]
+
47%|████▋ | 26/55 [00:00<00:00, 255.33it/s][A
+
95%|█████████▍| 52/55 [00:00<00:00, 253.61it/s][A
100%|██████████| 55/55 [00:00<00:00, 253.08it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.28frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.28frame/s]
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/55 [00:00, ?it/s][A
-
44%|████▎ | 24/55 [00:00<00:00, 235.15it/s][A
-
87%|████████▋ | 48/55 [00:00<00:00, 233.69it/s][A
100%|██████████| 55/55 [00:00<00:00, 232.71it/s]
-
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.18frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.17frame/s]
-ERROR! LACBED DOES NOT MATCH PREVIOUS RUN 0.5222933619418135 %
+
47%|████▋ | 26/55 [00:00<00:00, 254.09it/s][A
+
95%|█████████▍| 52/55 [00:00<00:00, 253.21it/s][A
100%|██████████| 55/55 [00:00<00:00, 252.49it/s]
+
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.31frame/s]
Processing frames: 100%|██████████| 1/1 [00:00<00:00, 3.31frame/s]
+ERROR! LACBED DOES NOT MATCH PREVIOUS RUN 0.5222933619417401 %
python3 08_LACBED_onthefly.py
+failed to import pySEA: No module named 'pySEA'
Processing frames: 0%| | 0/1 [00:00, ?frame/s]propagating through slices
0%| | 0/544 [00:00, ?it/s][A
-
1%| | 3/544 [00:00<00:20, 26.45it/s][A
-
1%|▏ | 8/544 [00:00<00:14, 36.93it/s][A
-
2%|▏ | 13/544 [00:00<00:13, 40.34it/s][A
-
3%|▎ | 18/544 [00:00<00:12, 42.00it/s][A
-
4%|▍ | 23/544 [00:00<00:12, 42.70it/s][A
-
5%|▌ | 28/544 [00:00<00:11, 43.44it/s][A
-
6%|▌ | 33/544 [00:00<00:11, 43.83it/s][A
-
7%|▋ | 38/544 [00:00<00:11, 44.12it/s][A
-
8%|▊ | 43/544 [00:01<00:11, 44.25it/s][A
-
9%|▉ | 48/544 [00:01<00:11, 44.26it/s][A
-
10%|▉ | 53/544 [00:01<00:11, 44.31it/s][A
-
11%|█ | 58/544 [00:01<00:10, 44.47it/s][A
-
12%|█▏ | 63/544 [00:01<00:10, 44.42it/s][A
-
12%|█▎ | 68/544 [00:01<00:10, 44.52it/s][A
-
13%|█▎ | 73/544 [00:01<00:10, 44.64it/s][A
-
14%|█▍ | 78/544 [00:01<00:10, 44.56it/s][A
-
15%|█▌ | 83/544 [00:01<00:10, 44.57it/s][A
-
16%|█▌ | 88/544 [00:02<00:10, 44.69it/s][A
-
17%|█▋ | 93/544 [00:02<00:10, 44.70it/s][A
-
18%|█▊ | 98/544 [00:02<00:09, 44.66it/s][A
-
19%|█▉ | 103/544 [00:02<00:09, 44.66it/s][A
-
20%|█▉ | 108/544 [00:02<00:09, 44.65it/s][A
-
21%|██ | 113/544 [00:02<00:09, 44.62it/s][A
-
22%|██▏ | 118/544 [00:02<00:09, 44.63it/s][A
-
23%|██▎ | 123/544 [00:02<00:09, 44.73it/s][A
-
24%|██▎ | 128/544 [00:02<00:09, 44.71it/s][A
-
24%|██▍ | 133/544 [00:03<00:09, 44.66it/s][A
-
25%|██▌ | 138/544 [00:03<00:09, 44.56it/s][A
-
26%|██▋ | 143/544 [00:03<00:08, 44.62it/s][A
-
27%|██▋ | 148/544 [00:03<00:08, 44.65it/s][A
-
28%|██▊ | 153/544 [00:03<00:08, 44.79it/s][A
-
29%|██▉ | 158/544 [00:03<00:08, 44.80it/s][A
-
30%|██▉ | 163/544 [00:03<00:08, 44.65it/s][A
-
31%|███ | 168/544 [00:03<00:08, 44.68it/s][A
-
32%|███▏ | 173/544 [00:03<00:08, 44.63it/s][A
-
33%|███▎ | 178/544 [00:04<00:08, 44.72it/s][A
-
34%|███▎ | 183/544 [00:04<00:08, 44.79it/s][A
-
35%|███▍ | 188/544 [00:04<00:07, 44.78it/s][A
-
35%|███▌ | 193/544 [00:04<00:07, 44.81it/s][A
-
36%|███▋ | 198/544 [00:04<00:07, 44.85it/s][A
-
37%|███▋ | 203/544 [00:04<00:07, 44.70it/s][A
-
38%|███▊ | 208/544 [00:04<00:07, 44.78it/s][A
-
39%|███▉ | 213/544 [00:04<00:07, 44.80it/s][A
-
40%|████ | 218/544 [00:04<00:07, 44.81it/s][A
-
41%|████ | 223/544 [00:05<00:07, 44.84it/s][A
-
42%|████▏ | 228/544 [00:05<00:07, 44.86it/s][A
-
43%|████▎ | 233/544 [00:05<00:06, 44.81it/s][A
-
44%|████▍ | 238/544 [00:05<00:06, 44.61it/s][A
-
45%|████▍ | 243/544 [00:05<00:06, 44.68it/s][A
-
46%|████▌ | 248/544 [00:05<00:06, 44.69it/s][A
-
47%|████▋ | 253/544 [00:05<00:06, 44.63it/s][A
-
47%|████▋ | 258/544 [00:05<00:06, 44.76it/s][A
-
48%|████▊ | 263/544 [00:05<00:06, 44.82it/s][A
-
49%|████▉ | 268/544 [00:06<00:06, 44.75it/s][A
-
50%|█████ | 273/544 [00:06<00:06, 44.71it/s][A
-
51%|█████ | 278/544 [00:06<00:05, 44.61it/s][A
-
52%|█████▏ | 283/544 [00:06<00:05, 44.69it/s][A
-
53%|█████▎ | 288/544 [00:06<00:05, 44.77it/s][A
-
54%|█████▍ | 293/544 [00:06<00:05, 44.80it/s][A
-
55%|█████▍ | 298/544 [00:06<00:05, 44.80it/s][A
-
56%|█████▌ | 303/544 [00:06<00:05, 44.77it/s][A
-
57%|█████▋ | 308/544 [00:06<00:05, 44.83it/s][A
-
58%|█████▊ | 313/544 [00:07<00:05, 44.82it/s][A
-
58%|█████▊ | 318/544 [00:07<00:05, 44.80it/s][A
-
59%|█████▉ | 323/544 [00:07<00:04, 44.93it/s][A
-
60%|██████ | 328/544 [00:07<00:04, 44.73it/s][A
-
61%|██████ | 333/544 [00:07<00:04, 44.76it/s][A
-
62%|██████▏ | 338/544 [00:07<00:04, 44.78it/s][A
-
63%|██████▎ | 343/544 [00:07<00:04, 44.82it/s][A
-
64%|██████▍ | 348/544 [00:07<00:04, 44.88it/s][A
-
65%|██████▍ | 353/544 [00:07<00:04, 44.89it/s][A
-
66%|██████▌ | 358/544 [00:08<00:04, 44.80it/s][A
-
67%|██████▋ | 363/544 [00:08<00:04, 44.77it/s][A
-
68%|██████▊ | 368/544 [00:08<00:03, 44.82it/s][A
-
69%|██████▊ | 373/544 [00:08<00:03, 44.80it/s][A
-
69%|██████▉ | 378/544 [00:08<00:03, 44.65it/s][A
-
70%|███████ | 383/544 [00:08<00:03, 44.65it/s][A
-
71%|███████▏ | 388/544 [00:08<00:03, 44.64it/s][A
-
72%|███████▏ | 393/544 [00:08<00:03, 44.73it/s][A
-
73%|███████▎ | 398/544 [00:08<00:03, 44.82it/s][A
-
74%|███████▍ | 403/544 [00:09<00:03, 44.85it/s][A
-
75%|███████▌ | 408/544 [00:09<00:03, 44.87it/s][A
-
76%|███████▌ | 413/544 [00:09<00:02, 44.93it/s][A
-
77%|███████▋ | 418/544 [00:09<00:02, 44.90it/s][A
-
78%|███████▊ | 423/544 [00:09<00:02, 44.87it/s][A
-
79%|███████▊ | 428/544 [00:09<00:02, 44.79it/s][A
-
80%|███████▉ | 433/544 [00:09<00:02, 44.79it/s][A
-
81%|████████ | 438/544 [00:09<00:02, 44.75it/s][A
-
81%|████████▏ | 443/544 [00:09<00:02, 44.84it/s][A
-
82%|████████▏ | 448/544 [00:10<00:02, 44.82it/s][A
-
83%|████████▎ | 453/544 [00:10<00:02, 44.76it/s][A
-
84%|████████▍ | 458/544 [00:10<00:01, 44.75it/s][A
-
85%|████████▌ | 463/544 [00:10<00:01, 44.84it/s][A
-
86%|████████▌ | 468/544 [00:10<00:01, 44.83it/s][A
-
87%|████████▋ | 473/544 [00:10<00:01, 44.79it/s][A
-
88%|████████▊ | 478/544 [00:10<00:01, 44.90it/s][A
-
89%|████████▉ | 483/544 [00:10<00:01, 44.83it/s][A
-
90%|████████▉ | 488/544 [00:10<00:01, 44.86it/s][A
-
91%|█████████ | 493/544 [00:11<00:01, 44.82it/s][A
-
92%|█████████▏| 498/544 [00:11<00:01, 44.85it/s][A
-
92%|█████████▏| 503/544 [00:11<00:00, 44.84it/s][A
-
93%|█████████▎| 508/544 [00:11<00:00, 44.88it/s][A
-
94%|█████████▍| 513/544 [00:11<00:00, 44.83it/s][A
-
95%|█████████▌| 518/544 [00:11<00:00, 44.82it/s][A
-
96%|█████████▌| 523/544 [00:11<00:00, 44.84it/s][A
-
97%|█████████▋| 528/544 [00:11<00:00, 44.94it/s][A
-
98%|█████████▊| 533/544 [00:11<00:00, 44.92it/s][A
-
99%|█████████▉| 538/544 [00:12<00:00, 44.94it/s][A
-
100%|█████████▉| 543/544 [00:12<00:00, 44.85it/s][A
100%|██████████| 544/544 [00:12<00:00, 44.57it/s]
-
Processing frames: 100%|██████████| 1/1 [00:12<00:00, 12.52s/frame]
Processing frames: 100%|██████████| 1/1 [00:12<00:00, 12.52s/frame]
+
0%| | 2/544 [00:00<00:29, 18.07it/s][A
+
1%|▏ | 7/544 [00:00<00:16, 32.50it/s][A
+
2%|▏ | 12/544 [00:00<00:14, 37.14it/s][A
+
3%|▎ | 17/544 [00:00<00:13, 39.54it/s][A
+
4%|▍ | 22/544 [00:00<00:12, 40.68it/s][A
+
5%|▍ | 27/544 [00:00<00:12, 41.48it/s][A
+
6%|▌ | 32/544 [00:00<00:12, 42.00it/s][A
+
7%|▋ | 37/544 [00:00<00:11, 42.27it/s][A
+
8%|▊ | 42/544 [00:01<00:11, 42.53it/s][A
+
9%|▊ | 47/544 [00:01<00:11, 42.75it/s][A
+
10%|▉ | 52/544 [00:01<00:11, 42.56it/s][A
+
10%|█ | 57/544 [00:01<00:11, 42.72it/s][A
+
11%|█▏ | 62/544 [00:01<00:11, 42.84it/s][A
+
12%|█▏ | 67/544 [00:01<00:11, 42.90it/s][A
+
13%|█▎ | 72/544 [00:01<00:10, 43.00it/s][A
+
14%|█▍ | 77/544 [00:01<00:10, 43.07it/s][A
+
15%|█▌ | 82/544 [00:01<00:10, 43.12it/s][A
+
16%|█▌ | 87/544 [00:02<00:10, 43.15it/s][A
+
17%|█▋ | 92/544 [00:02<00:10, 43.10it/s][A
+
18%|█▊ | 97/544 [00:02<00:10, 43.04it/s][A
+
19%|█▉ | 102/544 [00:02<00:10, 43.02it/s][A
+
20%|█▉ | 107/544 [00:02<00:10, 43.01it/s][A
+
21%|██ | 112/544 [00:02<00:10, 43.04it/s][A
+
22%|██▏ | 117/544 [00:02<00:09, 42.97it/s][A
+
22%|██▏ | 122/544 [00:02<00:09, 43.04it/s][A
+
23%|██▎ | 127/544 [00:03<00:09, 43.04it/s][A
+
24%|██▍ | 132/544 [00:03<00:09, 43.03it/s][A
+
25%|██▌ | 137/544 [00:03<00:09, 43.03it/s][A
+
26%|██▌ | 142/544 [00:03<00:09, 43.14it/s][A
+
27%|██▋ | 147/544 [00:03<00:09, 43.04it/s][A
+
28%|██▊ | 152/544 [00:03<00:09, 43.23it/s][A
+
29%|██▉ | 157/544 [00:03<00:08, 43.24it/s][A
+
30%|██▉ | 162/544 [00:03<00:08, 42.99it/s][A
+
31%|███ | 167/544 [00:03<00:08, 42.83it/s][A
+
32%|███▏ | 172/544 [00:04<00:08, 42.97it/s][A
+
33%|███▎ | 177/544 [00:04<00:08, 43.03it/s][A
+
33%|███▎ | 182/544 [00:04<00:08, 43.06it/s][A
+
34%|███▍ | 187/544 [00:04<00:08, 43.09it/s][A
+
35%|███▌ | 192/544 [00:04<00:08, 42.81it/s][A
+
36%|███▌ | 197/544 [00:04<00:08, 42.94it/s][A
+
37%|███▋ | 202/544 [00:04<00:07, 43.06it/s][A
+
38%|███▊ | 207/544 [00:04<00:07, 43.12it/s][A
+
39%|███▉ | 212/544 [00:04<00:07, 43.16it/s][A
+
40%|███▉ | 217/544 [00:05<00:07, 43.21it/s][A
+
41%|████ | 222/544 [00:05<00:07, 43.08it/s][A
+
42%|████▏ | 227/544 [00:05<00:07, 43.11it/s][A
+
43%|████▎ | 232/544 [00:05<00:07, 43.13it/s][A
+
44%|████▎ | 237/544 [00:05<00:07, 43.16it/s][A
+
44%|████▍ | 242/544 [00:05<00:06, 43.18it/s][A
+
45%|████▌ | 247/544 [00:05<00:06, 43.10it/s][A
+
46%|████▋ | 252/544 [00:05<00:06, 43.05it/s][A
+
47%|████▋ | 257/544 [00:06<00:06, 42.95it/s][A
+
48%|████▊ | 262/544 [00:06<00:06, 43.05it/s][A
+
49%|████▉ | 267/544 [00:06<00:06, 43.06it/s][A
+
50%|█████ | 272/544 [00:06<00:06, 42.99it/s][A
+
51%|█████ | 277/544 [00:06<00:06, 43.07it/s][A
+
52%|█████▏ | 282/544 [00:06<00:06, 43.15it/s][A
+
53%|█████▎ | 287/544 [00:06<00:05, 43.16it/s][A
+
54%|█████▎ | 292/544 [00:06<00:05, 42.97it/s][A
+
55%|█████▍ | 297/544 [00:06<00:05, 42.93it/s][A
+
56%|█████▌ | 302/544 [00:07<00:05, 42.89it/s][A
+
56%|█████▋ | 307/544 [00:07<00:05, 43.02it/s][A
+
57%|█████▋ | 312/544 [00:07<00:05, 43.09it/s][A
+
58%|█████▊ | 317/544 [00:07<00:05, 43.09it/s][A
+
59%|█████▉ | 322/544 [00:07<00:05, 43.13it/s][A
+
60%|██████ | 327/544 [00:07<00:05, 43.20it/s][A
+
61%|██████ | 332/544 [00:07<00:04, 43.10it/s][A
+
62%|██████▏ | 337/544 [00:07<00:04, 43.13it/s][A
+
63%|██████▎ | 342/544 [00:08<00:04, 43.17it/s][A
+
64%|██████▍ | 347/544 [00:08<00:04, 43.08it/s][A
+
65%|██████▍ | 352/544 [00:08<00:04, 43.19it/s][A
+
66%|██████▌ | 357/544 [00:08<00:04, 43.14it/s][A
+
67%|██████▋ | 362/544 [00:08<00:04, 43.13it/s][A
+
67%|██████▋ | 367/544 [00:08<00:04, 43.14it/s][A
+
68%|██████▊ | 372/544 [00:08<00:03, 43.09it/s][A
+
69%|██████▉ | 377/544 [00:08<00:03, 42.94it/s][A
+
70%|███████ | 382/544 [00:08<00:03, 42.91it/s][A
+
71%|███████ | 387/544 [00:09<00:03, 42.97it/s][A
+
72%|███████▏ | 392/544 [00:09<00:03, 43.06it/s][A
+
73%|███████▎ | 397/544 [00:09<00:03, 43.17it/s][A
+
74%|███████▍ | 402/544 [00:09<00:03, 43.17it/s][A
+
75%|███████▍ | 407/544 [00:09<00:03, 43.10it/s][A
+
76%|███████▌ | 412/544 [00:09<00:03, 43.16it/s][A
+
77%|███████▋ | 417/544 [00:09<00:02, 43.17it/s][A
+
78%|███████▊ | 422/544 [00:09<00:02, 43.23it/s][A
+
78%|███████▊ | 427/544 [00:09<00:02, 42.84it/s][A
+
79%|███████▉ | 432/544 [00:10<00:02, 42.90it/s][A
+
80%|████████ | 437/544 [00:10<00:02, 42.98it/s][A
+
81%|████████▏ | 442/544 [00:10<00:02, 42.98it/s][A
+
82%|████████▏ | 447/544 [00:10<00:02, 43.08it/s][A
+
83%|████████▎ | 452/544 [00:10<00:02, 43.13it/s][A
+
84%|████████▍ | 457/544 [00:10<00:02, 43.02it/s][A
+
85%|████████▍ | 462/544 [00:10<00:01, 43.12it/s][A
+
86%|████████▌ | 467/544 [00:10<00:01, 43.15it/s][A
+
87%|████████▋ | 472/544 [00:11<00:01, 43.11it/s][A
+
88%|████████▊ | 477/544 [00:11<00:01, 43.22it/s][A
+
89%|████████▊ | 482/544 [00:11<00:01, 43.26it/s][A
+
90%|████████▉ | 487/544 [00:11<00:01, 43.22it/s][A
+
90%|█████████ | 492/544 [00:11<00:01, 43.28it/s][A
+
91%|█████████▏| 497/544 [00:11<00:01, 43.32it/s][A
+
92%|█████████▏| 502/544 [00:11<00:00, 43.12it/s][A
+
93%|█████████▎| 507/544 [00:11<00:00, 43.17it/s][A
+
94%|█████████▍| 512/544 [00:11<00:00, 43.25it/s][A
+
95%|█████████▌| 517/544 [00:12<00:00, 43.22it/s][A
+
96%|█████████▌| 522/544 [00:12<00:00, 43.16it/s][A
+
97%|█████████▋| 527/544 [00:12<00:00, 43.24it/s][A
+
98%|█████████▊| 532/544 [00:12<00:00, 43.12it/s][A
+
99%|█████████▊| 537/544 [00:12<00:00, 43.19it/s][A
+
100%|█████████▉| 542/544 [00:12<00:00, 43.23it/s][A
100%|██████████| 544/544 [00:12<00:00, 42.85it/s]
+
Processing frames: 100%|██████████| 1/1 [00:13<00:00, 13.02s/frame]
Processing frames: 100%|██████████| 1/1 [00:13<00:00, 13.02s/frame]
torch.Size([1, 1, 1360, 1360, 1])
python3 10_midgley.py
-
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:00<00:25, 3.90frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:20, 4.87frame/s]
Processing frames: 3%|▎ | 3/100 [00:00<00:18, 5.30frame/s]
Processing frames: 4%|▍ | 4/100 [00:00<00:17, 5.52frame/s]
Processing frames: 5%|▌ | 5/100 [00:00<00:17, 5.59frame/s]
Processing frames: 6%|▌ | 6/100 [00:01<00:16, 5.69frame/s]
Processing frames: 7%|▋ | 7/100 [00:01<00:15, 5.84frame/s]
Processing frames: 8%|▊ | 8/100 [00:01<00:15, 5.84frame/s]
Processing frames: 9%|▉ | 9/100 [00:01<00:15, 5.92frame/s]
Processing frames: 10%|█ | 10/100 [00:01<00:15, 5.95frame/s]
Processing frames: 11%|█ | 11/100 [00:01<00:14, 6.01frame/s]
Processing frames: 12%|█▏ | 12/100 [00:02<00:14, 6.01frame/s]
Processing frames: 13%|█▎ | 13/100 [00:02<00:15, 5.77frame/s]
Processing frames: 14%|█▍ | 14/100 [00:02<00:14, 5.84frame/s]
Processing frames: 15%|█▌ | 15/100 [00:02<00:14, 5.90frame/s]
Processing frames: 16%|█▌ | 16/100 [00:02<00:14, 5.93frame/s]
Processing frames: 17%|█▋ | 17/100 [00:02<00:13, 5.98frame/s]
Processing frames: 18%|█▊ | 18/100 [00:03<00:13, 5.99frame/s]
Processing frames: 19%|█▉ | 19/100 [00:03<00:13, 6.03frame/s]
Processing frames: 20%|██ | 20/100 [00:03<00:13, 6.07frame/s]
Processing frames: 21%|██ | 21/100 [00:03<00:13, 5.93frame/s]
Processing frames: 22%|██▏ | 22/100 [00:03<00:13, 5.81frame/s]
Processing frames: 23%|██▎ | 23/100 [00:03<00:13, 5.91frame/s]
Processing frames: 24%|██▍ | 24/100 [00:04<00:12, 6.01frame/s]
Processing frames: 25%|██▌ | 25/100 [00:04<00:12, 6.06frame/s]
Processing frames: 26%|██▌ | 26/100 [00:04<00:12, 6.06frame/s]
Processing frames: 27%|██▋ | 27/100 [00:04<00:12, 6.07frame/s]
Processing frames: 28%|██▊ | 28/100 [00:04<00:11, 6.09frame/s]
Processing frames: 29%|██▉ | 29/100 [00:04<00:11, 6.03frame/s]
Processing frames: 30%|███ | 30/100 [00:05<00:11, 6.00frame/s]
Processing frames: 31%|███ | 31/100 [00:05<00:11, 6.05frame/s]
Processing frames: 32%|███▏ | 32/100 [00:05<00:11, 5.85frame/s]
Processing frames: 33%|███▎ | 33/100 [00:05<00:11, 5.92frame/s]
Processing frames: 34%|███▍ | 34/100 [00:05<00:10, 6.01frame/s]
Processing frames: 35%|███▌ | 35/100 [00:05<00:11, 5.84frame/s]
Processing frames: 36%|███▌ | 36/100 [00:06<00:10, 5.88frame/s]
Processing frames: 37%|███▋ | 37/100 [00:06<00:10, 5.97frame/s]
Processing frames: 38%|███▊ | 38/100 [00:06<00:10, 6.04frame/s]
Processing frames: 39%|███▉ | 39/100 [00:06<00:10, 6.00frame/s]
Processing frames: 40%|████ | 40/100 [00:06<00:09, 6.06frame/s]
Processing frames: 41%|████ | 41/100 [00:06<00:09, 6.11frame/s]
Processing frames: 42%|████▏ | 42/100 [00:07<00:09, 6.12frame/s]
Processing frames: 43%|████▎ | 43/100 [00:07<00:09, 6.14frame/s]
Processing frames: 44%|████▍ | 44/100 [00:07<00:09, 6.12frame/s]
Processing frames: 45%|████▌ | 45/100 [00:07<00:09, 6.07frame/s]
Processing frames: 46%|████▌ | 46/100 [00:07<00:08, 6.07frame/s]
Processing frames: 47%|████▋ | 47/100 [00:07<00:08, 6.11frame/s]
Processing frames: 48%|████▊ | 48/100 [00:08<00:08, 6.15frame/s]
Processing frames: 49%|████▉ | 49/100 [00:08<00:08, 6.15frame/s]
Processing frames: 50%|█████ | 50/100 [00:08<00:08, 6.17frame/s]
Processing frames: 51%|█████ | 51/100 [00:08<00:07, 6.16frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:08<00:07, 6.13frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:08<00:07, 6.09frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:09<00:07, 6.11frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:09<00:07, 6.11frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:09<00:07, 6.12frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:09<00:07, 6.11frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:09<00:06, 6.11frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:09<00:06, 6.07frame/s]
Processing frames: 60%|██████ | 60/100 [00:10<00:06, 6.08frame/s]
Processing frames: 61%|██████ | 61/100 [00:10<00:06, 6.10frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:10<00:06, 6.08frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:10<00:06, 6.10frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:10<00:05, 6.11frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:10<00:05, 6.14frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:11<00:05, 6.08frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:11<00:05, 6.07frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:11<00:05, 6.09frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:11<00:05, 6.09frame/s]
Processing frames: 70%|███████ | 70/100 [00:11<00:04, 6.10frame/s]
Processing frames: 71%|███████ | 71/100 [00:11<00:04, 6.00frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:12<00:04, 6.04frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:12<00:04, 6.06frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:12<00:04, 6.07frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:12<00:04, 6.04frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:12<00:03, 6.07frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:12<00:03, 6.02frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:13<00:03, 6.08frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:13<00:03, 6.10frame/s]
Processing frames: 80%|████████ | 80/100 [00:13<00:03, 5.99frame/s]
Processing frames: 81%|████████ | 81/100 [00:13<00:03, 5.70frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:13<00:03, 5.70frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:13<00:02, 5.71frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:14<00:02, 5.72frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:14<00:02, 5.47frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:14<00:02, 5.60frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:14<00:02, 5.69frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:14<00:02, 5.73frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:14<00:01, 5.71frame/s]
Processing frames: 90%|█████████ | 90/100 [00:15<00:01, 5.56frame/s]
Processing frames: 91%|█████████ | 91/100 [00:15<00:01, 5.49frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:15<00:01, 5.62frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:15<00:01, 5.69frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:15<00:01, 5.78frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:16<00:00, 5.54frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:16<00:00, 5.41frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:16<00:00, 5.46frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:16<00:00, 5.30frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:16<00:00, 5.50frame/s]
Processing frames: 100%|██████████| 100/100 [00:16<00:00, 5.43frame/s]
Processing frames: 100%|██████████| 100/100 [00:16<00:00, 5.89frame/s]
-tacaw > wfdata torch.Size([1, 100, 1495, 1295, 1])
-Traceback (most recent call last):
- File "/home/qwe/PySlice/TWP/tests/10_midgley.py", line 54, in
- tacaw = TACAWData(exitwaves,keep_complex=True)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/qwe/PySlice/TWP/tests/../src/pyslice/postprocessing/tacaw_data.py", line 87, in __init__
- self._fft_from_wf_data(layer_index)
- File "/home/qwe/PySlice/TWP/tests/../src/pyslice/postprocessing/tacaw_data.py", line 252, in _fft_from_wf_data
- wf_fft = fftshift(wf_fft, axes=1)
- ^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/qwe/PySlice/TWP/tests/../src/pyslice/backend.py", line 148, in fftshift
- return xp.fft.fftshift(k,**kwargs)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- File "/home/qwe/.conda/envs/pyslice_env/lib/python3.12/site-packages/torch/utils/_device.py", line 104, in __torch_function__
- return func(*args, **kwargs)
- ^^^^^^^^^^^^^^^^^^^^^
-torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.89 GiB. GPU 0 has a total capacity of 15.77 GiB of which 937.25 MiB is free. Including non-PyTorch memory, this process has 14.85 GiB memory in use. Of the allocated memory 11.61 GiB is allocated by PyTorch, and 2.87 GiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)
+failed to import pySEA: No module named 'pySEA'
+
Processing frames: 0%| | 0/100 [00:00, ?frame/s]
Processing frames: 1%| | 1/100 [00:00<00:28, 3.47frame/s]
Processing frames: 2%|▏ | 2/100 [00:00<00:21, 4.62frame/s]
Processing frames: 3%|▎ | 3/100 [00:00<00:18, 5.15frame/s]
Processing frames: 4%|▍ | 4/100 [00:00<00:17, 5.45frame/s]
Processing frames: 5%|▌ | 5/100 [00:00<00:16, 5.72frame/s]
Processing frames: 6%|▌ | 6/100 [00:01<00:15, 5.91frame/s]
Processing frames: 7%|▋ | 7/100 [00:01<00:15, 5.95frame/s]
Processing frames: 8%|▊ | 8/100 [00:01<00:15, 6.03frame/s]
Processing frames: 9%|▉ | 9/100 [00:01<00:14, 6.09frame/s]
Processing frames: 10%|█ | 10/100 [00:01<00:14, 6.14frame/s]
Processing frames: 11%|█ | 11/100 [00:01<00:14, 6.18frame/s]
Processing frames: 12%|█▏ | 12/100 [00:02<00:14, 6.21frame/s]
Processing frames: 13%|█▎ | 13/100 [00:02<00:13, 6.23frame/s]
Processing frames: 14%|█▍ | 14/100 [00:02<00:13, 6.25frame/s]
Processing frames: 15%|█▌ | 15/100 [00:02<00:13, 6.28frame/s]
Processing frames: 16%|█▌ | 16/100 [00:02<00:13, 6.27frame/s]
Processing frames: 17%|█▋ | 17/100 [00:02<00:13, 6.28frame/s]
Processing frames: 18%|█▊ | 18/100 [00:03<00:13, 6.27frame/s]
Processing frames: 19%|█▉ | 19/100 [00:03<00:13, 6.23frame/s]
Processing frames: 20%|██ | 20/100 [00:03<00:12, 6.24frame/s]
Processing frames: 21%|██ | 21/100 [00:03<00:12, 6.23frame/s]
Processing frames: 22%|██▏ | 22/100 [00:03<00:12, 6.23frame/s]
Processing frames: 23%|██▎ | 23/100 [00:03<00:12, 6.25frame/s]
Processing frames: 24%|██▍ | 24/100 [00:03<00:12, 6.27frame/s]
Processing frames: 25%|██▌ | 25/100 [00:04<00:11, 6.28frame/s]
Processing frames: 26%|██▌ | 26/100 [00:04<00:11, 6.21frame/s]
Processing frames: 27%|██▋ | 27/100 [00:04<00:11, 6.23frame/s]
Processing frames: 28%|██▊ | 28/100 [00:04<00:11, 6.25frame/s]
Processing frames: 29%|██▉ | 29/100 [00:04<00:11, 6.25frame/s]
Processing frames: 30%|███ | 30/100 [00:04<00:11, 6.25frame/s]
Processing frames: 31%|███ | 31/100 [00:05<00:11, 6.24frame/s]
Processing frames: 32%|███▏ | 32/100 [00:05<00:10, 6.22frame/s]
Processing frames: 33%|███▎ | 33/100 [00:05<00:10, 6.23frame/s]
Processing frames: 34%|███▍ | 34/100 [00:05<00:10, 6.13frame/s]
Processing frames: 35%|███▌ | 35/100 [00:05<00:10, 6.18frame/s]
Processing frames: 36%|███▌ | 36/100 [00:06<00:13, 4.82frame/s]
Processing frames: 37%|███▋ | 37/100 [00:06<00:12, 5.16frame/s]
Processing frames: 38%|███▊ | 38/100 [00:06<00:11, 5.43frame/s]
Processing frames: 39%|███▉ | 39/100 [00:06<00:10, 5.63frame/s]
Processing frames: 40%|████ | 40/100 [00:06<00:10, 5.79frame/s]
Processing frames: 41%|████ | 41/100 [00:06<00:10, 5.89frame/s]
Processing frames: 42%|████▏ | 42/100 [00:07<00:09, 5.97frame/s]
Processing frames: 43%|████▎ | 43/100 [00:07<00:09, 6.08frame/s]
Processing frames: 44%|████▍ | 44/100 [00:07<00:09, 6.10frame/s]
Processing frames: 45%|████▌ | 45/100 [00:07<00:08, 6.16frame/s]
Processing frames: 46%|████▌ | 46/100 [00:07<00:08, 6.18frame/s]
Processing frames: 47%|████▋ | 47/100 [00:07<00:08, 6.16frame/s]
Processing frames: 48%|████▊ | 48/100 [00:08<00:08, 6.16frame/s]
Processing frames: 49%|████▉ | 49/100 [00:08<00:08, 5.75frame/s]
Processing frames: 50%|█████ | 50/100 [00:08<00:08, 5.79frame/s]
Processing frames: 51%|█████ | 51/100 [00:08<00:08, 5.82frame/s]
Processing frames: 52%|█████▏ | 52/100 [00:08<00:08, 5.95frame/s]
Processing frames: 53%|█████▎ | 53/100 [00:08<00:07, 6.04frame/s]
Processing frames: 54%|█████▍ | 54/100 [00:09<00:07, 6.08frame/s]
Processing frames: 55%|█████▌ | 55/100 [00:09<00:07, 6.09frame/s]
Processing frames: 56%|█████▌ | 56/100 [00:09<00:07, 6.15frame/s]
Processing frames: 57%|█████▋ | 57/100 [00:09<00:06, 6.18frame/s]
Processing frames: 58%|█████▊ | 58/100 [00:09<00:06, 6.20frame/s]
Processing frames: 59%|█████▉ | 59/100 [00:09<00:06, 6.21frame/s]
Processing frames: 60%|██████ | 60/100 [00:10<00:06, 6.18frame/s]
Processing frames: 61%|██████ | 61/100 [00:10<00:06, 6.16frame/s]
Processing frames: 62%|██████▏ | 62/100 [00:10<00:06, 6.16frame/s]
Processing frames: 63%|██████▎ | 63/100 [00:10<00:05, 6.17frame/s]
Processing frames: 64%|██████▍ | 64/100 [00:10<00:07, 5.00frame/s]
Processing frames: 65%|██████▌ | 65/100 [00:10<00:06, 5.33frame/s]
Processing frames: 66%|██████▌ | 66/100 [00:11<00:06, 5.57frame/s]
Processing frames: 67%|██████▋ | 67/100 [00:11<00:05, 5.75frame/s]
Processing frames: 68%|██████▊ | 68/100 [00:11<00:05, 5.88frame/s]
Processing frames: 69%|██████▉ | 69/100 [00:11<00:05, 5.60frame/s]
Processing frames: 70%|███████ | 70/100 [00:11<00:05, 5.70frame/s]
Processing frames: 71%|███████ | 71/100 [00:11<00:04, 5.81frame/s]
Processing frames: 72%|███████▏ | 72/100 [00:12<00:04, 5.90frame/s]
Processing frames: 73%|███████▎ | 73/100 [00:12<00:04, 5.99frame/s]
Processing frames: 74%|███████▍ | 74/100 [00:12<00:04, 6.00frame/s]
Processing frames: 75%|███████▌ | 75/100 [00:12<00:04, 6.05frame/s]
Processing frames: 76%|███████▌ | 76/100 [00:12<00:03, 6.10frame/s]
Processing frames: 77%|███████▋ | 77/100 [00:12<00:03, 6.13frame/s]
Processing frames: 78%|███████▊ | 78/100 [00:13<00:03, 6.16frame/s]
Processing frames: 79%|███████▉ | 79/100 [00:13<00:03, 6.20frame/s]
Processing frames: 80%|████████ | 80/100 [00:13<00:03, 6.10frame/s]
Processing frames: 81%|████████ | 81/100 [00:13<00:03, 6.08frame/s]
Processing frames: 82%|████████▏ | 82/100 [00:13<00:02, 6.12frame/s]
Processing frames: 83%|████████▎ | 83/100 [00:13<00:02, 6.15frame/s]
Processing frames: 84%|████████▍ | 84/100 [00:14<00:02, 6.16frame/s]
Processing frames: 85%|████████▌ | 85/100 [00:14<00:02, 6.19frame/s]
Processing frames: 86%|████████▌ | 86/100 [00:14<00:02, 6.22frame/s]
Processing frames: 87%|████████▋ | 87/100 [00:14<00:02, 6.20frame/s]
Processing frames: 88%|████████▊ | 88/100 [00:14<00:01, 6.22frame/s]
Processing frames: 89%|████████▉ | 89/100 [00:14<00:01, 6.19frame/s]
Processing frames: 90%|█████████ | 90/100 [00:15<00:01, 6.20frame/s]
Processing frames: 91%|█████████ | 91/100 [00:15<00:01, 6.20frame/s]
Processing frames: 92%|█████████▏| 92/100 [00:15<00:01, 6.20frame/s]
Processing frames: 93%|█████████▎| 93/100 [00:15<00:01, 6.15frame/s]
Processing frames: 94%|█████████▍| 94/100 [00:15<00:00, 6.20frame/s]
Processing frames: 95%|█████████▌| 95/100 [00:15<00:00, 6.20frame/s]
Processing frames: 96%|█████████▌| 96/100 [00:15<00:00, 6.16frame/s]
Processing frames: 97%|█████████▋| 97/100 [00:16<00:00, 6.19frame/s]
Processing frames: 98%|█████████▊| 98/100 [00:16<00:00, 6.16frame/s]
Processing frames: 99%|█████████▉| 99/100 [00:16<00:00, 6.17frame/s]
Processing frames: 100%|██████████| 100/100 [00:16<00:00, 6.16frame/s]
Processing frames: 100%|██████████| 100/100 [00:16<00:00, 6.01frame/s]
python3 11_SED.py
+failed to import pySEA: No module named 'pySEA'
python3 12_aberrations.py
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.86it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.84it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.86it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.88it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.89it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.89it/s]
100%|██████████| 7/7 [00:03<00:00, 1.89it/s]
100%|██████████| 7/7 [00:03<00:00, 1.88it/s]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.88it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.90it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.91it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.91it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.90it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.91it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.89it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.90it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.91it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.90it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.91it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.91it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.91it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.91it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.90it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.90it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.91it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.91it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.91it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.91it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
-
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.91it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.91it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.89it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.90it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.91it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
+failed to import pySEA: No module named 'pySEA'
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.89it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.92it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.92it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.92it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.92it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
100%|██████████| 7/7 [00:03<00:00, 1.91it/s]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.90it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.90it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.90it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.90it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.90it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.91it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.90it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.90it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.90it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.90it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.91it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.91it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.91it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.91it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.89it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.89it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.90it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.90it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.90it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.90it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.90it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
+
0%| | 0/7 [00:00, ?it/s]
14%|█▍ | 1/7 [00:00<00:03, 1.91it/s]
29%|██▊ | 2/7 [00:01<00:02, 1.90it/s]
43%|████▎ | 3/7 [00:01<00:02, 1.91it/s]
57%|█████▋ | 4/7 [00:02<00:01, 1.90it/s]
71%|███████▏ | 5/7 [00:02<00:01, 1.90it/s]
86%|████████▌ | 6/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]
100%|██████████| 7/7 [00:03<00:00, 1.90it/s]