def test_even_projections(self): """ Evenly distributed em2d image projections from a PDB file""" smodel = IMP.Model() ssel = IMP.atom.ATOMPDBSelector() prot = IMP.atom.read_pdb(self.get_input_file_name("1z5s.pdb"), smodel, ssel) IMP.atom.add_radii(prot) particles = IMP.core.get_leaves(prot) n_projections = 3 rows = 80 cols = 80 resolution = 1 apix = 1.5 srw = em2d.SpiderImageReaderWriter() registration_values = em2d.get_evenly_distributed_registration_results(n_projections) options = em2d.ProjectingOptions(apix, resolution) projections = em2d.get_projections(particles, registration_values, rows, cols, options) # Read the stored projections stored_projection_names = em2d.create_filenames(n_projections, "1z5s-fast-projection", "spi") for n in xrange(0, n_projections): stored_projection_names[n] = self.get_input_file_name(stored_projection_names[n]) stored_projections = em2d.read_images(stored_projection_names, srw) # check for n in xrange(0, n_projections): for i in xrange(0, rows): for j in xrange(0, cols): self.assertAlmostEqual( projections[n](i, j), stored_projections[n](i, j), delta=0.001, msg="Projections generated and stored are different", )
def test_even_projections(self): """ Evenly distributed em2d image projections from a PDB file""" smodel = IMP.Model() ssel = IMP.atom.ATOMPDBSelector() prot = IMP.atom.read_pdb(self.get_input_file_name("1z5s.pdb"), smodel, ssel) IMP.atom.add_radii(prot) particles = IMP.core.get_leaves(prot) n_projections = 3 rows = 80 cols = 80 resolution = 1 apix = 1.5 srw = em2d.SpiderImageReaderWriter() registration_values = em2d.get_evenly_distributed_registration_results( n_projections) options = em2d.ProjectingOptions(apix, resolution) projections = em2d.get_projections(particles, registration_values, rows, cols, options) # Read the stored projections stored_projection_names = em2d.create_filenames( n_projections, "1z5s-fast-projection", "spi") for n in range(0, n_projections): stored_projection_names[n] = self.get_input_file_name( stored_projection_names[n]) stored_projections = em2d.read_images(stored_projection_names, srw) # check for n in range(0, n_projections): for i in range(0, rows): for j in range(0, cols): self.assertAlmostEqual(projections[n](i, j), stored_projections[n](i, j), delta=0.001, msg="Projections generated and stored are different")
import IMP import IMP.em2d as em2d import os """ Conversion of Electron Microscopy Images. """ # Read images fn_selection=em2d.get_example_path("all-1z5s-projections.sel") srw = em2d.SpiderImageReaderWriter() trw = em2d.TIFFImageReaderWriter() fn_images=em2d.read_selection_file(fn_selection) fn_images = [em2d.get_example_path(x) for x in fn_images] images = em2d.read_images(fn_images,srw) # write fn_saved=em2d.create_filenames(3,"1z5s-projection","tif") em2d.save_images(images,fn_saved,trw)
## \example em2d/em_images_conversion.py # Conversion of Electron Microscopy Images. # import IMP import IMP.em2d as em2d import os """ Conversion of Electron Microscopy Images. """ # Read images fn_selection = em2d.get_example_path("all-1z5s-projections.sel") srw = em2d.SpiderImageReaderWriter() trw = em2d.TIFFImageReaderWriter() fn_images = em2d.read_selection_file(fn_selection) fn_images = [em2d.get_example_path(x) for x in fn_images] images = em2d.read_images(fn_images, srw) # write fn_saved = em2d.create_filenames(3, "1z5s-projection", "tif") em2d.save_images(images, fn_saved, trw)