Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #78198

Re: Works perfectly (was Re: CSV methodology)

From Peter Otten <__peter__@web.de>
Subject Re: Works perfectly (was Re: CSV methodology)
Date 2014-09-23 09:59 +0200
Organization None
References (2 earlier) <i5db1a9s5mvgsmg99q8kqf4l672fbrvp0n@4ax.com> <mailman.14017.1410766159.18130.python-list@python.org> <u53e1aha9hno97cpqd0ff6gt9otrtfjsof@4ax.com> <mailman.14051.1410866541.18130.python-list@python.org> <otl02apfhfao8uq4ci11l7qnprg70lk49j@4ax.com>
Newsgroups comp.lang.python
Message-ID <mailman.14247.1411459220.18130.python-list@python.org> (permalink)

Show all headers | View raw


jayte wrote:

> On Tue, 16 Sep 2014 13:22:02 +0200, Peter Otten <__peter__@web.de> wrote:
> 
>>jayte wrote:
>>
>>> On Mon, 15 Sep 2014 09:29:02 +0200, Peter Otten <__peter__@web.de>
>>> wrote:
> 
> [...]
> 
>>>> but you can read raw data
>>>>with numpy. Something like
>>>>
>>>>with open(filename, "rb") as f:
>>>>    a = numpy.fromfile(f, dtype=[
>>>>        ("distance", "f16"),
>>>>        ("iterations", "i2"),
>>>>        ("zc_x", "i2"),
>>>>        ("zc_y", "i2"),
>>>>    ]).reshape(1778, 1000)
>>>>
>>>>might do, assuming "extended double" takes 16 bytes.
>>> 
>>> Will try.  Double extended precision is ten bytes, but I assume
>>> changing  the "f16" to "f10" would account for that...
>>
>>Unfortunately it seems that numpy doesn't support "f10"
> 
> Thus far, this appears to work perfectly:
> 
> with open(filename, "rb") as f:
>     a = numpy.fromfile(f, dtype=[
>         ("distance", "f8"),
>         ("iterations", "u2"),
>         ("zc_x", "u2"),
>         ("zc_y", "u2"),
>     ])
> 
> file.close(f)
> 
> d = a["distance"]
> i = a["iterations"]
> x = a["zc_x"]
> y = a["zc_y"]
> 
> (except, of course, for the loss of precision)
> 
> "reshape()" does not appear to be necessary; the various variables
> d, i, x, y return a len() of 1778000

Assuming adjacent pixels are in the same row after 

b = a.reshape(h, w).T 

you can access a pixel as

b[x, y] # without the .T (transposition) it would be b[y, x]

instead of

a[y*w + x]

and a square of 9 pixels with

b[left:left+3, top:top+3]

> Again, thank you very much,
> 
> Jeff

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

CSV methodology jetrn@newsguy.com - 2014-09-13 21:34 -0400
  Re: CSV methodology kjs <bfb@riseup.net> - 2014-09-14 02:51 +0000
  Re: CSV methodology Terry Reedy <tjreedy@udel.edu> - 2014-09-14 03:02 -0400
    Re: CSV methodology jayte <jetrn@newsguy.com> - 2014-09-14 12:56 -0400
      Re: CSV methodology Chris Angelico <rosuav@gmail.com> - 2014-09-15 03:10 +1000
      Re: CSV methodology Terry Reedy <tjreedy@udel.edu> - 2014-09-14 14:42 -0400
        Re: CSV methodology jayte <jetrn@newsguy.com> - 2014-09-14 16:19 -0400
      Re: CSV methodology Peter Otten <__peter__@web.de> - 2014-09-15 09:29 +0200
        Re: CSV methodology jayte <jetrn@newsguy.com> - 2014-09-15 12:33 -0400
          Re: CSV methodology Peter Otten <__peter__@web.de> - 2014-09-16 13:22 +0200
            Re: CSV methodology jayte <jetrn@newsguy.com> - 2014-09-16 14:03 -0400
            Works perfectly (was Re: CSV methodology) jayte <jetrn@newsguy.com> - 2014-09-22 20:27 -0400
              Re: Works perfectly (was Re: CSV methodology) Peter Otten <__peter__@web.de> - 2014-09-23 09:59 +0200
  Re: CSV methodology Cameron Simpson <cs@zip.com.au> - 2014-09-14 18:38 +1000
    Re: CSV methodology Rustom Mody <rustompmody@gmail.com> - 2014-09-14 01:56 -0700
      Re: CSV methodology Cameron Simpson <cs@zip.com.au> - 2014-09-15 09:28 +1000
  Re: CSV methodology Akira Li <4kir4.1i@gmail.com> - 2014-09-15 11:12 +0400
    Re: CSV methodology pH <high@cidity.level> - 2014-09-15 12:40 -0400
  Re:CSV methodology Dave Angel <davea@davea.name> - 2014-09-15 09:29 -0400
    Re: CSV methodology jayte <jetrn@newsguy.com> - 2014-09-15 12:53 -0400

csiph-web