def writeCoordsConfig(configFn, boxSize, state): """ Write the config.xmd file needed for Xmipp picker. Params: configFn: The filename were to store the configuration. boxSize: the box size in pixels for extraction. state: picker state """ # Write config.xmd metadata print("writeCoordsConfig: state=", state) table = Table(columns=['particleSize', 'pickingState']) table.addRow(int(boxSize), state) table.write(configFn, tableName='properties')
def test_addColumns(self): tmpOutput = '/tmp/sampling.star' print("Checking addColumns to %s..." % tmpOutput) dataFile = testfile('star', 'refine3d', 'run_it016_sampling.star') table = Table(fileName=dataFile, tableName='sampling_directions') expectedCols = ['rlnAngleRot', 'rlnAngleTilt', 'rlnAnglePsi', 'rlnExtraAngle1', 'rlnExtraAngle2', 'rlnAnotherConst' ] self.assertEqual(expectedCols[:2], table.getColumnNames()) table.addColumns('rlnAnglePsi=0.0', 'rlnExtraAngle1=rlnAngleRot', 'rlnExtraAngle2=rlnExtraAngle1', 'rlnAnotherConst=1000') self.assertEqual(expectedCols, table.getColumnNames()) # Check values def _values(colName): return table.getColumnValues(colName) for v1, v2, v3 in zip(_values('rlnAngleRot'), _values('rlnExtraAngle1'), _values('rlnExtraAngle2')): self.assertAlmostEqual(v1, v2) self.assertAlmostEqual(v1, v3) self.assertTrue(all(v == 1000 for v in _values('rlnAnotherConst'))) table.write(tmpOutput, tableName='sampling_directions')