@@ -378,7 +378,8 @@ def OnMultiGainMap(event):
378378 G2frame .Image = G2gd .GetGPXtreeItemId (G2frame ,G2frame .root ,name )
379379 Npix ,imagefile ,imagetag = G2IO .GetCheckImageFile (G2frame ,G2frame .Image )
380380 pth = os .path .split (os .path .abspath (imagefile ))[0 ]
381- ImDat = copy .deepcopy (G2frame .GPXtree .GetItemPyData (G2gd .GetGPXtreeItemId (G2frame ,G2frame .Image ,'Image Controls' )))
381+ ImDat = copy .deepcopy (G2frame .GPXtree .GetItemPyData (
382+ G2gd .GetGPXtreeItemId (G2frame ,G2frame .Image ,'Image Controls' )))
382383 sumImg = GetImageZ (G2frame ,ImDat )
383384 #force defaults for GainMap calc
384385 ImDat ['IOtth' ] = [0.1 ,60.0 ]
@@ -392,36 +393,25 @@ def OnMultiGainMap(event):
392393 G2gd .GetGPXtreeItemId (G2frame ,G2frame .Image ,'Masks' )))
393394 Integrate = G2img .ImageIntegrate (sumImg ,ImDat ,ImMsk ,blkSize )
394395 Iy ,azms ,Ix = Integrate [:3 ]
395- GainMap = G2img .MakeGainMap (sumImg ,Ix ,Iy ,ImDat ,blkSize )* 1000.
396- GainMap = np .where (GainMap > 1200 ,0 ,GainMap )
397- GainMap = np .where (GainMap < 800 ,0 ,GainMap )
396+ GainMap ,Mask = G2img .MakeGainMap (sumImg ,Ix ,Iy ,ImDat ,ImMsk ,blkSize )
397+ if ImDat ['invert_x' ]:
398+ Mask = np .flip (Mask ,1 )
399+ if ImDat ['invert_y' ]:
400+ Mask = np .flip (Mask ,0 )
401+ GainMap *= 1000
402+ GainMap = ma .array (GainMap ,mask = Mask )
403+ GainMap = ma .where (GainMap > 1200 ,0 ,GainMap )
404+ GainMap = ma .where (GainMap < 800 ,0 ,GainMap )
405+ Mask = ma .getmask (GainMap )
398406 ImDat ['formatName' ] = 'GSAS-II image'
399407 ImDat ['range' ] = [(500 ,2000 ),[800 ,1200 ]]
400408 if First :
401409 First = False
402- GMsum = np .where (GainMap > 0 , GainMap , 0.0 )
403- pixels = np .where (GainMap > 0 ,1 , 0 )
410+ GMsum = np .where (Mask , 0.0 , GainMap )
411+ pixels = np .where (Mask , 0 ,1 )
404412 else :
405- GMsum += np .where (GainMap > 0 ,GainMap ,0.0 )
406- pixels += np .where (GainMap > 0 ,1 ,0 )
407- #leave for possible diagnostics?
408- # ImMsk['Thresholds'] = [(500.,2000.),[800.,1200.]]
409- # GMname = os.path.splitext(imagefile)[0]+'_GM.G2img'
410- # G2IO.PutG2Image(GMname,[],ImDat,Npix,GainMap)
411- # Name = 'IMG '+os.path.split(GMname)[1]
412- # Id = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,Name)
413- # if not Id:
414- # Id = G2frame.GPXtree.AppendItem(parent=G2frame.root,text=Name)
415- # G2frame.GPXtree.SetItemPyData(Id,[Npix,GMname])
416- # G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Comments'),[])
417- # G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Image Controls'),ImDat)
418- # G2frame.GPXtree.SetItemPyData(G2frame.GPXtree.AppendItem(Id,text='Masks'),ImMsk)
419- # else:
420- # G2frame.GPXtree.SetItemPyData(Id,[Npix,GMname])
421- # G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Comments'),[])
422- # G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Image Controls'),ImDat)
423- # G2frame.GPXtree.SetItemPyData(G2gd.GetGPXtreeItemId(G2frame,Id,'Masks'),ImMsk)
424- #end of diagnostic block
413+ GMsum += np .where (Mask ,0.0 ,GainMap )
414+ pixels += np .where (Mask ,0 ,1 )
425415 finally :
426416 dlg .Destroy ()
427417 GMsum = np .where (pixels > 0 ,GMsum / pixels ,0 )
@@ -434,7 +424,14 @@ def OnMultiGainMap(event):
434424 if dlg .ShowModal () == wx .ID_OK :
435425 newimagefile = dlg .GetPath ()
436426 newimagefile = G2IO .FileDlgFixExt (dlg ,newimagefile )
437- ImMsk ['Thresholds' ] = [(500. ,2000. ),[800. ,1200. ]]
427+ ImSize = ImDat ['size' ]
428+ pixSize = ImDat ['pixelSize' ]
429+ ImDat .update ({'tilt' :0.0 ,'rotation' :0.0 ,'distance' :1000.0 ,'showLines' :False ,
430+ 'calibrant' :' ' ,
431+ 'center' :[500. * ImSize [0 ]/ pixSize [0 ],500. * ImSize [1 ]/ pixSize [1 ]]})
432+ ImMsk = {'Points' :[],'Rings' :[],'Arcs' :[],'Polygons' :[],'Frames' :[],
433+ 'Thresholds' :[(500. ,2000. ),[800. ,1200. ]],
434+ 'SpotMask' :{'esdMul' :2. ,'spotMask' :None }} #remove all masks
438435 G2IO .PutG2Image (newimagefile ,[],ImDat ,Npix ,GMsum )
439436 Name = 'IMG ' + os .path .split (newimagefile )[1 ]
440437 Id = G2gd .GetGPXtreeItemId (G2frame ,G2frame .root ,Name )
0 commit comments