示例#1
0
 def testfilenumber0(self, mock_exists, mock_glob):
     # The second file - filename already exists
     mock_exists.return_value = True
     mock_glob.return_value = ['testfolder/test/testfile.csv']
     filename = 'testfolder/test/testfile.csv'
     new_filename = file_namer.name_file(filename)
     self.assertEqual('testfolder/test/testfile-1.csv', new_filename)
示例#2
0
 def testfilenumber1(self, mock_exists, mock_glob):
     # A filename ending with the digit 1
     mock_exists.return_value = True
     mock_glob.return_value = ['testfolder/test/testfile1.csv']
     filename = 'testfolder/test/testfile1.csv'
     new_filename = file_namer.name_file(filename)
     self.assertEqual('testfolder/test/testfile1-1.csv', new_filename)
示例#3
0
 def testdifffile(self, mock_exists, mock_glob):
     # First file - filename does not yet exist
     mock_exists.return_value = False
     mock_glob.return_value = []
     filename = 'testfolder/test/differentname.csv'
     new_filename = file_namer.name_file(filename)
     self.assertEqual('testfolder/test/differentname.csv', new_filename)
示例#4
0
 def testnofolder(self, mock_exists, mock_glob):
     # File name has no folders in it
     mock_exists.return_value = True
     mock_glob.return_value = []
     filename = 'testfile.csv'
     new_filename = file_namer.name_file(filename)
     self.assertEqual('testfile-1.csv', new_filename)
 def save_image_scale(self, filename):
     if self.Image.calibration==0:
         print("You gave me no scale! I can't do it!")
         return
     self.axis.yaxis.set_major_locator(NullLocator())
     self.axis.xaxis.set_major_locator(NullLocator())
     filename = file_namer.name_file(filename)
     plt.savefig(filename, transparent=True, bbox_inches='tight', pad_inches=0)
示例#6
0
 def testfileorder2(self, mock_exists, mock_glob):
     # Order of files in the folder is not sequential
     mock_exists.return_value = True
     mock_glob.return_value=[
         'testfolder/test/testfile-1.csv', 'testfolder/test/testfile.csv']
     filename = 'testfolder/test/testfile.csv'
     new_filename = file_namer.name_file(filename)
     self.assertEqual('testfolder/test/testfile-2.csv', new_filename)
示例#7
0
 def testfileorder1(self, mock_exists, mock_glob):
     # Third filename
     mock_exists.return_value = True
     mock_glob.return_value=[
         'testfolder/test/testfile.csv', 'testfolder/test/testfile-1.csv']
     filename = 'testfolder/test/testfile.csv'
     new_filename = file_namer.name_file(filename)
     self.assertEqual('testfolder/test/testfile-2.csv', new_filename)
    def save_colourbar(self, filename):
        extent_colourbar = self.colourbar_axis.get_window_extent().transformed(plt.gcf().dpi_scale_trans.inverted())
        extent_toptick = self.colourbar_axis.yaxis.get_ticklabels()[0].get_window_extent().transformed(plt.gcf().dpi_scale_trans.inverted())
        extent_bottomtick = self.colourbar_axis.yaxis.get_ticklabels()[-1].get_window_extent().transformed(plt.gcf().dpi_scale_trans.inverted())
        new_extent = np.array([np.min((extent_colourbar.get_points()[0,:], extent_toptick.get_points()[0,:], extent_bottomtick.get_points()[0,:]), axis=0),
            np.max((extent_colourbar.get_points()[1,:], extent_toptick.get_points()[1,:], extent_bottomtick.get_points()[1,:]), axis=0)])
        extent_colourbar.set_points(new_extent)
        filename = file_namer.name_file(filename)
#        print('Saving colourbar as...', filename)
        plt.gcf().savefig(filename, bbox_inches=extent_colourbar, transparent=True)
