title: Converting float32 to bit-equivalent int32
body: <p>The Pillow module in Python insists on opening a 32-bit/pixel TIFF file I have as if the pixels were of type float32, whereas I believe the correct interpretation is unsigned int32.  If I go ahead and load the data into a 640x512 array of type float32, how can I retype it as uint32 while preserving the underlying binary representation?</p>
  
  <p>In Fortran and C, it's easy to have pointers or data structures of different type pointing to the same block of physical memory so that the raw memory contents can be easily be interpreted according to whatever type I want.  Is there an equivalent procedure in Python?</p>
  
  <p>Sample follows (note that I have no information about compression etc.; the file in question was extracted by a commercial software program from a proprietary file format):</p>
  
  <pre><code>from PIL import Image
  
  infile = "20181016_071207_367_R.tif"        
  im = Image.open(infile)
  
  data = np.array(im.getdata())
  print(data)
  </code></pre>
  
  <blockquote>
    <p>[ -9.99117374 -10.36103535  -9.80696869 ... -18.41988373 -18.35027885
     -18.69905663]</p>
  </blockquote>