Hi,
I'd like to be able to read gzipped FITS image files, decompressing the files on the fly. Is this already possible (I don't see it)? If not, then it seems like this would be pretty easy to add to the code, by wrapping something like "new GZIPInputStream()" around the existing input stream (with the necessary logic to check for a compressed file, and such). Has this been done/can this be done? Thanks! -- ==Leonard E. Sitongia High Altitude Observatory National Center for Atmospheric Research P.O. Box 3000 Boulder CO 80307 USA [hidden email] voice: (303)497-2454 fax: (303)497-1804 |
Hi Leonard,
I forgot the first version I sent needs an extra library for the zlib encoding that you don't want anyway. Here is the very basic version I used to use which should do just what you want. In the past I have added it as a private class within the body of an existing class like the Biorad_Reader it should work fine in the same way with the FITS_Reader. Best, Greg. PS watch line breaks! -- class FlexibleFileOpener extends FileOpener { // private class which determines if the file is gzipped or not // and adds a GZIPInputStream if required public FlexibleFileOpener(FileInfo fi) { super(fi); } public InputStream createInputStream(FileInfo fi) throws IOException, MalformedURLException { // use the method in the FileOpener class to generate an input stream InputStream is=super.createInputStream(fi); if (is!=null & fi.fileName.toLowerCase().endsWith(".gz")) { // then stick a GZIPInputStream on top of it! return new GZIPInputStream(is); } else { // Just return plain input stream return is; } } } -- On 23/5/07 22:44, "Gregory Jefferis" <[hidden email]> wrote: > Dear Leonard, > > I have done this for various readers using the attached code. It has more > functionality than you want but it might be useful. > > Just replace any FileOpener object in the FITS opener plugin with > FlexibleFileOpener and you are there (it will automatically add a GZFileOpener > if the file name ends in .gz). Something like this > > fo = new FlexibleFileOpener(fi); > imp = fo.open(false); > > Feel free to contact me if you would like more assistance. I may see if Wayne > would be interested in adding this functionality to ImageJ. > > Best wishes, > > Greg. > > The additional functionality allows you to use it to open ZLIB compressed data > (gzip without the full header) and to specify an offset for the start of the > compressed block in the file and a separate offset for the start of the image > data within the compressed block. > > > >> Date: Tue, 22 May 2007 10:58:49 -0600 >> From: Leonard Sitongia <[hidden email]> >> Subject: Open gzipped FITS image files >> >> Hi, >> >> I'd like to be able to read gzipped FITS image files, decompressing the files >> on the fly. Is this already possible (I don't see it)? If not, then it >> seems like this would be pretty easy to add to the code, by wrapping >> something like "new GZIPInputStream()" around the existing input stream (with >> the necessary logic to check for a compressed file, and such). >> >> Has this been done/can this be done? >> >> Thanks! >> -- >> ==Leonard E. Sitongia >> High Altitude Observatory >> National Center for Atmospheric Research >> P.O. Box 3000 Boulder CO 80307 USA >> [hidden email] voice: (303)497-2454 fax: (303)497-1804 >> >> ------------- > > -- Gregory Jefferis, PhD and: Research Fellow Department of Zoology St John's College University of Cambridge Cambridge Downing Street CB2 1TP Cambridge, CB2 3EJ United Kingdom Lab Tel: +44 (0)1223 336683 Office: +44 (0)1223 339899 Lab Fax: +44 (0)1223 336676 [hidden email] http://www.zoo.cam.ac.uk/zoostaff/jefferis.html http://www.neuroscience.cam.ac.uk/directory/profile.php?gsxej2 http://flybrain.stanford.edu |
On Thursday 24 May 2007 2:01 am, Gregory Jefferis wrote:
> Hi Leonard, > > I forgot the first version I sent needs an extra library for the zlib > encoding that you don't want anyway. Here is the very basic version I used > to use which should do just what you want. In the past I have added it as > a private class within the body of an existing class like the Biorad_Reader > it should work fine in the same way with the FITS_Reader. Best, > > Greg. Thank you very much for your help, Greg! I'll add your code to my copy. I think it would be nice if this were officially added to ImageJ. -- ==Leonard E. Sitongia High Altitude Observatory National Center for Atmospheric Research P.O. Box 3000 Boulder CO 80307 USA [hidden email] voice: (303)497-2454 fax: (303)497-1804 |
Hi Leonard,
Bio-Formats can read gzipped FITS files. You can download the Bio-Formats ImageJ plugin at http://www.loci.wisc.edu/ome/formats.html. -Melissa On 24/05/07, Leonard Sitongia <[hidden email]> wrote: > > On Thursday 24 May 2007 2:01 am, Gregory Jefferis wrote: > > Hi Leonard, > > > > I forgot the first version I sent needs an extra library for the zlib > > encoding that you don't want anyway. Here is the very basic version I > used > > to use which should do just what you want. In the past I have added it > as > > a private class within the body of an existing class like the > Biorad_Reader > > it should work fine in the same way with the FITS_Reader. Best, > > > > Greg. > > Thank you very much for your help, Greg! > > I'll add your code to my copy. I think it would be nice if this were > officially added to ImageJ. > -- > ==Leonard E. Sitongia > High Altitude Observatory > National Center for Atmospheric Research > P.O. Box 3000 Boulder CO 80307 USA > [hidden email] voice: (303)497-2454 fax: (303)497-1804 > |
In reply to this post by Leonard Sitongia
ImageJ 1.38s, which is now available, opens gzipped FITS files that
have names ending in ".fits.gz". It also opens gzipped raw image files with names ending in ".gz". -wayne > Hi, > > I'd like to be able to read gzipped FITS image files, decompressing > the files > on the fly. Is this already possible (I don't see it)? If not, then > it > seems like this would be pretty easy to add to the code, by wrapping > something like "new GZIPInputStream()" around the existing input stream > (with the necessary logic to check for a compressed file, and such). > > Has this been done/can this be done? |
Free forum by Nabble | Edit this page |