Browse Source

Fix reconstruction

Matthias Vogelgesang 7 years ago
parent
commit
65a9f24bae
1 changed files with 26 additions and 25 deletions
  1. 26 25
      cockpit

+ 26 - 25
cockpit

@@ -392,32 +392,33 @@ class Application(object):
     def on_reconstruct(self):
         self.log.highlight("Reconstructing ...")
 
-        with open(os.path.join(self.prefix, 'params.json')) as f:
-            info = self.read_info()
-            opt = json.load(f)
+        path = self.current.join_path('fc')
+
+        if not have_data(path):
+            if not self.flat_correct(path):
+                return False
+
+        params = self.read_optimal_params()
+        info = self.read_info()
+        x_region = 960
+        y_region = 960
 
-            lamino_angle = opt['lamino-angle']['value']
-            axis = opt['x-center']['value']
-
-            x_region = 960
-            y_region = 960
-
-            cmd = ('tofu lamino --verbose'
-                   ' --projections {prefix}/fc'
-                   ' --x-region="-{x_region},{x_region},1"'
-                   ' --y-region="-{y_region},{y_region},1"'
-                   ' --lamino-angle {lamino_angle}'
-                   ' --axis {x_axis},{y_axis}'
-                   ' --overall-angle -360'
-                   ' --pixel-size {pixel_size}e-6'
-                   ' --roll-angle 0'
-                   ' --slices-per-device 300'
-                   ' --output {prefix}/slices/slice'
-                   .format(pixel_size=info['PixelSize'],
-                           x_region=x_region, y_region=y_region,
-                           lamino_angle=lamino_angle,
-                           x_axis=axis, y_axis=float(info['Dim_2']) / 2,
-                           prefix=self.prefix))
+        cmd = ('tofu lamino --verbose'
+               ' --projections {prefix}/fc'
+               ' --x-region="-{x_region},{x_region},1"'
+               ' --y-region="-{y_region},{y_region},1"'
+               ' --lamino-angle {lamino_angle}'
+               ' --axis {x_axis},{y_axis}'
+               ' --overall-angle -360'
+               ' --pixel-size {pixel_size}e-6'
+               ' --roll-angle 0'
+               ' --slices-per-device 300'
+               ' --output {prefix}/slices/slice'
+               .format(pixel_size=info['PixelSize'],
+                       x_region=x_region, y_region=y_region,
+                       lamino_angle=params.angle,
+                       x_axis=params.axis, y_axis=float(info['Dim_2']) / 2,
+                       prefix=self.current.prefix))
 
         return self.run_command(cmd)