[2001] | 1 | # -*- coding: utf-8 -*- |
---|
| 2 | ########### SVN repository information ################### |
---|
[2133] | 3 | # $Date: 2016-01-22 19:05:12 +0000 (Fri, 22 Jan 2016) $ |
---|
| 4 | # $Author: toby $ |
---|
| 5 | # $Revision: 2133 $ |
---|
| 6 | # $URL: trunk/imports/G2img_SumG2.py $ |
---|
| 7 | # $Id: G2img_SumG2.py 2133 2016-01-22 19:05:12Z toby $ |
---|
[2001] | 8 | ########### SVN repository information ################### |
---|
| 9 | ''' |
---|
[2068] | 10 | *Module G2img_SumG2: Python pickled image* |
---|
| 11 | ------------------------------------------ |
---|
[2001] | 12 | |
---|
| 13 | ''' |
---|
| 14 | |
---|
| 15 | import sys |
---|
| 16 | import os |
---|
[2065] | 17 | import cPickle |
---|
[2001] | 18 | import GSASIIIO as G2IO |
---|
| 19 | import GSASIIpath |
---|
[2133] | 20 | GSASIIpath.SetVersionNumber("$Revision: 2133 $") |
---|
[2001] | 21 | class G2_ReaderClass(G2IO.ImportImage): |
---|
[2068] | 22 | '''Routine to read an image that has been pickled in Python. Images |
---|
| 23 | in this format are created by the "Sum image data" command. At least for |
---|
| 24 | now, only one image is permitted per file. |
---|
| 25 | ''' |
---|
[2001] | 26 | def __init__(self): |
---|
| 27 | super(self.__class__,self).__init__( # fancy way to self-reference |
---|
| 28 | extensionlist=('.G2img',), |
---|
| 29 | strictExtension=True, |
---|
[2003] | 30 | formatName = 'Summed GSAS-II image', |
---|
[2001] | 31 | longFormatName = 'Pickled image from GSAS-II "Sum image data" command' |
---|
| 32 | ) |
---|
| 33 | |
---|
| 34 | def ContentsValidator(self, filepointer): |
---|
[2068] | 35 | '''test by trying to unpickle (should be quick) |
---|
[2001] | 36 | ''' |
---|
[2068] | 37 | try: |
---|
| 38 | Fp = open(filename,'rb') |
---|
| 39 | cPickle.load(Fp) |
---|
| 40 | except: |
---|
| 41 | return False |
---|
[2001] | 42 | return True |
---|
| 43 | |
---|
| 44 | def Reader(self,filename,filepointer, ParentFrame=None, **unused): |
---|
[2068] | 45 | '''Read using cPickle |
---|
[2001] | 46 | ''' |
---|
| 47 | import scipy.misc |
---|
| 48 | Fp = open(filename,'rb') |
---|
[2065] | 49 | self.Comments,self.Data,self.Npix,self.Image = cPickle.load(Fp) |
---|
[2001] | 50 | Fp.close() |
---|
[2015] | 51 | self.LoadImage(ParentFrame,filename) |
---|
[2001] | 52 | return True |
---|