def readWriteXMLTransform(projectPath,layerIndex,folder): ''' 1-Take the TrakEM project 'projectPath' 2-Read the transformation of the first patch of layer 'layerIndex' 3-Read the locations of the first patch of layer 'layerIndex' and layer '1-layerIndex'. This is used to calculate the offset of the EM and LM images in the initial transformation file 4-Write as a simple text file in folder + title of the project + InitialTransform.txt ''' project = Project.openFSProject(projectPath, False) layerset = project.getRootLayerSet() layers = layerset.getLayers() layer = layerset.getLayers().get(layerIndex) patches = layer.getDisplayables(Patch) t = patches.get(0).getAffineTransform() transPath = folder + project.getTitle() + 'InitialTransform.txt.txt' f = open(transPath,'w') f.write( str(t.getScaleX()) + "\n") f.write( str(t.getShearY())+ "\n") f.write( str(t.getShearX())+ "\n") f.write( str(t.getScaleY())+ "\n") f.write( str(t.getTranslateX())+ "\n") f.write( str(t.getTranslateY())+ "\n") f.write ( str( layers.get(layerIndex).getDisplayables(Patch).get(0).getX() ) + '\n') f.write ( str( layers.get(layerIndex).getDisplayables(Patch).get(0).getY() ) + '\n') f.write ( str( layers.get(1-layerIndex).getDisplayables(Patch).get(0).getX() ) + '\n') f.write ( str( layers.get(1-layerIndex).getDisplayables(Patch).get(0).getY() ) + '\n') f.close() IJ.log('Transformation saved in: ' + transPath) # read the parameters of the transformations trans = [] f = open(transPath,'r') while 1: line = f.readline() if not line: break IJ.log(line) trans.append(float(line)) f.close IJ.log('Transformation: ' + str(trans)) closeProject(project) return trans
def openTrakemProject(path, mipmap = False): project = Project.openFSProject(cleanLinuxPath(path), False) return getProjectUtils(project, mipmap)
"/data/research/se/celegans/dataset3/N2DA_1430-2/M5/", "/data/research/se/celegans/dataset3/N2DA_1430-2/N1/", "/data/research/se/celegans/dataset3/N2DA_1430-2/N2/" ] for i in range(len(proj_list)): data_dir = proj_list[i] proj_dir = os.path.join(data_dir, "montage_v1") img_dir = os.path.join(data_dir, "transformed") if not os.path.isdir(img_dir): os.makedirs(img_dir) proj_name = os.path.join(proj_dir, "montage_v1.xml") project = Project.openFSProject(proj_name) layerset = project.getRootLayerSet() layer_list = layerset.getLayers() fname_trans = os.path.join(data_dir, "transform.csv") fw = open(fname_trans, "w") for j in range(len(layer_list)): layer = layer_list[j] tiles = layer.getDisplayables(Patch) patches = layer.getDisplayables(Patch) for k in range(len(patches)):