示例#9
0
    def SaveImgAsPNG(self, filename, clim, cmap=None):
        #        r_min = max(clim[0], self.Imglim[0])
        #        r_max = min(clim[1], self.Imglim[1])
        r_min = clim[0]
        r_max = clim[1]
        filename = file_namer.name_file(filename)
        writefile = open(filename, 'wb')
        if type(self.data) == np.ma.MaskedArray:
            writeImage = np.empty((self.size[0], self.size[1] * 2))
            writeImage[:, 0::2] = np.round(
                255 * (self.data.data.astype(float) - r_min) / float(
                    (r_max - r_min))) * np.invert(self.data.mask)
            writeImage[:, 1::2] = np.invert(self.data.mask) * 255
            alph = True
        else:
            writeImage = np.round(255 * (self.data.astype(float) - r_min) /
                                  float((r_max - r_min)))
            alph = False
        if cmap is not None:
            colours = (cmap(np.arange(0, 256)) * 255).astype(int)
            colourstuple = map(tuple, colours)
            if np.all(
                    np.equal(np.array(colours[:, 0]), np.array(colours[:, 1]),
                             np.array(colours[:, 2]))):
                writer = png.Writer(size=self.size[::-1],
                                    greyscale=True,
                                    alpha=alph)
                print('I am so gray...')
            else:
                writer = png.Writer(size=self.size[::-1],
                                    palette=colourstuple,
                                    bitdepth=8)

                if type(self.data) == np.ma.MaskedArray:
                    writeImage = np.round(
                        255 * (self.data.data.astype(float) - r_min) / float(
                            (r_max - r_min))) * np.invert(self.data.mask)
                else:
                    writeImage = np.round(
                        255 * (self.data.astype(float) - r_min) / float(
                            (r_max - r_min)))
                print('Well, colour me pink!')
        else:
            writer = png.Writer(size=self.size[::-1],
                                greyscale=True,
                                alpha=alph)
        writeImage[writeImage < 0] = 0
        writeImage[writeImage > 255] = 255

        writer.write(writefile, writeImage)
        writefile.close()
示例#10
0
 def SaveSpectrumAsCSV(self, filename):
     filename = file_namer.name_file(filename)
     ExportSpectrumRange = np.copy(self.SpectrumRange)
     ExportIntensity = np.copy(self.intensity)
     ExportSpectrumRange.resize(len(ExportSpectrumRange), 1)
     ExportIntensity.resize(len(ExportIntensity), 1)
     ExportData = np.append(ExportSpectrumRange, ExportIntensity, axis=1)
     ExportHeaders = [(self.unit_label + ' (' + self.units + ')'),
                      'Intensity']
     with open_csv(filename, 'w') as csvfile:
         writer = csv.writer(csvfile, delimiter='\t')
         writer.writerow(ExportHeaders)
         writer.writerows(ExportData)
     print('Saved file...', filename)
示例#11
0
    def save_img(self, filename, clim=[None, None], cmap=None, **kwargs):
        '''
        Save image
        Filename: string to name the file, include directory path if the 
        current folder is not desired, filetype is given by the ending
        clim: colour limits, if the image should be thresholded to a minimum
        and maximum value. Should be of the form [minimum, maximum]
        cmap: colourmap to apply to the saved image (eg, for grayscale images)
        '''

        if not isstring(filename):
            raise ValueError('Your filename is not a string!')

        if clim[0] is not None:
            r_min = clim[0]
#            r_min = np.maximum(clim[0], np.min(self.data.flatten()))
        else:
            r_min = np.min(self.data.flatten())

        if clim[1] is not None:
            r_max = clim[1]
#            r_max = np.minimum(clim[1], np.max(self.data.flatten()))
        else:
            r_max = np.max(self.data.flatten())
        filename = file_namer.name_file(filename)

        save_im = imfun.contrast_stretch(self.data,
                                         r=[r_min, r_max],
                                         s=[0, 255],
                                         bits=8).astype('uint8')

        if cmap is not None:
            save_im = cmap(save_im)
            #            if np.ma.is_masked(self.data) and np.shape(save_im)[-1] == 4:
            #                print('mask')
            #                save_im[:, :, -1] = save_im[:, :, -1] * self.data.mask.astype(int)
            imfun.write_image(save_im, filename, **kwargs)
        else:
            imfun.write_image(save_im, filename, **kwargs)