|
@@ -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)
|
|
|
|