'''Q:''' ''I would like to shift a stack of particles according to a x,y document (whole integers to avoid interpolation), and I wonder if it is possible with eman ?''

'''A:'''
This isn't how EMAN usually does things, so none of the canned command-line programs will do this, but this simple script should do:

{{{python
from EMAN import *

imgs=readImages("input.hed",-1,-1)				# reads all of the images in input.hed, any file format is fine
trans=file("translations.txt","r").readlines()			# reads all of the lines in the text file
trans=[i.split() for i in trans]				# turns "x y" into "x","y" (assumes space or tab delimiter

for i in len(imgs):
	imgs[i].setTAlign(int(trans[i][0]),int(trans[i][1]))	# set the translation
	imgs[i].fastTranslate()					# do the integer only translation
	imgs[i].writeImage("translated.hed",i)			# write the translated images to the output

}}}


Anyway, there are some simple modifications to make this script do many different things, like
{{{i.split() -> i.split(",")}}} 
if you have a comma delimited file, or
{{{imgs[i].setRAlign(value)
imgs[i].rotateAndTranslate()}}}  if you want to do rotation and translation in one step

I should note that if you do this interactively you will have to enter 2 blank lines at the end of the
script so it knows you have finished the 'for' block.  Also, if you aren't familiar with python,
the indentation after the 'for' line is very important. It doesn't matter how much you indent as long
as all of the lines are indented by the same amount.

You can put this script in a file, then type 'python <file>' to run it noninteractively. There are
many other simple examples in the EMAN/python directory.