def convertCoords2PL(coordinate_files, particleList_file, subtomoPrefix=None, wedgeAngles=None, angleList=False): pl = ParticleList() for n, coordinate_file in enumerate(coordinate_files): wedgeAngle = wedgeAngles[2 * n:2 * (n + 1)] sourceInfo = pl.loadCoordinateFileHeader(coordinate_file) l2 = len(pl) pl.loadCoordinateFile(filename=coordinate_file, name_prefix=subtomoPrefix[n], wedgeAngle=wedgeAngle, sourceInfo=sourceInfo) try: cc = 180. / numpy.pi for i in range(len(pl) - l2): z1, z2, x = random.choice(angleList) pl[-i - 1].setRotation(rotation=Rotation( z1=z1 * cc, z2=z2 * cc, x=x * cc, paradigm='ZXZ')) except: pass pl.toXMLFile(particleList_file)