Changeset 5086
- Timestamp:
- Nov 18, 2021 12:17:50 AM (2 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIseqGUI.py
r5042 r5086 900 900 def onSelectSeqVars(event): 901 901 '''Select which variables will be shown in table''' 902 hides = [saveColLabels[ 1:].index(item) for item in G2frame.SeqTblHideList if903 item in saveColLabels[ 1:]]902 hides = [saveColLabels[2:].index(item) for item in G2frame.SeqTblHideList if 903 item in saveColLabels[2:]] 904 904 dlg = G2G.G2MultiChoiceDialog(G2frame, 'Select columns to hide', 905 'Hide columns',saveColLabels[ 1:])905 'Hide columns',saveColLabels[2:]) 906 906 dlg.SetSelections(hides) 907 907 if dlg.ShowModal() == wx.ID_OK: 908 G2frame.SeqTblHideList = [saveColLabels[ 1:][sel] for sel in dlg.GetSelections()]908 G2frame.SeqTblHideList = [saveColLabels[2:][sel] for sel in dlg.GetSelections()] 909 909 dlg.Destroy() 910 910 UpdateSeqResults(G2frame,data,G2frame.dataDisplay.GetSize()) # redisplay variables … … 913 913 914 914 def OnCellChange(event): 915 c = event.GetCol() 916 if c != 1: return 915 917 r = event.GetRow() 916 val = G2frame.SeqTable.GetValue(r, 0)917 # print (r,val) 918 G2frame.SeqTable.SetValue(r, 0, val)918 val = G2frame.SeqTable.GetValue(r,c) 919 data['Use'][r] = val 920 G2frame.SeqTable.SetValue(r,c, val) 919 921 920 922 def OnSelectUpdate(event): … … 1224 1226 #else: 1225 1227 # G2frame.dataWindow.SequentialFile.Enable(G2G.wxID_ORGSEQSEL,False) 1226 # ----- build up the data table by columns -----------------------------------------------1228 ####-- build up the data table by columns ----------------------------------------------- 1227 1229 histNames = foundNames 1228 1230 nRows = len(histNames) 1229 G2frame.colList = [list(range(nRows)),nRows*[True]] 1231 G2frame.colList = [list(range(nRows))] 1232 if len(data.get('Use',[])) != nRows: 1233 data['Use'] = nRows*[True] 1234 G2frame.colList += [data['Use']] 1230 1235 G2frame.colSigs = [None,None,] 1231 1236 colLabels = ['No.','Use',] … … 1524 1529 del G2frame.colList[l] 1525 1530 del G2frame.colSigs[l] 1531 if deltaChiCol == l: 1532 deltaChiCol = None 1526 1533 1527 1534 # make a copy of the column labels substituting alternate labels when defined … … 1564 1571 G2frame.dataDisplay.AutoSizeColumns(False) 1565 1572 # highlight unconverged shifts 1566 if histNames[0][:4] not in ['SASD','IMG ','REFD',] :1573 if histNames[0][:4] not in ['SASD','IMG ','REFD',] and deltaChiCol is not None: 1567 1574 for row,name in enumerate(histNames): 1568 1575 deltaChi = G2frame.SeqTable.GetValue(row,deltaChiCol) -
trunk/exports/G2export_CIF.py
r5085 r5086 407 407 # Refactored over here to allow access by GSASIIscriptable.py 408 408 def WriteCIFitem(fp, name, value=''): 409 '''Helper function for writing CIF output. Translated from exports/G2export_CIF.py'''410 # Ignore unicode issues409 '''Helper function for writing CIF output.''' 410 # Ignores unicode issues 411 411 if value: 412 if "\n" in value or len(value)> 70:412 if "\n" in value or (len(value) > 70 and ' ' in value.strip()): 413 413 if name.strip(): 414 414 fp.write(name+'\n') … … 770 770 '\n _atom_site.fract_z'+ 771 771 '\n _atom_site.occupancy'+ 772 '\n _atom_site. U_iso_or_equiv'+772 '\n _atom_site.B_iso_or_equiv'+ 773 773 '\n _atom_site.Cartn_x'+ 774 774 '\n _atom_site.Cartn_y'+ … … 834 834 else: 835 835 dig = 5 836 sigdig = -0.0 9836 sigdig = -0.009 837 837 var = pfx+varnames[j]+":"+str(i) 838 838 dvar = pfx+"d"+varnames[j]+":"+str(i) … … 842 842 val = parmDict.get(var,at[j]) 843 843 sig = sigDict.get(dvar,sigdig) 844 if j == cia+1: # convert U to B 845 val *= 8*np.pi**2 846 sig *= 8*np.pi**2 844 847 if dvar in G2mv.GetDependentVars(): # do not include an esd for dependent vars 845 848 sig = -abs(sig) … … 1356 1359 BLtable = G2el.GetBLtable(General) 1357 1360 1358 WriteCIFitem(fp, '\nloop_ _atom_ site.type_symbol _atom_type.number_in_cell')1361 WriteCIFitem(fp, '\nloop_ _atom_type.symbol _atom_type.number_in_cell') 1359 1362 s = ' ' 1360 1363 if not quickmode: … … 2374 2377 phasedict['General']['SGData']['SGSys']) 2375 2378 2376 if phasedict['General']['Type'] in ['nuclear','macromolecular']: 2377 spacegroup = phasedict['General']['SGData']['SpGrp'].strip() 2378 # regularize capitalization and remove trailing H/R 2379 spacegroup = spacegroup[0].upper() + spacegroup[1:].lower().rstrip('rh ') 2380 WriteCIFitem(self.fp, '_symmetry_space_group_name_H-M',spacegroup) 2379 # moved to WriteSeqPhaseVals() 2380 # if phasedict['General']['Type'] in ['nuclear','macromolecular']: 2381 # spacegroup = phasedict['General']['SGData']['SpGrp'].strip() 2382 # # regularize capitalization and remove trailing H/R 2383 # spacegroup = spacegroup[0].upper() + spacegroup[1:].lower().rstrip('rh ') 2384 # WriteCIFitem(self.fp, '_symmetry_space_group_name_H-M',spacegroup) 2381 2385 2382 # generate symmetry operations including centering and center of symmetry2383 SymOpList,offsetList,symOpList,G2oprList,G2opcodes = G2spc.AllOps(2384 phasedict['General']['SGData'])2385 WriteCIFitem(self.fp, 'loop_\n _space_group_symop_id\n _space_group_symop_operation_xyz')2386 for i,op in enumerate(SymOpList,start=1):2387 WriteCIFitem(self.fp, ' {:3d} {:}'.format(i,op.lower()))2388 elif phasedict['General']['Type'] == 'magnetic':2389 parentSpGrp = phasedict['General']['SGData']['SpGrp'].strip()2390 parentSpGrp = parentSpGrp[0].upper() + parentSpGrp[1:].lower().rstrip('rh ')2391 WriteCIFitem(self.fp, '_parent_space_group.name_H-M_alt',parentSpGrp)2392 # [Trans,Uvec,Vvec] = phasedict['General']['SGData']['fromParent'] #save these2393 spacegroup = phasedict['General']['SGData']['MagSpGrp'].strip()2394 spacegroup = spacegroup[0].upper() + spacegroup[1:].lower().rstrip('rh ')2395 WriteCIFitem(self.fp, '_space_group_magn.name_BNS',spacegroup)2396 WriteCIFitem(self.fp, '_space_group.magn_point_group',phasedict['General']['SGData']['MagPtGp'])2397 2398 # generate symmetry operations including centering and center of symmetry2399 SymOpList,offsetList,symOpList,G2oprList,G2opcodes = G2spc.AllOps(2400 phasedict['General']['SGData'])2401 SpnFlp = phasedict['General']['SGData']['SpnFlp']2402 WriteCIFitem(self.fp, 'loop_\n _space_group_symop_magn_operation.id\n _space_group_symop_magn_operation.xyz')2403 for i,op in enumerate(SymOpList,start=1):2404 if SpnFlp[i-1] >0:2405 opr = op.lower()+',+1'2406 else:2407 opr = op.lower()+',-1'2408 WriteCIFitem(self.fp, ' {:3d} {:}'.format(i,opr))2386 # # generate symmetry operations including centering and center of symmetry 2387 # SymOpList,offsetList,symOpList,G2oprList,G2opcodes = G2spc.AllOps( 2388 # phasedict['General']['SGData']) 2389 # WriteCIFitem(self.fp, 'loop_\n _space_group_symop_id\n _space_group_symop_operation_xyz') 2390 # for i,op in enumerate(SymOpList,start=1): 2391 # WriteCIFitem(self.fp, ' {:3d} {:}'.format(i,op.lower())) 2392 # elif phasedict['General']['Type'] == 'magnetic': 2393 # parentSpGrp = phasedict['General']['SGData']['SpGrp'].strip() 2394 # parentSpGrp = parentSpGrp[0].upper() + parentSpGrp[1:].lower().rstrip('rh ') 2395 # WriteCIFitem(self.fp, '_parent_space_group.name_H-M_alt',parentSpGrp) 2396 # # [Trans,Uvec,Vvec] = phasedict['General']['SGData']['fromParent'] #save these 2397 # spacegroup = phasedict['General']['SGData']['MagSpGrp'].strip() 2398 # spacegroup = spacegroup[0].upper() + spacegroup[1:].lower().rstrip('rh ') 2399 # WriteCIFitem(self.fp, '_space_group_magn.name_BNS',spacegroup) 2400 # WriteCIFitem(self.fp, '_space_group.magn_point_group',phasedict['General']['SGData']['MagPtGp']) 2401 2402 # # generate symmetry operations including centering and center of symmetry 2403 # SymOpList,offsetList,symOpList,G2oprList,G2opcodes = G2spc.AllOps( 2404 # phasedict['General']['SGData']) 2405 # SpnFlp = phasedict['General']['SGData']['SpnFlp'] 2406 # WriteCIFitem(self.fp, 'loop_\n _space_group_symop_magn_operation.id\n _space_group_symop_magn_operation.xyz') 2407 # for i,op in enumerate(SymOpList,start=1): 2408 # if SpnFlp[i-1] >0: 2409 # opr = op.lower()+',+1' 2410 # else: 2411 # opr = op.lower()+',-1' 2412 # WriteCIFitem(self.fp, ' {:3d} {:}'.format(i,opr)) 2409 2413 2410 2414 lam = None … … 2431 2435 phasedict['General']['SGData']['SGSys']) 2432 2436 2437 # generate symmetry operations including centering and center of symmetry 2438 # note that this would be better in WriteSeqOverallPhaseInfo() so there could 2439 # be only one copy per phase 2433 2440 if phasedict['General']['Type'] in ['nuclear','macromolecular']: 2434 2441 spacegroup = phasedict['General']['SGData']['SpGrp'].strip() … … 2436 2443 spacegroup = spacegroup[0].upper() + spacegroup[1:].lower().rstrip('rh ') 2437 2444 WriteCIFitem(self.fp, '_symmetry_space_group_name_H-M',spacegroup) 2445 2446 # generate symmetry operations including centering and center of symmetry 2447 SymOpList,offsetList,symOpList,G2oprList,G2opcodes = G2spc.AllOps( 2448 phasedict['General']['SGData']) 2449 WriteCIFitem(self.fp, 'loop_\n _space_group_symop_id\n _space_group_symop_operation_xyz') 2450 for i,op in enumerate(SymOpList,start=1): 2451 WriteCIFitem(self.fp, ' {:3d} {:}'.format(i,op.lower())) 2452 elif phasedict['General']['Type'] == 'magnetic': 2453 parentSpGrp = phasedict['General']['SGData']['SpGrp'].strip() 2454 parentSpGrp = parentSpGrp[0].upper() + parentSpGrp[1:].lower().rstrip('rh ') 2455 WriteCIFitem(self.fp, '_parent_space_group.name_H-M_alt',parentSpGrp) 2456 # [Trans,Uvec,Vvec] = phasedict['General']['SGData']['fromParent'] #save these 2457 spacegroup = phasedict['General']['SGData']['MagSpGrp'].strip() 2458 spacegroup = spacegroup[0].upper() + spacegroup[1:].lower().rstrip('rh ') 2459 WriteCIFitem(self.fp, '_space_group_magn.name_BNS',spacegroup) 2460 WriteCIFitem(self.fp, '_space_group.magn_point_group',phasedict['General']['SGData']['MagPtGp']) 2461 2462 # generate symmetry operations including centering and center of symmetry 2463 SymOpList,offsetList,symOpList,G2oprList,G2opcodes = G2spc.AllOps( 2464 phasedict['General']['SGData']) 2465 SpnFlp = phasedict['General']['SGData']['SpnFlp'] 2466 WriteCIFitem(self.fp, 'loop_\n _space_group_symop_magn_operation.id\n _space_group_symop_magn_operation.xyz') 2467 for i,op in enumerate(SymOpList,start=1): 2468 if SpnFlp[i-1] >0: 2469 opr = op.lower()+',+1' 2470 else: 2471 opr = op.lower()+',-1' 2472 WriteCIFitem(self.fp, ' {:3d} {:}'.format(i,opr)) 2473 2438 2474 WriteCIFitem(self.fp,"_cell_measurement_temperature",T) 2439 2475 defsigL = 3*[-0.00001] + 3*[-0.001] + [-0.01] # significance to use when no sigma … … 2751 2787 histblk = self.Histograms[histlbl] 2752 2788 inst = histblk['Instrument Parameters'][0] 2789 if seq: 2790 resdblk = histblk['Residuals'] 2791 else: 2792 resdblk = histblk 2753 2793 hId = histblk['hId'] 2754 2794 pfx = ':' + str(hId) + ':' … … 2779 2819 2780 2820 if not oneblock: 2781 if seq: 2782 pass 2783 elif not phasebyhistDict.get(histlbl): 2821 if not phasebyhistDict.get(histlbl) and not seq: 2784 2822 WriteCIFitem(self.fp, '\n# No phases associated with this data set') 2823 elif len(self.Phases) == 1: 2824 pId = self.Phases[list(self.Phases.keys())[0]]['pId'] 2825 pfx = str(pId)+':'+str(hId)+':' 2826 WriteCIFitem(self.fp, '_refine_ls_R_F_factor ','%.5f'%(resdblk[pfx+'Rf']/100.)) 2827 WriteCIFitem(self.fp, '_refine_ls_R_Fsqd_factor ','%.5f'%(resdblk[pfx+'Rf^2']/100.)) 2785 2828 else: 2786 2829 WriteCIFitem(self.fp, '\n# PHASE TABLE') … … 2819 2862 WriteCIFitem(self.fp, 2820 2863 ' '+ 2821 ' '+G2mth.ValEsd( histblk[pfx+'Rf']/100.,-.00009) +2822 ' '+G2mth.ValEsd( histblk[pfx+'Rf^2']/100.,-.00009)+2864 ' '+G2mth.ValEsd(resdblk[pfx+'Rf']/100.,-.00009) + 2865 ' '+G2mth.ValEsd(resdblk[pfx+'Rf^2']/100.,-.00009)+ 2823 2866 ' '+str(self.Phases[phasenam]['pId'])+ 2824 2867 ' '+datablockidDict[phasenam] … … 2829 2872 pId = self.Phases[list(self.Phases.keys())[0]]['pId'] 2830 2873 pfx = str(pId)+':'+str(hId)+':' 2831 WriteCIFitem(self.fp, '_refine_ls_R_F_factor ','%.5f'%( histblk[pfx+'Rf']/100.))2832 WriteCIFitem(self.fp, '_refine_ls_R_Fsqd_factor ','%.5f'%( histblk[pfx+'Rf^2']/100.))2874 WriteCIFitem(self.fp, '_refine_ls_R_F_factor ','%.5f'%(resdblk[pfx+'Rf']/100.)) 2875 WriteCIFitem(self.fp, '_refine_ls_R_Fsqd_factor ','%.5f'%(resdblk[pfx+'Rf^2']/100.)) 2833 2876 2834 2877 try: 2835 WriteCIFitem(self.fp, '_pd_proc_ls_prof_R_factor ','%.5f'%(histblk['R']/100.)) 2836 WriteCIFitem(self.fp, '_pd_proc_ls_prof_wR_factor ','%.5f'%(histblk['wR']/100.)) 2837 WriteCIFitem(self.fp, '_gsas_proc_ls_prof_R_B_factor ','%.5f'%(histblk['Rb']/100.)) 2838 WriteCIFitem(self.fp, '_gsas_proc_ls_prof_wR_B_factor','%.5f'%(histblk['wRb']/100.)) 2839 WriteCIFitem(self.fp, '_pd_proc_ls_prof_wR_expected','%.5f'%(histblk['wRmin']/100.)) 2878 WriteCIFitem(self.fp, '_pd_proc_ls_prof_R_factor ','%.5f'%(resdblk['R']/100.)) 2879 WriteCIFitem(self.fp, '_pd_proc_ls_prof_wR_factor ','%.5f'%(resdblk['wR']/100.)) 2880 WriteCIFitem(self.fp, '_gsas_proc_ls_prof_R_B_factor ','%.5f'%(resdblk['Rb']/100.)) 2881 WriteCIFitem(self.fp, '_gsas_proc_ls_prof_wR_B_factor','%.5f'%(resdblk['wRb']/100.)) 2882 WriteCIFitem(self.fp, '_pd_proc_ls_prof_wR_expected','%.5f'%(resdblk['wRmin']/100.)) 2883 if not oneblock: # written in WriteOverall, don't repeat in a one-block CIF 2884 WriteCIFitem(self.fp, '_refine_ls_goodness_of_fit_all','%.2f'%(resdblk['wR']/resdblk['wRmin'])) 2840 2885 except KeyError: 2841 2886 pass … … 3041 3086 pfx = ':' + str(hId) + ':' 3042 3087 3088 WriteCIFitem(self.fp, '_diffrn.id',str(hId)) 3089 WriteCIFitem(self.fp, '_diffrn.crystal_id',str(hId)) 3090 3043 3091 if 'Lam1' in inst: 3044 3092 ratio = self.parmDict.get('I(L2)/I(L1)',inst['I(L2)/I(L1)'][1]) … … 3061 3109 PutInCol('2',5)) 3062 3110 elif 'Lam' in inst: 3111 WriteCIFitem(self.fp, '_diffrn_radiation.diffrn_id',str(hId)) 3112 WriteCIFitem(self.fp, '_diffrn_radiation.wavelength_id','1') 3113 WriteCIFitem(self.fp, '_diffrn_radiation_wavelength.id','1') 3063 3114 lam1 = self.parmDict.get('Lam',inst['Lam'][1]) 3064 3115 slam1 = self.sigDict.get('Lam',-0.00009) … … 3831 3882 #=============================================================================== 3832 3883 seqmode = False 3833 seqHistList = self.G2frame.testSeqRefineMode() 3834 if seqHistList: 3884 if self.G2frame.testSeqRefineMode(): 3835 3885 if self.seqData is None: 3836 3886 raise Exception('Use Export/Sequential project for sequential refinements') 3837 phaseWithHist = True # include the phase in the same block as the histogram3838 3887 if len(self.Phases) > 1: 3839 3888 phaseWithHist = False # multiple phases per histogram 3889 else: 3890 phaseWithHist = True # include the phase in the same block as the histogram 3840 3891 seqmode = True 3892 seqHistList = [h for h in self.seqData['histNames'] if h in self.seqData] 3893 if 'Use' in self.seqData and len(seqHistList) == len(self.seqData.get('Use',[])): 3894 seqHistList = [h for i,h in enumerate(seqHistList) if self.seqData['Use'][i]] 3895 3841 3896 #=============================================================================== 3842 # the export process for a full CIFstarts here (Sequential too)3897 ### full CIF export starts here (Sequential too) 3843 3898 #=============================================================================== 3844 3899 # load saved CIF author name … … 3990 4045 break 3991 4046 #====================================================================== 3992 # ---- Start writing the CIF - single block4047 # export different types of CIFs below 3993 4048 #====================================================================== 3994 4049 print('Writing CIF output to file '+self.filename+"...") 3995 4050 if self.currentExportType == 'single' or self.currentExportType == 'powder': 3996 #======Data only CIF (powder/xtal) ==================================== 4051 #====================================================================== 4052 #### Data only CIF (powder/xtal) ====================================== 4053 #====================================================================== 3997 4054 hist = self.histnam[0] 3998 4055 self.CIFname = hist[5:40].replace(' ','') … … 4007 4064 print ("should not happen") 4008 4065 elif oneblock: 4009 #====Single block, data & phase CIF =================================== 4066 #====================================================================== 4067 #### Full (data & phase) single block CIF ============================= 4068 #====================================================================== 4010 4069 WriteCIFitem(self.fp, 'data_'+self.CIFname) 4011 4070 if phasenam is None: # if not already selected, select the first phase (should be one) … … 4055 4114 WriteSingleXtalData(hist) 4056 4115 elif seqHistList: 4057 #---- sequential fit project (multiblock) ==================== 4116 #====================================================================== 4117 #### sequential fit export (multiblock) 4118 #====================================================================== 4058 4119 for phasenam in sorted(self.Phases.keys()): 4059 4120 rId = phasedict['ranId'] 4060 4121 if rId in self.CellHistSelection: continue 4061 4122 self.CellHistSelection[rId] = self._CellSelectHist(phasenam) 4062 nsteps = 1 + len(self.Phases) + len(se lf.powderDict) + len(self.xtalDict)4123 nsteps = 1 + len(self.Phases) + len(seqHistList) 4063 4124 try: 4064 4125 dlg = wx.ProgressDialog('CIF progress','starting',nsteps,parent=self.G2frame) … … 4079 4140 WriteCIFitem(self.fp, 'data_'+str(self.CIFname)+'_overall') 4080 4141 WriteOverall('seq') 4081 hist = se lf.powderDict[sorted(self.powderDict.keys())[0]]4142 hist = seqHistList[0] 4082 4143 instnam = self.Histograms[hist]["Sample Parameters"]['InstrName'] 4083 4144 writeCIFtemplate(self.seqSmplParms,'powder',instnam) # powder template … … 4090 4151 datablockidDict = {} # save block names here 4091 4152 # loop over data blocks 4092 if len(self.powderDict) + len(self.xtalDict) > 1: 4093 loopprefix = '' 4094 WriteCIFitem(self.fp, 'loop_ _pd_block_diffractogram_id') 4095 else: 4096 loopprefix = '_pd_block_diffractogram_id' 4097 for i in sorted(self.powderDict.keys()): 4098 hist = self.powderDict[i] 4153 WriteCIFitem(self.fp, 'loop_ _pd_block_diffractogram_id') 4154 for hist in seqHistList: 4099 4155 j = self.Histograms[hist]['hId'] 4100 4156 datablockidDict[hist] = (str(self.CIFdate) + "|" + str(self.CIFname) + "|" + 4101 4157 str(self.shortauthorname) + "|" + 4102 4158 instnam + "_hist_"+str(j)) 4103 WriteCIFitem(self.fp, loopprefix,datablockidDict[hist])4104 for i in sorted(self.xtalDict.keys()):4105 hist = self.xtalDict[i]4106 histblk = self.Histograms[hist]4107 instnam = histblk["Instrument Parameters"][0]['InstrName']4108 instnam = instnam.replace(' ','')4109 i = histblk['hId']4110 datablockidDict[hist] = (str(self.CIFdate) + "|" + str(self.CIFname) + "|" +4111 str(self.shortauthorname) + "|" +4112 instnam + "_hist_"+str(i))4113 WriteCIFitem(self.fp, loopprefix,datablockidDict[hist])4159 WriteCIFitem(self.fp, ' '+datablockidDict[hist]) 4160 # for i in sorted(self.xtalDict.keys()): 4161 # hist = self.xtalDict[i] 4162 # histblk = self.Histograms[hist] 4163 # instnam = histblk["Instrument Parameters"][0]['InstrName'] 4164 # instnam = instnam.replace(' ','') 4165 # i = histblk['hId'] 4166 # datablockidDict[hist] = (str(self.CIFdate) + "|" + str(self.CIFname) + "|" + 4167 # str(self.shortauthorname) + "|" + 4168 # instnam + "_hist_"+str(i)) 4169 # WriteCIFitem(self.fp, loopprefix,datablockidDict[hist]) 4114 4170 # setup and show sequential results table 4115 4171 tblLabels,tblValues,tblSigs,tblTypes = mkSeqResTable('cif',seqHistList,self.seqData, … … 4170 4226 4171 4227 # sample template info: a block for each phase in project 4172 i = sorted(self.powderDict.keys())[0] 4173 hist = self.powderDict[i] 4174 histblk = self.Histograms[hist] 4228 histblk = self.Histograms[seqHistList[0]] 4175 4229 if phaseWithHist: # include sample info in overall block 4230 step += 1 4231 dlg.Update(step,"Exporting phase") 4176 4232 phasenam = list(self.Phases.keys())[0] 4177 4233 writeCIFtemplate(self.Phases[phasenam]['General'],'phase',phasenam) # write phase template … … 4180 4236 for j,phasenam in enumerate(sorted(self.Phases.keys())): 4181 4237 pId = self.Phases[phasenam]['pId'] 4238 step += 1 4239 dlg.Update(step,"Exporting phase {}".format(pId)) 4182 4240 WriteCIFitem(self.fp, '\n#'+78*'=') 4183 4241 WriteCIFitem(self.fp, 'data_'+self.CIFname+"_overall_phase"+str(j)+'\n') … … 4187 4245 # create a block for each histogram, include phase in block for one-phase refinements 4188 4246 # or separate blocks for each phase & histogram if more than one phase 4189 for i in sorted(self.powderDict.keys()): 4190 hist = self.powderDict[i] 4191 print('processing hist #',i,hist) 4247 for i,hist in enumerate(seqHistList): 4248 print('processing hist #',i,'hId=',self.Histograms[hist]['hId'],hist) 4192 4249 hId = self.Histograms[hist]['hId'] 4250 step += 1 4193 4251 dlg.Update(step,"Exporting "+hist.strip()) 4194 4252 histblk = self.Histograms[hist] … … 4271 4329 dlg.Destroy() 4272 4330 else: 4273 #---- multiblock: multiple phases and/or histograms ==================== 4331 #====================================================================== 4332 #### multiblock: multiple phases and/or histograms export 4333 #====================================================================== 4334 oneblock = False 4274 4335 for phasenam in sorted(self.Phases.keys()): 4275 4336 rId = phasedict['ranId']
Note: See TracChangeset
for help on using the changeset viewer.