Exemple #1
0
def write(filename, data, file=None, chart=(0,0)):
    atlases = formats.get_atlases(data)
    for i, atlas in enumerate(list(atlases)):
        for j, chart in enumerate(list(atlas)):
            atlases[i][j] = chart.transpose()
            
    meta_to_store = dict(data)
    del meta_to_store['center'] #put in CRPIX in header.
    extra = meta.encode(meta_to_store)
    special_records = []
    while extra:
        special_records.append(SPECIAL_RECORD_HEADER + extra[:SPECIAL_RECORD_SIZE])
        extra = extra[SPECIAL_RECORD_SIZE:]

    images = []

    if 'center' in data:
        center = data['center']
        crpix = [center[0] + 1, center[1] + 1, 1, 1]

    if 'palette' in data:
        import numpy
        palette = numpy.array(data['palette'], dtype=numpy.int32)
        images.append((palette, 
                       {'ctype': ['COLOR']}
                       ))
        
    fits.write(file or open(filename, 'wb'), 
               atlases,
               special_records=special_records,
               ctype=('X', 'Y', 'CHART', 'HISTORY'),
               crpix=crpix,
               images=images
               )
Exemple #2
0
Fichier : png.py Projet : kcsaff/CA
def write(filename, data, file=None, chart=(0,0)):
    image = data['chart(%d,%d)' % chart]
    from views import palette
    from StringIO import StringIO
    w = png.Writer(size=image.shape,
                   bitdepth=8,
                   palette=palette.to_rgb(data['palette']),
                   text=[{'key': META_TAG,
                          'value': meta.encode(data),
                          'compression': True}])
    
    s = StringIO()
    w.write(s, numpy.transpose(image))
    if not file:
        file = open(filename, 'wb')
    file.write(s.getvalue())
Exemple #3
0
def write(filename, data, file=None, chart=None):
    f = zipfile.ZipFile(file or filename, 'w', zipfile.ZIP_DEFLATED)
    #First try to save PNG data (charts with palettes)
    _write_charts(f, data)
    f.writestr('meta.txt', meta.encode(data))
    f.close()