def doStrategySuccess(self, _edPlugin=None): EDVerbose.DEBUG("EDPluginControlCharForReorientationv2_0.doStrategySuccess") self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doStrategySuccess") xsDataResultStrategy = self.edPluginControlStrategy.getDataOutput() self.xsDataResultCharacterisation.setStrategyResult(xsDataResultStrategy) self.suggestedStrategy = None self.suggestedOrientation = None self.newpossibleOrientations = None if self.edPluginControlStrategy.hasDataOutput("possibleOrientations"): EDVerbose.DEBUG("EDPluginControlCharForReorientationv2_0.doStrategySuccess: With possible orientations") #get the next orientation #create new ref data coll plan at new orirntation #remove the currently offered orientation from the list Orients = self.edPluginControlStrategy.getDataOutput("possibleOrientations")[0].getPossible_orientation() if Orients != []: omega = Orients[0].getOmega() kappa = Orients[0].getKappa() phi = Orients[0].getPhi() self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(xsDataResultStrategy,self.mxv1InputCharacterisation.getDataCollection(),omega,kappa,phi) allPossibleOrientations = self.edPluginControlStrategy.getDataOutput("possibleOrientations")[0] self.suggestedOrientation = allPossibleOrientations.possible_orientation[0] self.newpossibleOrientations=EDHandlerXSDataSTACv2_0.removeOrientation(allPossibleOrientations,kappa,phi) if self.suggestedStrategy is None: EDVerbose.DEBUG("EDPluginControlCharForReorientationv2_0.doStrategySuccess: Without possible orientations") #set the orientation for the actual strategy #we suggest the currently calculated strategy #and we have to add the actual orientation dc = self.mxv2DataCollection omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting() self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(xsDataResultStrategy,'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue(), "NO_POSSIBLE_ORIENTATIONS")
def doCharacterisationSuccess(self, _edPlugin=None): self.DEBUG("EDPluginControlCharAtNewOrientationv2_0.doCharacterisationSuccess") self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess") self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.dataOutput self.suggestedStrategy=None simple=False try: #check if there is anything to compare to #compare; for now, we only check the resolution resRef = 900 for collPlan in self.mxv1ResultCharacterisation_Reference.getStrategyResult().getCollectionPlan(): resRef = min(resRef, collPlan.getStrategySummary().getRankingResolution().getValue()) resNew = 900 for collPlan in self.xsDataResultCharacterisation.getStrategyResult().getCollectionPlan(): resNew = min(resNew, collPlan.getStrategySummary().getRankingResolution().getValue()) #now, we tolerate 15% loss of resolution if resNew > resRef * 1.15: #if there is any alternative, take the next one if self.possibleOrientations is not None and self.possibleOrientations.getPossible_orientation() != []: #take it Orients = self.possibleOrientations.getPossible_orientation() omega = Orients[0].getOmega() kappa = Orients[0].getKappa() phi = Orients[0].getPhi() self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),self.mxv1InputCharacterisation.getDataCollection(),omega,kappa,phi) self.newpossibleOrientations=EDHandlerXSDataSTACv2_0.removeOrientation(self.possibleOrientations,kappa,phi) else: #otherwise suggest to go back to the initial orientation and follow the reference DC dc = self.mxv2DataCollection_Reference omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting() self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue()) else: simple=True except: self.WARNING("Problem in suggesting the strategy") simple=True raise if simple: #we suggest the currently calculated strategy dc = self.mxv2DataCollection omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting() self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.xsDataResultCharacterisation.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue()) #add the new outputs self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation(self.xsDataResultCharacterisation) self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation_Reference(self.mxv1ResultCharacterisation_Reference) if self.suggestedStrategy is not None: self.setDataOutput(self.suggestedStrategy,"SuggestedStrategy") self.xsDataResultCharacterisationv2_0.setSuggestedStrategy(self.suggestedStrategy) if self.newpossibleOrientations is not None: self.setDataOutput(self.newpossibleOrientations,"possibleOrientations") self.xsDataResultCharacterisationv2_0.setPossibleOrientations(self.newpossibleOrientations)
def doCharacterisationSuccess(self, _edPlugin=None): EDVerbose.DEBUG("EDPluginControlCharAtNewOrientationv2_0.doCharacterisationSuccess") self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess") self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.dataOutput self.suggestedStrategy=None simple=False try: #check if there is anything to compare to #compare; for now, we only check the resolution resRef = 900 for collPlan in self.mxv1ResultCharacterisation_Reference.getStrategyResult().getCollectionPlan(): resRef = min(resRef, collPlan.getStrategySummary().getRankingResolution().getValue()) resNew = 900 for collPlan in self.xsDataResultCharacterisation.getStrategyResult().getCollectionPlan(): resNew = min(resNew, collPlan.getStrategySummary().getRankingResolution().getValue()) #now, we tolerate 15% loss of resolution if resNew > resRef * 1.15: #if there is any alternative, take the next one if self.possibleOrientations is not None and self.possibleOrientations.getPossible_orientation() != []: #take it Orients = self.possibleOrientations.getPossible_orientation() omega = Orients[0].getOmega() kappa = Orients[0].getKappa() phi = Orients[0].getPhi() self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),self.mxv1InputCharacterisation.getDataCollection(),omega,kappa,phi) self.newpossibleOrientations=EDHandlerXSDataSTACv2_0.removeOrientation(self.possibleOrientations,kappa,phi) else: #otherwise suggest to go back to the initial orientation and follow the reference DC dc = self.mxv2DataCollection_Reference omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting() self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue()) else: simple=True except: EDVerbose.WARNING("Problem in suggesting the strategy") simple=True raise if simple: #we suggest the currently calculated strategy dc = self.mxv2DataCollection omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting() self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.xsDataResultCharacterisation.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue()) #add the new outputs self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation(self.xsDataResultCharacterisation) self.xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation_Reference(self.mxv1ResultCharacterisation_Reference) if self.suggestedStrategy is not None: self.setDataOutput(self.suggestedStrategy,"SuggestedStrategy") self.xsDataResultCharacterisationv2_0.setSuggestedStrategy(self.suggestedStrategy) if self.newpossibleOrientations is not None: self.setDataOutput(self.newpossibleOrientations,"possibleOrientations") self.xsDataResultCharacterisationv2_0.setPossibleOrientations(self.newpossibleOrientations)
def doStrategySuccess(self, _edPlugin=None): EDVerbose.DEBUG( "EDPluginControlCharForReorientationv2_0.doStrategySuccess") self.retrieveSuccessMessages( _edPlugin, "EDPluginControlCharacterisationv2_0.doStrategySuccess") xsDataResultStrategy = self.edPluginControlStrategy.getDataOutput() self.xsDataResultCharacterisation.setStrategyResult( xsDataResultStrategy) self.suggestedStrategy = None self.suggestedOrientation = None self.newpossibleOrientations = None if self.edPluginControlStrategy.hasDataOutput("possibleOrientations"): EDVerbose.DEBUG( "EDPluginControlCharForReorientationv2_0.doStrategySuccess: With possible orientations" ) #get the next orientation #create new ref data coll plan at new orirntation #remove the currently offered orientation from the list Orients = self.edPluginControlStrategy.getDataOutput( "possibleOrientations")[0].getPossible_orientation() if Orients != []: omega = Orients[0].getOmega() kappa = Orients[0].getKappa() phi = Orients[0].getPhi() self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation( xsDataResultStrategy, self.mxv1InputCharacterisation.getDataCollection(), omega, kappa, phi) allPossibleOrientations = self.edPluginControlStrategy.getDataOutput( "possibleOrientations")[0] self.suggestedOrientation = allPossibleOrientations.possible_orientation[ 0] self.newpossibleOrientations = EDHandlerXSDataSTACv2_0.removeOrientation( allPossibleOrientations, kappa, phi) if self.suggestedStrategy is None: EDVerbose.DEBUG( "EDPluginControlCharForReorientationv2_0.doStrategySuccess: Without possible orientations" ) #set the orientation for the actual strategy #we suggest the currently calculated strategy #and we have to add the actual orientation dc = self.mxv2DataCollection omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting( ).getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge( )[0].getXSRotationalGoniostatSetting().getAxissetting() self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation( xsDataResultStrategy, '%.2f' % omega.getValue(), '%.2f' % kappa.getValue(), '%.2f' % phi.getValue(), "NO_POSSIBLE_ORIENTATIONS")
def doCharacterisationSuccess(self, _edPlugin=None): EDVerbose.DEBUG("EDPluginControlCharAtNewOrientationv2_0.doCharacterisationSuccess") self.retrieveSuccessMessages(_edPlugin, "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess") self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.getDataOutput() self.suggestedStrategy=None simple=False try: #check if there is anything to compare to #compare; for now, we only check the resolution resRef = 900 for collPlan in self.mxv1ResultCharacterisation_Reference.getStrategyResult().getCollectionPlan(): resRef = min(resRef, collPlan.getStrategySummary().getRankingResolution().getValue()) resNew = 900 for collPlan in self.xsDataResultCharacterisation.getStrategyResult().getCollectionPlan(): resNew = min(resNew, collPlan.getStrategySummary().getRankingResolution().getValue()) #now, we tolerate 15% loss of resolution if resNew > resRef * 1.15: #if there is any alternative, take the next one if self.possibleOrientations is not None and self.possibleOrientations.getPossible_orientation() != []: #take it # tol=0.1 # #so we will copy the strategy of collecting the reference images inputed to here but at the new orientation # #get the full strategy from the Reference # self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self.getDataInput("mxv1ResultCharacterisation_Reference")[0].getStrategyResult().marshal()) # #take only the first CollectionPlan # self.suggestedStrategy.setCollectionPlan([self.suggestedStrategy.getCollectionPlan()[0]]) # #modify the DC part taking it from the input # self.suggestedStrategy.getCollectionPlan()[0].setCollectionStrategy(self.getDataInput().getDataCollection()) # #and modify the Orientation Orients = self.possibleOrientations.getPossible_orientation() omega = Orients[0].getOmega() kappa = Orients[0].getKappa() phi = Orients[0].getPhi() # for dcplan in self.suggestedStrategy.getCollectionPlan(): # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "OMEGA=", omega)) # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "KAPPA=", kappa)) # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "PHI=", phi)) # #finally take the suggested new orientation out of the list of further possible ones # self.newpossibleOrientations.setPossible_orientation([]) # for i in range(1, Orients.__len__()): # if (math.fabs(float(Orients[i].getKappa())-float(kappa))<tol and math.fabs(float(Orients[i].getPhi())-float(phi))<tol): # self.newpossibleOrientations.addPossible_orientation(Orients[i]) self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),self.mxv1InputCharacterisation.getDataCollection(),omega,kappa,phi) self.newpossibleOrientations=EDHandlerXSDataSTACv2_0.removeOrientation(self.possibleOrientations,kappa,phi) else: # #otherwise suggest to go back to the initial orientation and follow the reference DC # self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self.getDataInput("mxv1ResultCharacterisation_Reference")[0].getStrategyResult().marshal()) # #and we have to declare the orientation in Reference to be used # dc = XSDataMXv2.XSDataCollection() dc = self.mxv2DataCollection_Reference omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting() # for dcplan in self.suggestedStrategy.getCollectionPlan(): # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "OMEGA=", '%.2f'%omega.getValue())) # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "KAPPA=", '%.2f'%kappa.getValue())) # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "PHI=", '%.2f'%phi.getValue())) self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.mxv1ResultCharacterisation_Reference.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue()) else: simple=True except: EDVerbose.WARNING("Problem in suggesting the strategy") simple=True raise if simple: # #we suggest the currently calculated strategy # self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self._EDPluginControlCharacterisationv1_2__xsDataResultCharacterisation.getStrategyResult().marshal()) # #and we have to add the actual orientation # dc = XSDataMXv2.XSDataCollection() dc = self.mxv2DataCollection omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting().getAxissetting() # for dcplan in self.suggestedStrategy.getCollectionPlan(): # dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"OMEGA=",'%.2f'%omega.getValue())) # dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"KAPPA=",'%.2f'%kappa.getValue())) # dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"PHI=",'%.2f'%phi.getValue())) self.suggestedStrategy=EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation(self.xsDataResultCharacterisation.getStrategyResult(),'%.2f'%omega.getValue(),'%.2f'%kappa.getValue(),'%.2f'%phi.getValue()) #add the new outputs xsDataResultCharacterisationv2_0 = XSDataResultCharacterisationv2_0() xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation(self.xsDataResultCharacterisation) xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation_Reference(self.mxv1ResultCharacterisation_Reference) if self.suggestedStrategy is not None: self.setDataOutput(self.suggestedStrategy,"SuggestedStrategy") xsDataResultCharacterisationv2_0.setSuggestedStrategy(self.suggestedStrategy) if self.newpossibleOrientations is not None: self.setDataOutput(self.newpossibleOrientations,"possibleOrientations") xsDataResultCharacterisationv2_0.setPossibleOrientations(self.newpossibleOrientations) self.setDataOutput(xsDataResultCharacterisationv2_0)
def doCharacterisationSuccess(self, _edPlugin=None): EDVerbose.DEBUG( "EDPluginControlCharAtNewOrientationv2_0.doCharacterisationSuccess" ) self.retrieveSuccessMessages( _edPlugin, "EDPluginControlCharacterisationv2_0.doCharacterisationSuccess") self.xsDataResultCharacterisation = self.edPluginControlCharacterisation.getDataOutput( ) self.suggestedStrategy = None simple = False try: #check if there is anything to compare to #compare; for now, we only check the resolution resRef = 900 for collPlan in self.mxv1ResultCharacterisation_Reference.getStrategyResult( ).getCollectionPlan(): resRef = min( resRef, collPlan.getStrategySummary().getRankingResolution(). getValue()) resNew = 900 for collPlan in self.xsDataResultCharacterisation.getStrategyResult( ).getCollectionPlan(): resNew = min( resNew, collPlan.getStrategySummary().getRankingResolution(). getValue()) #now, we tolerate 15% loss of resolution if resNew > resRef * 1.15: #if there is any alternative, take the next one if self.possibleOrientations is not None and self.possibleOrientations.getPossible_orientation( ) != []: #take it # tol=0.1 # #so we will copy the strategy of collecting the reference images inputed to here but at the new orientation # #get the full strategy from the Reference # self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self.getDataInput("mxv1ResultCharacterisation_Reference")[0].getStrategyResult().marshal()) # #take only the first CollectionPlan # self.suggestedStrategy.setCollectionPlan([self.suggestedStrategy.getCollectionPlan()[0]]) # #modify the DC part taking it from the input # self.suggestedStrategy.getCollectionPlan()[0].setCollectionStrategy(self.getDataInput().getDataCollection()) # #and modify the Orientation Orients = self.possibleOrientations.getPossible_orientation( ) omega = Orients[0].getOmega() kappa = Orients[0].getKappa() phi = Orients[0].getPhi() # for dcplan in self.suggestedStrategy.getCollectionPlan(): # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "OMEGA=", omega)) # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "KAPPA=", kappa)) # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "PHI=", phi)) # #finally take the suggested new orientation out of the list of further possible ones # self.newpossibleOrientations.setPossible_orientation([]) # for i in range(1, Orients.__len__()): # if (math.fabs(float(Orients[i].getKappa())-float(kappa))<tol and math.fabs(float(Orients[i].getPhi())-float(phi))<tol): # self.newpossibleOrientations.addPossible_orientation(Orients[i]) self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.mergeStrategyToNewOrientation( self.mxv1ResultCharacterisation_Reference. getStrategyResult(), self.mxv1InputCharacterisation.getDataCollection(), omega, kappa, phi) self.newpossibleOrientations = EDHandlerXSDataSTACv2_0.removeOrientation( self.possibleOrientations, kappa, phi) else: # #otherwise suggest to go back to the initial orientation and follow the reference DC # self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self.getDataInput("mxv1ResultCharacterisation_Reference")[0].getStrategyResult().marshal()) # #and we have to declare the orientation in Reference to be used # dc = XSDataMXv2.XSDataCollection() dc = self.mxv2DataCollection_Reference omega = dc.getXSSubWedge( )[0].getXSRotationalGoniostatSetting().getBaseaxissetting( ) [kappa, phi] = dc.getXSSubWedge( )[0].getXSRotationalGoniostatSetting().getAxissetting() # for dcplan in self.suggestedStrategy.getCollectionPlan(): # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "OMEGA=", '%.2f'%omega.getValue())) # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "KAPPA=", '%.2f'%kappa.getValue())) # dcplan.setComment(EDHandlerXSDataMXv1v1_0().replaceElements(dcplan.getComment(), "PHI=", '%.2f'%phi.getValue())) self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation( self.mxv1ResultCharacterisation_Reference. getStrategyResult(), '%.2f' % omega.getValue(), '%.2f' % kappa.getValue(), '%.2f' % phi.getValue()) else: simple = True except: EDVerbose.WARNING("Problem in suggesting the strategy") simple = True raise if simple: # #we suggest the currently calculated strategy # self.suggestedStrategy=XSDataMXv1.XSDataResultStrategy.parseString(self._EDPluginControlCharacterisationv1_2__xsDataResultCharacterisation.getStrategyResult().marshal()) # #and we have to add the actual orientation # dc = XSDataMXv2.XSDataCollection() dc = self.mxv2DataCollection omega = dc.getXSSubWedge()[0].getXSRotationalGoniostatSetting( ).getBaseaxissetting() [kappa, phi] = dc.getXSSubWedge( )[0].getXSRotationalGoniostatSetting().getAxissetting() # for dcplan in self.suggestedStrategy.getCollectionPlan(): # dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"OMEGA=",'%.2f'%omega.getValue())) # dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"KAPPA=",'%.2f'%kappa.getValue())) # dcplan.setComment(EDHandlerXSDataMXv1v1_0.replaceElements(dcplan.getComment(),"PHI=",'%.2f'%phi.getValue())) self.suggestedStrategy = EDHandlerXSDataMXv1v1_0.copyStrategyToNewOrientation( self.xsDataResultCharacterisation.getStrategyResult(), '%.2f' % omega.getValue(), '%.2f' % kappa.getValue(), '%.2f' % phi.getValue()) #add the new outputs xsDataResultCharacterisationv2_0 = XSDataResultCharacterisationv2_0() xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation( self.xsDataResultCharacterisation) xsDataResultCharacterisationv2_0.setMxv1ResultCharacterisation_Reference( self.mxv1ResultCharacterisation_Reference) if self.suggestedStrategy is not None: self.setDataOutput(self.suggestedStrategy, "SuggestedStrategy") xsDataResultCharacterisationv2_0.setSuggestedStrategy( self.suggestedStrategy) if self.newpossibleOrientations is not None: self.setDataOutput(self.newpossibleOrientations, "possibleOrientations") xsDataResultCharacterisationv2_0.setPossibleOrientations( self.newpossibleOrientations) self.setDataOutput(xsDataResultCharacterisationv2_0)