OK. I'm going to copy this back to R-help too.

With R, we can convert a file of 8-bit integers to 16-bit integers like so:

# Create a test file of 8-bit integers:
con <- file("test.8", "wb")
writeBin(sample(-1L:4L, 1024, TRUE), con, size=1)
close(con)

# Convert test.8 to test.16
icon <- file("test.8", "rb")
ocon <- file("test.16", "wb")
while(length(dat <- readBin(icon, "integer", 1024, size=1)) > 0)
    writeBin(dat, ocon, size=2)
close(icon)
close(ocon)

This assumes (without considering a more formal description of the format) that the file and your computing platform agree on how multi-byte signed integers are represented.

Hope that will get you going.

On 04/21/2011 11:02 AM, Brian Buma wrote:
Apologies.  The 8-bit file (the one that needs to be converted) is just
a series of integers, -1 to 4, which is no doubt why they are encoded in
8 bit.  They don't need to be changed numerically, just put in a 16-bit
encoding.  No meta info, headerless.  All the data is MODIS satellite
imagery.

I have been using the "raster" program to visualize things, and
processing (when I get that far) will be done in that program mainly.
I've used that program on a different project, and it seemed to work
well.  The actual program that can't handle two different inputs is
Timesat, a phenology-program (not R).  I was thinking that R could
probably do this conversion quick and easy (fairly), but haven't figured
out how to yet.

As an example, I have an NDVI file (flat binary, 16bit encoding)- so a
string of numbers, 4450, 4650, etc...  The associated quality file is
another string, 1,1,2,1,0, etc.  It's encoded as an 8bit file.
Conceptually, all it needs (I think) is to be read in and resaved in the
less memory-efficient 16-bit format.

Thanks!  Sorry if the explanation isn't clear.



On Thu, Apr 21, 2011 at 9:50 AM, Matt Shotwell
<matt.shotw...@vanderbilt.edu <mailto:matt.shotw...@vanderbilt.edu>> wrote:

    On 04/21/2011 10:36 AM, Brian Buma wrote:

        Hello all-

        I have a question related to encoding.  I'm using a seperate
        program which
        takes either 16 bit or 8 bit (flat binary files) as inputs (they
        are raster
        satellite imagery and the associated quality files), but can't
        handle both
        at the same time.  Problem is the quality and the image come in
        different
        formats (quality- 8bit, image- 16bit).  I need to switch the
        encoding on the


    I think some more detail about these files is necessary. What do
    these 16/8 bit quantities represent? Are these files just a sequence
    of such quantities, or is there meta information (i.e. image dimension)?


        quality files to 16 bit, without altering anything else (they
        are img files
        right now).  I imagine this is a fairly simply process, but I
        haven't been


    Does 'img files' indicate that these files are formatted according
    to a standard?. Finally, are you using some R code to manipulate
    these files? Have an example, including data?


        able to find a package or anything which can tell me how to do
        it- perhaps
        I'm searching the wrong terms, but I did look.  Is there any
        methods to do
        this quickly?  Ideally, the solution would involve reading in a
        list of
        files and replacing the original with the new, 16 bit version,
        as I have
        over 300 files to convert.  I hope that's clear.  Thanks in advance!



    --
    Matthew S Shotwell   Assistant Professor           School of Medicine
                         Department of Biostatistics   Vanderbilt University




--


Brian Buma
PhD Candidate
Ecology and Evolutionary Biology / CIRES
University of Colorado, Boulder

brian.b...@colorado.edu <mailto:brian.b...@colorado.edu>



--
Matthew S Shotwell   Assistant Professor           School of Medicine
                     Department of Biostatistics   Vanderbilt University

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to