diff --git a/ImageIterator.py b/ImageIterator.py index 08dd004efe5cf9bd61341f3ed2eeb04d4c4193c2..07e1072df59bcc6cc974e7a3707a5058ac2a4ee5 100644 --- a/ImageIterator.py +++ b/ImageIterator.py @@ -34,26 +34,19 @@ class ImageIterator(): self.working_folder = parameters["working_folder"] if ("working_folder" in parameters) else "." self.working_basename = parameters["working_basename"] if ("working_basename" in parameters) else "sol" + self.register_ref_frame = parameters["register_ref_frame"] if ("register_ref_frame" in parameters) else False self.initialize_DU_with_DUold = parameters["initialize_DU_with_DUold"] if ("initialize_DU_with_DUold" in parameters) else False def iterate(self): - self.printer.print_str("Writing initial solution…") - self.printer.inc() - if not os.path.exists(self.working_folder): os.mkdir(self.working_folder) pvd_basename = self.working_folder+"/"+self.working_basename for vtu_filename in glob.glob(pvd_basename+"_[0-9]*.vtu"): os.remove(vtu_filename) - ddic.write_VTU_file( - filebasename=pvd_basename, - function=self.problem.U, - time=self.problem.images_ref_frame) - self.printer.dec() self.printer.print_str("Initializing QOI file…") self.printer.inc() @@ -62,11 +55,26 @@ class ImageIterator(): qoi_printer = mypy.DataPrinter( names=qoi_names, filename=qoi_filebasename+".dat") - qoi_values = [self.problem.images_ref_frame]+self.problem.get_qoi_values() - qoi_printer.write_line( - values=qoi_values) - self.printer.dec() + if not (self.register_ref_frame): + self.printer.print_str("Writing initial solution…") + self.printer.inc() + + ddic.write_VTU_file( + filebasename=pvd_basename, + function=self.problem.U, + time=self.problem.images_ref_frame) + + self.printer.dec() + self.printer.print_str("Writing initial QOI…") + self.printer.inc() + + qoi_values = [self.problem.images_ref_frame]+self.problem.get_qoi_values() + qoi_printer.write_line( + values=qoi_values) + + self.printer.dec() + self.printer.print_str("Looping over frames…") n_iter_tot = 0 @@ -75,9 +83,15 @@ class ImageIterator(): self.printer.print_var("forward_or_backward",forward_or_backward) if (forward_or_backward == "forward"): - k_frames = range(self.problem.images_ref_frame+1, self.problem.images_n_frames, +1) + if not (self.register_ref_frame): + k_frames = range(self.problem.images_ref_frame+1, self.problem.images_n_frames, +1) + else: + k_frames = range(self.problem.images_ref_frame , self.problem.images_n_frames, +1) elif (forward_or_backward == "backward"): - k_frames = range(self.problem.images_ref_frame-1, -1, -1) + if not (self.register_ref_frame): + k_frames = range(self.problem.images_ref_frame-1, -1, -1) + else: + k_frames = range(self.problem.images_ref_frame , -1, -1) #self.printer.print_var("k_frames",k_frames) if (forward_or_backward == "backward"): @@ -122,7 +136,7 @@ class ImageIterator(): time=k_frame) self.printer.dec() - self.printer.print_str("Writing QOI file…") + self.printer.print_str("Writing QOI…") self.printer.inc() qoi_printer.write_line(