c# pdf viewer winforms : How to reorder pages in a pdf document control application platform web page azure wpf web browser Users_Manual13-part271

Scaled Data
13
Forunscaled data, the data attribute ofan HDU in PyFITSis a numarray
of the same data type as specified by the BITPIX keyword. For scaled
image, the
.data
attribute willbe thephysicaldata, i.e. already transformed
from thestorage data and may not be the same data type as prescribed in
BITPIX. This means an extra step of copying is needed and thus the
correspondingmemoryrequirement. This also means thattheadvantage of
memory mapping is reduced for scaled data.
For floating point storage data, the scaled data will have the same data
type. For integerdata type, the scaled data will always be single precision
floating point (Float32). Here is an example ofwhathappens to such a file,
before and after the data is touched:
3.2.2  Writing Scaled Image Data
With the extra processing and memory requirement, we discourage
users to use scaled data as much as possible. However, PyFITS does
provide ways to write scaled data with the
scale(type, option, bscale,
bzero)
method.  Here are a few examples:
The first example above shows how to store an unsigned short integer
array.
Great caution must be exercised when using the
scale()
method. The
.data
attribute of an image HDU, after the
scale()
call, will become the
storage values, not the physical values. So, only call
scale()
just before
>>> f=pyfits.open(’scaled_uint16.fits’)
>>> hdu = f[1]
>>> print hdu.header[’bitpix’], hdu.header[’bzero’]
16 32768
>>> print hdu.data  # once data is touched, it is scaled
[ 11.  12.  13.  14.  15.]
>>> hdu.data.type()
Float32
>>> print hdu.header[’bitpix’]  # BITPIX is also updated
-32
# BZERO and BSCALE are removed after the scaling
>>> print hdu.header[’bzero’]
KeyError: "Keyword ’bzero’ not found."
# scale the data to Int16 with user specified bscale/bzero
>>> hdu.scale(’Int16’, ’’, bzero=32768)
# scale the data to Int32 with the min/max of the data range
>>> hdu.scale(’Int32’, ’minmax’)
# scale the data, using the original BSCALE/BZERO
>>> hdu.scale(’Int32’, ’old’)
How to reorder pages in a pdf document - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
reorder pages in pdf preview; rearrange pdf pages online
How to reorder pages in a pdf document - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
pdf reorder pages online; how to reorder pages in pdf
14
Chapter 3: Image Data
writing outtoFITS files,i.e. calls of
writeto(), flush(), or close()
. No
further use of the data should be exercised. Here is an example of what
happens to the .
data
attribute after the
scale()
call:
3.3     Data Section
When a FITS image HDU’s
.data
is accessed, either the whole data is
copiedinto memory (in cases ofNOTusing memory mappingor ifthe data
is scaled)or a virtualmemory space equivalent to the data size is allocated
(in the case of memory mapping of non-scaled data). If there are several
very large image HDU’s being accessed at the same time, the system may
run out of memory.
If a user does not need the entire image(s) at the same time, e.g.
processing images(s) ten rows at a time, the
section()
method can be used
to alleviate such memory problem.
Here is an example ofgetting the median image from3 input images of
the size 5000x5000:
>>> hdu=pyfits.PrimaryHDU(numarray.array([0.,1,2,3]))
>>> print hdu.data
[ 0.  1.  2.  3.]
>>> hdu.scale(’Int16’, ’’, bzero=32768)
>>> print hdu.data  # now the data has storage values
[-32768 -32767 -32766 -32765]
>>> hdu.writeto(’new.fits’)
>>> f1=pyfits.open(’file1.fits’)
>>> f2=pyfits.open(’file2.fits’)
>>> f3=pyfits.open(’file3.fits’)
>>> output = numarray.zeros(5000*5000)
>>> for i in range(50):
...     j=i*100
...     k=j+100
...     x1=f[1].section[j:k,:]
...     x2=f[2].section[j:k,:]
...     x3=f[3].section[j:k,:]
...     # use numarray.image’s median function
...     output[j:k] = numarray.image.median([x1,x2,x3])
C# TIFF: How to Reorder, Rearrange & Sort TIFF Pages Using C# Code
C# TIFF - Sort TIFF File Pages Order in C#.NET. Reorder, Rearrange and Sort TIFF Document Pages in C#.NET Application. C# TIFF Page Sorting Overview.
how to reorder pages in pdf file; reorder pdf pages
VB.NET PowerPoint: Sort and Reorder PowerPoint Slides by Using VB.
Sort and Reorder PowerPoint Slides Range with VB.NET amount of robust PPT slides/pages editing methods & profession imaging controls, PDF document, image to
pdf rearrange pages online; reorder pdf pages reader
Data Section
15
Data in each .
section
must be contiguous. Therefore, if
f[1].data
is a
400x400 image, the first part of the following specifications will notwork,
while the second part will:
At present, the
section()
method doesnot support scaled data.
>>> # These will NOT work, since the data are not contiguous!
>>> f[1].section[:5,:5]
>>> f[1].section[:,:3]
>>> f[1].section[:,2]
>>> # but these will work:
>>> f[1].section[5,:]
>>> f[1].section[5,:10]
>>> f[1].section[6,7]
C# PDF: C# Code to Process PDF Document Page Using C#.NET PDF
C# PDF Page Processing: Sort PDF Pages - online C#.NET tutorial page for how to reorder, sort, reorganize or re-arrange PDF document files using C#.NET code.
how to move pages in pdf; how to reverse pages in pdf
C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
with the functions to merge PDF files using C# .NET, add new PDF page, delete certain PDF page, reorder existing PDF pages and split PDF document in both
change pdf page order preview; reorder pages of pdf
16
Chapter 3: Image Data
VB.NET TIFF: Modify TIFF File by Adding, Deleting & Sort TIFF
Users can use it to reorder TIFF pages in &ltsummary> ''' Sort TIFF document pages in designed powerful & profession imaging controls, PDF document, image to
how to rearrange pdf pages online; change page order in pdf reader
C# Word: How to Create Word Document Viewer in C#.NET Imaging
in C#.NET; Offer mature Word file page manipulation functions (add, delete & reorder pages) in document viewer; Rich options to add
how to rearrange pages in pdf document; change pdf page order reader
17
C
HAPTER
4:
Table Data
In this chapter . . .
In this chapter, we’ll discuss the data component in a table HDU. A
table will always be in an extension HDU, never in a primary HDU.
There are two kinds of table in FITS standard: binary table and ASCII
table. Binary table is more economical in storage and fasterin data access
and manipulation. ASCIItable stores the data in a "human readable" form
and therefore takes up more storage space as well as more processing time
since the ASCII text need to be parsed back into numerical values.
4.1 Table Data as a Record Array / 18
4.2 Table Operations / 19
4.3 Scaled Data in Tables / 21
4.4 Create a FITS table / 22
Read PDF in Web Image Viewer| Online Tutorials
Extract images from PDF documents; Add, reorder pages in PDF files; detailed information for reading and editing PDF in RasterEdge Web Document Viewer
how to move pages in pdf converter professional; reordering pages in pdf document
.NET Multipage TIFF SDK| Process Multipage TIFF Files
upload to SharePoint and save to PDF documents. View, edit, insert, delete and mark up pages in multi Easily add, modify, reorder and delete TIFF tags; Perfectly
pdf reverse page order; change pdf page order preview
18
Chapter 4: Table Data
4.1    Table Data as a Record Array
4.1.1  What is Record Array
A record array is an array which contains records (i.e. rows) of
heterogeneous data types. Record array is available through the
records
module in the
numarray
library.  Here is a simple example of record array:
In this example, there are 3 records (rows)and 4 fields (columns). The
firstfield is a short integer, second a character string (oflength 20), third a
floating point number, and fourth a character string (of length 10). Each
record has the same (heterogeneous) data structure.
4.1.2  Metadata of a Table
The data in a FITS table HDU is basically a record array, with added
attributes. The metadata,i.e. informationaboutthe tabledata, are stored in
the header. Forexample, the keyword TFORM1 contains the formatofthe
first field, TTYPE2 the name of the second field, etc. NAXIS2 gives the
number of records(rows) and TFIELDS gives the number of fields
(columns). For FITS tables, the maximum number of fields is 999. The
data type specified in TFORM is represented by letter code for binary
tables and a FORTRAN-like format string for ASCII tables. Note that this
is differentfromthe formatspecifications whenconstructing a recordarray.
>>> import numarray.records as rec
>>> bright=rec.array([(1,’Sirius’, -1.45, ’A1V’),\
...                   (2,’Canopus’, -0.73, ’F0Ib’),\
...                   (3,’Rigil Kent’, -0.1, ’G2V’)],\
...                  formats=’Int16,a20,Float32,a10’,\
...                  names=’order,name,mag,Sp’)
Table Operations
19
4.1.3  Reading a FITS Table
Like images, the
.data
attribute of a table HDUcontains the data ofthe
table.  To recap the simple example in Chapter 1:
Note that in PyFITS, when using the
field()
method, it is 0-indexed
while the suffixes in header keywords, such as TFORM is 1-indexed. So,
tbdata.field(0)
is the data in the column with the name specified in
TTYPE1 and format in TFORM1.
4.2    Table Operations
4.2.1  Select Records in a Table
Like image data, we can use the same "mask array" idea to pick out
desired records from a table and make a new table out of it
In the next example, assuming the table’s second field having the name
’magnitude’, an output table containing all the records of magnitude > 5
fromthe inputtableis generated:. [works onlyon version 0.9.8.4anlater]
>>> f = pyfits.open(’bright_stars.fits’)  # open a FITS file
>>> tbdata = f[1].data       # assume the first extension is a table
>>> print tbdata[:2]         # show the first two rows
RecArray[
(1, ’Sirius’, -1.4500000476837158, ’A1V’),
(2, ’Canopus’, -0.73000001907348633, ’F0Ib’)
]
--> print tbdata.field(’mag’)     # show the values in field "mag"
[-1.45000005 -0.73000002 -0.1        ]
--> print tbdata.field(1)         # field can be referred by index too
[’Sirius’ ’Canopus’ ’Rigil Kent’]
>>> scidata[1,4] = 999        # update a pixel value
>>> scidata[30:40, 10:20] = 0 # update values of a subsection
>>> scidata[3] = scidata[2]   # copy the 3rd row to the 4th row
>>> t = pyfits.open(’table.fits’)
>>> tbdata = t[1].data
>>> mask = tbdata.field(’magnitude’) > 5
>>> newtbdata = tbdata[mask]
>>> hdu = BinTableHDU(newtbdata)
>>> hdu.writeto(’newtable.fits’)
20
Chapter 4: Table Data
4.2.2  Merge Tables
Merging different tables is straightforward in PyFITS,. Simply merge
thecolumn definitions  of the input tables.
The number of fields in the output table will be the sum of numbers of
fields of the input tables. Users have to make sure the input tables don’t
share any common field names. The numberof records in the output table
will be the largest number of records of all input tables. The expanded
slots for the originally shorter table(s) will be zero (or blank) filled.
4.2.3  Appending Tables
Appending one table after another is slightly trickier, since the two
tables may have different field attributes. Here are twoexamples. The first
is toappendby field indices, the second one is toappend by field names. In
both cases, the output table will inherit column attributes (name, format,
etc.) of the first table.
>>> t1 = pyfits.open(’table1.fits’)
>>> t2 = pyfits.open(’table2.fits’)
# the column attribute is the column definitions
>>> t = t1[1].columns + t2[1].columns
>>> hdu = pyfits.new_table(t)
>>> hdu.writeto(’newtable.fits’)
Scaled Data in Tables
21
4.3     Scaled  Data in Tables
Table field’s data, like animage,canalso be scaled. The scalingin table
has a more generalized meaning than in images. In images, the physical
data is a simple linear transformation from the storage data. The table
fields do have such construct too, where BSCALE and BZERO are stored
in the headeras TSCALn and TZEROn. In addition, Boolean columns and
ASCII tables’s numeric fields are also generalized "scaled" fields, but
without TSCAL and TZERO.
All scaled fields, like the image case, will take extra memory space as
well as processing. So, if high performance is desired, try to minimize the
use of scaled fields.
All the scalings are done forthe user, so the user only sees the physical
data. Thus, this no need to worry about scaling back and forth between the
physical and storage column values.
>>> t1 = pyfits.open(’table1.fits’)
>>> t2 = pyfits.open(’table2.fits’)
# one way to find the number of records
>>> nrows1 = t1[1].data.shape[0]
# another way to find the number of records
>>> nrows2 = t2[1].header[’naxis2’]
# total number of rows in the table to be generated
>>> nrows = nrows1 + nrows2
>>> hdu = pyfits.new_table(t1[1].columns, nrows=nrows)
# first case, append by the order of fields
>>> for i in range(len(t1[1].columns)):
...   hdu.data.field(i)[nrows1:]=t2[1].data.field(i)
# or, second case, append by the field names
>>> for name in t1[1].columns.names:
...   hdu.data.field(name)[nrows1:]=t2[1].data.field(name)
# write the new table to a FITS file
>>> hdu.writeto(’newtable.fits’)
22
Chapter 4: Table Data
4.4     Create a FITS table
4.4.1  Column Creation
To create a table from scratch, it is necessary to create individual
columns first. A
Column
constrctor needs the minimal infomation of
column name and format. Here is a summary of all allowed formats for a
binary table:
We’ll concentrate on binary tables in this chapetr. ASCII tables will
descussed in a later chapter. The less frequently used X format (bit array)
and P format (used in variable length tables) will also be discussed in a
later chapter.
Besides the required name and format arguments in constructing a
Column, there are many optional arguments which can be used in creating
acolumn. Here is a listof these arguments and their corresponding header
keywords and descriptions
FITS format code
Description
8-bit bytes
L                     logical (Boolean)                  1
X                     bit                                *
B                     Unsigned byte                      1
I                     16-bit integer                     2
J                     32-bit integer                     4
K                     64-bit integer                     4
A                     character                          1
E                     single precision floating point    4
D                     double precision floating point    8
C                     single precision complex           8
M                     double precision complex          16
P                     array descriptor                   8
argument
Corresponding
Description
in Column()     header keyword
name            TTYPE            column name
format          TFORM            column format
unit            TUNIT            unit
null
TNULL
null value (only for B, I, and J)
bscale          TSCAL            scaling factor for data
bzero           TZERO            zero point for data scaling
disp            TDISP            display format
dim             TDIM             multi-dimensional array spec
start
TBCOL
starting position for ASCII table
array                            the data of the column
Documents you may be interested
Documents you may be interested