ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/ra_pfm.csh
Revision: 2.5
Committed: Fri Nov 17 19:14:54 2006 UTC (17 years, 5 months ago) by greg
Content type: application/x-csh
Branch: MAIN
CVS Tags: rad5R4, rad5R2, rad4R2P2, rad5R0, rad5R1, rad4R2, rad4R1, rad4R0, rad3R9, rad4R2P1, rad5R3, HEAD
Changes since 2.4: +3 -3 lines
Log Message:
Corrected Usage: output

File Contents

# User Rev Content
1 greg 2.1 #!/bin/csh -f
2 greg 2.5 # RCSid $Id: ra_pfm.csh,v 2.4 2005/01/14 06:40:54 greg Exp $
3 greg 2.1 #
4     # Convert to/from Poskanzer Float Map image format using pvalue
5     #
6     if (`uname -p` == powerpc) then
7 greg 2.3 set machend=big
8 greg 2.1 else
9 greg 2.3 set machend=little
10 greg 2.1 endif
11     while ($#argv > 0)
12     if ("$argv[1]" == "-r") then
13     set reverse
14 greg 2.3 else if (! $?inp) then
15     set inp="$argv[1]"
16     else if (! $?out) then
17     set out="$argv[1]"
18 greg 2.1 else
19 greg 2.3 goto userr
20 greg 2.1 endif
21     shift argv
22     end
23     if ($?reverse) then
24     if (! $?inp) then
25     goto userr
26     endif
27 greg 2.3 set opt=""
28 greg 2.1 set hl="`head -3 $inp:q`"
29 greg 2.3 if ("$hl[1]" == "Pf") then
30     set opt=($opt -b)
31     else if ("$hl[1]" != "PF") then
32 greg 2.1 echo "Input not a Poskanzer Float Map"
33     exit 1
34     endif
35 greg 2.3 if (`ev "if($hl[3],1,0)"`) then
36     set filend=big
37     else
38     set filend=little
39     endif
40     if ($filend != $machend) then
41     set opt=($opt -dF)
42     else
43     set opt=($opt -df)
44     endif
45 greg 2.1 set res=($hl[2])
46 greg 2.3 if ($?out) then
47 greg 2.4 tail +4 $inp:q | pvalue -r -h $opt +y $res[2] +x $res[1] > $out:q
48 greg 2.3 else
49 greg 2.4 tail +4 $inp:q | pvalue -r -h $opt +y $res[2] +x $res[1]
50 greg 2.3 endif
51 greg 2.1 exit $status
52     endif
53     if (! $?inp) then
54     goto userr
55     endif
56     set res=(`getinfo -d < $inp:q`)
57 greg 2.3 if ($?out) then
58     ( echo PF ; echo $res[4] $res[2] ) > $out:q
59     if ($machend == little) then
60     echo "-1.000000" >> $out:q
61     else
62     echo "1.000000" >> $out:q
63     endif
64 greg 2.4 if ("$res[1]" == "-Y") then
65     pflip -v $inp:q | pvalue -h -H -df >> $out:q
66     else
67     pvalue -h -H -df $inp:q >> $out:q
68     endif
69 greg 2.3 else
70     echo PF
71     echo $res[4] $res[2]
72     if ($machend == little) then
73     echo "-1.000000"
74     else
75     echo "1.000000"
76     endif
77 greg 2.4 if ("$res[1]" == "-Y") then
78     pflip -v $inp:q | pvalue -h -H -df
79     else
80     pvalue -h -H -df $inp:q
81     endif
82 greg 2.3 endif
83 greg 2.1 exit $status
84     userr:
85 greg 2.5 echo "Usage: $0 input.hdr [output.pfm]"
86     echo " or: $0 -r input.pfm [output.hdr]"
87 greg 2.1 exit 1