diff --git a/align.py b/align.py
index 233837955851d18ec0d87beb7f15a3c724a65e82..2be1c85cf25e76526554ef7f02af5ce3085d421e 100644
--- a/align.py
+++ b/align.py
@@ -16,13 +16,21 @@ from scipy.ndimage import laplace, rotate
 import json
 
 
-def align_multichip(BF_TRITC_2D_path, out_path, concentrations_path, template_path, labels_path, table_path, fit_poisson, nmax=10):
+def align_multichip(
+    BF_TRITC_2D_path, 
+    out_path, 
+    concentrations_path, 
+    template_path, 
+    labels_path, 
+    table_path, 
+    fit_poisson, 
+    nmax=10):
     with open(concentrations_path, 'r') as f:
         concentrations_dct = (yaml.safe_load(f))
     concentrations = concentrations_dct['concentrations']
-    if "rotation_template_deg" in concentrations_dct:
-        rotate_template_deg = int(concentrations_dct["rotation_template_deg"])
-        print(f'Rotation: {rotate_template_deg}')
+    if "rotation_data_deg" in concentrations_dct:
+        rotation_data_deg = int(concentrations_dct["rotation_data_deg"])
+        print(f'Rotation: {rotation_data_deg}')
     else:
         rotate_template_deg = 0
     print('concentrations: ', concentrations)
@@ -32,9 +40,6 @@ def align_multichip(BF_TRITC_2D_path, out_path, concentrations_path, template_pa
     
     data = read_dask(BF_TRITC_2D_path)
     template16 = tf.imread(template_path)
-    if rotate_template_deg != 0:
-        data = da.from_array(rotate(data, rotate_template_deg))
-        print(f'Rotated data {rotate_template_deg} deg')
     big_labels = tf.imread(labels_path)
 
     fun = partial(
@@ -43,7 +48,8 @@ def align_multichip(BF_TRITC_2D_path, out_path, concentrations_path, template_pa
         big_labels=big_labels,
         unit=unit,
         fit_poisson=fit_poisson,
-        nmax=nmax )
+        nmax=nmax,
+        rotation_data_deg=rotation_data_deg )
     
     try:
         p=Pool(data.shape[0])
@@ -89,7 +95,16 @@ def align_multichip(BF_TRITC_2D_path, out_path, concentrations_path, template_pa
 def align_parallel(args, **kwargs):
     return align2D(*args, **kwargs)
     
-def align2D(stack_dask, path_tif, ab, template16=None, big_labels=None, unit='μg_mL', fit_poisson=True, nmax=20):
+def align2D(
+    stack_dask, 
+    path_tif, 
+    ab, 
+    template16=None, 
+    big_labels=None, 
+    unit='μg_mL', 
+    fit_poisson=True, 
+    nmax=20, 
+    rotation_data_deg=0):
     print(ab, unit)
     try:
         aligned = tf.imread(path_tif)
@@ -102,6 +117,10 @@ def align2D(stack_dask, path_tif, ab, template16=None, big_labels=None, unit='μ
         print('Processing...')
         
     data = stack_dask.compute()
+    if rotation_data_deg != 0:
+        data = rotate(data, rotation_data_deg)
+        print(f'Rotated data {rotation_data_deg} deg')
+        
     aligned, tvec = register.align_stack(
         data, 
         path_to_save=None,