#!/usr/bin/env python
# Use to dose compensate stack after you have done post processing (eg. TomoCTF correction).
# Usage: ./stack_dose_compensate.py stack_dose_lp_list.txt <input_stack> <output_stack>
import sys
import numpy as np
from pyami import mrc
from appionlib.apImage import imagefilter
f=open(sys.argv[1],'r')
stack = mrc.read(sys.argv[2])
lps=[]
for row in f.readlines():
	lps.append(row.split(' ')[2])
f.close()
new_stack=[]
for i in range(len(stack)):
	im = imagefilter.lowPassFilter(stack[i], apix=float(1.76302), radius=float(lps[i]), msg=False)
	new_stack.append(im)
mrc.write(np.asarray(new_stack), sys.argv[3])
