Beispiel #1
0
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')
Beispiel #2
0
    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')