def _ctfToMd(self, ctf, ctfMd): """ Write the proper metadata for Xmipp from a given CTF """ ctfMd.clear() ctfRow = Row() convert.ctfModelToRow(ctf, ctfRow) convert.micrographToRow(ctf.getMicrograph(), ctfRow, alignType=convert.ALIGN_NONE) ctfRow.addToMd(ctfMd)
def _pickMicrograph(self, mic, *args): """ This method should be invoked only when working in streaming mode. """ micRow = md.Row() self._preprocessMicrographRow(mic, micRow) micrographToRow(mic, micRow) self._postprocessMicrographRow(mic, micRow) self._pickMicrographsFromStar(self._getMicStarFile(mic), *args)
def _pickMicrograph(self, mic, params, threshold, minDistance, fom): """ This method should be invoked only when working in streaming mode. """ micRow = md.Row() self._preprocessMicrographRow(mic, micRow) micrographToRow(mic, micRow) self._postprocessMicrographRow(mic, micRow) self._pickMicrographsFromStar(self._getMicStarFile(mic), params, threshold, minDistance, fom)
def _computeCTFDiscrepancyStep(self, ctfId, method1, method2): #TODO must be same micrographs #convert to md mdList = [MetaData(), MetaData()] ctfList = [self.inputCTFs[method1].get()[ctfId], self.inputCTFs[method2].get()[ctfId]] ctfRow = Row() for md, ctf in izip(mdList, ctfList): objId = md.addObject() convert.ctfModelToRow(ctf, ctfRow) convert.micrographToRow(ctf.getMicrograph(), ctfRow, alignType=convert.ALIGN_NONE) ctfRow.writeToMd(md, objId) self._freqResol[(method1, method2, ctfId)] = xmipp.errorMaxFreqCTFs2D(*mdList)
def _pickMicrograph(self, mic, params, threshold, minDistance, fom): """ This method should be invoked only when working in streaming mode. """ # We need to write the needed star files # TODO: We need to check when working in real streaming, not all # TODO: CTF will be available and this needs to be taken into account micRow = md.Row() self._preprocessMicrographRow(mic, micRow) micrographToRow(mic, micRow) self._postprocessMicrographRow(mic, micRow) print micRow self._pickMicrographsFromStar(self._getMicStarFile(mic), params, threshold, minDistance, fom)
def _computeCTFDiscrepancyStep(self, ctfId, method1, method2): #TODO must be same micrographs #convert to md mdList = [MetaData(), MetaData()] ctfList = [ self.inputCTFs[method1].get()[ctfId], self.inputCTFs[method2].get()[ctfId] ] ctfRow = Row() for md, ctf in izip(mdList, ctfList): objId = md.addObject() convert.ctfModelToRow(ctf, ctfRow) convert.micrographToRow(ctf.getMicrograph(), ctfRow, alignType=convert.ALIGN_NONE) ctfRow.writeToMd(md, objId) self._freqResol[(method1, method2, ctfId)] = xmipp.errorMaxFreqCTFs2D(*mdList)