JaMIDunnDoc.tioga
Mik Lamming, March 28, 1986 3:00:02 pm PST
Last edited by: Mik Lamming - June 18, 1986 11:38:17 am PDT
Bier, April 10, 1986 1:43:07 pm PST
JaMIDunn
CEDAR 6.1 — FOR INTERNAL XEROX USE ONLY
JaMIDunn
Extension package for JamImager to drive the Dunn camera
Mik Lamming
© Copyright 1986 Xerox Corporation. All rights reserved.
Abstract: Implements JaM commands for creating images on the Dunn camera
Created by: Lamming
Maintained by: Lamming <Lamming.pa>
Keywords: Dunn, Jam, Imager, JamImager
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
1. Description
This is a package implementing four new JamM commands so that you can output images produced with JamImager to the Dunn camera. If you want to know more about the Dunn camera read the documentation for the Dunn command by Bloomenthall.
You can use the JaMIDunn package at any Cedar workstation that has a color display. For best results the display should be set in high-res mode (See ColorDisplayTool for details). However only REPRISAL is actually connected to the Dunn so if you want to really make pictures you have to run this package there. At other workstations JaMIDunn just fiddles with the color display.
When you take a picture on the Dunn the following events happen:
1) Reprisal makes a PUP connection to the Dicentra YORK which drives the Dunn
2) The current color display contents and color map are saved
3) The color display map is set to be a linear RED ramp (unless you say otherwise - see below)
4) Your JaM display procedure is called to paint the display
5) The resulting screen image is saved for later snapping
6) Steps 3 thru 5 are repeated for GREEN and BLUE
5) The red filter is positioned in front of the Dunn camera lens
6) The red image is restored and an exposure is made - the film is not advanced!
7) Steps 5 and 6 are repeated for GREEN and BLUE
8) The film is advanced
9) Reprisal breaks the connection with YORK
If you press ABORT or Interrupt during the above sequence the image will be abandonned and the Dunn will be shut down in an orderly fashion ready for the next exposure.
2. JaM Commands
.dunnsnap <BODY> b <> õ Execute <BODY> under a DoSave imager op.
.preparecolormaps [ <map entry>.. <map entry>] b <> õ specify color maps for dunnsnap
.linearmapsb <> õ Reset linear map i.e. map[127] ← 127,127,127
.copies <n> b <> õ Subsequently make <n> copies of each image
.forcedunnclosedb <> õ Debugging aid - don't use this!
.interpret <rope> b <errorMsg> õ pass rope to Cedar interpreter
-- this lets you say:
(ViewerProcessesImpl.IdleOff[NIL]) .interpret
(ViewerProcessesImpl.IdleOn[NIL]) .interpret
.command <rope> b <REF ANY> õ pass rope to Cedar commander
.showip <pageNo> <rope> b õ display page of interpress file
3. Examples
WARNING: If you have a procedure that makes a lot of calls to ".dunnsnap" then Cedar may decide to go idle and blank the screen. In this case you get a whole heap of blank images. Temporary fix: Alter your user profile entry to: Viewers.AutoIdleTimeout: 0
(JaMIDunnImpl) .callinit % !! Do this first to register JaMIDunn with JaMImager !!
(displayProc) { % Draws three large "XEROX"'s
(xerox/pressfonts/helvetica-brr) 200 0 .nsrsetfont
100 500 .setxy .red .setcolor (XEROX) .show
100 300 .setxy .green .setcolor (XEROX) .show
100 100 .setxy .blue .setcolor (XEROX) .show
} .cvx .def
{ displayProc } .cvx .dunnsnap % Take a picture
(NegativeMap) { % makes a colormap such that map[255-i] - [i, i, i]
(a) 1029 .array .def
0 1 255 {
(i) .exch .def
a i 4 .mul 0 .add .cvi i .cvi .aput
a i 4 .mul 1 .add .cvi 255 i .sub .cvi .aput
a i 4 .mul 2 .add .cvi 255 i .sub .cvi .aput
a i 4 .mul 3 .add .cvi 255 i .sub .cvi .aput
} .cvx .for
} .cvx .def
NegativeMap .preparecolormaps % Next image will be a negative!
{ displayProc } .cvx .dunnsnap % Take a negative picture
(Ektachrome64AtF/5.6L*) [
0 0 0 0  1 1 1 1  2 3 3 3  3 4 4 4
4 5 5 5  5 6 6 6  6 8 8 8  7 9 9 9
8 10 10 10  9 11 11 11  10 13 13 13  11 14 14 14
12 15 15 15  13 16 16 16  14 17 17 17  15 18 18 18
16 19 19 19  17 20 20 20  18 21 21 21  19 22 22 22
20 23 23 23  21 24 24 24  22 24 24 24  23 25 25 25
24 26 26 26  25 27 27 27  26 28 28 28  27 29 29 29
28 30 30 30  29 31 31 31  30 32 32 32  31 32 32 32
32 33 33 33  33 34 34 34  34 35 35 35  35 36 36 36
36 37 37 37  37 38 38 38  38 39 39 39  39 40 40 40
40 41 41 41  41 41 41 41  42 42 42 42  43 43 43 43
44 44 44 44  45 45 45 45  46 46 46 46  47 47 47 47
48 48 48 48  49 48 48 48  50 49 49 49  51 50 50 50
52 51 51 51  53 51 51 51  54 52 52 52  55 53 53 53
56 53 53 53  57 54 54 54  58 55 55 55  59 55 55 55
60 56 56 56  61 57 57 57  62 57 57 57  63 58 58 58
64 59 59 59  65 59 59 59  66 60 60 60  67 61 61 61
68 61 61 61  69 62 62 62  70 63 63 63  71 64 64 64
72 64 64 64  73 65 65 65  74 66 66 66  75 67 67 67
76 67 67 67  77 68 68 68  78 69 69 69  79 70 70 70
80 71 71 71  81 72 72 72  82 72 72 72  83 73 73 73
84 74 74 74  85 75 75 75  86 76 76 76  87 76 76 76
88 77 77 77  89 78 78 78  90 79 79 79  91 80 80 80
92 81 81 81  93 81 81 81  94 82 82 82  95 83 83 83
96 83 83 83  97 84 84 84  98 85 85 85  99 86 86 86
100 86 86 86  101 87 87 87  102 88 88 88  103 88 88 88
104 89 89 89  105 90 90 90  106 91 91 91  107 91 91 91
108 92 92 92  109 93 93 93  110 93 93 93  111 94 94 94
112 95 95 95  113 96 96 96  114 96 96 96  115 97 97 97
116 98 98 98  117 99 99 99  118 100 100 100  119 101 101 101
120 102 102 102  121 103 103 103  122 104 104 104  123 105 105 105
124 105 105 105  125 106 106 106  126 107 107 107  127 108 108 108
128 109 109 109  129 110 110 110  130 111 111 111  131 112 112 112
132 113 113 113  133 113 113 113  134 114 114 114  135 115 115 115
136 116 116 116  137 117 117 117  138 118 118 118  139 118 118 118
140 119 119 119  141 120 120 120  142 121 121 121  143 122 122 122
144 123 123 123  145 124 124 124  146 124 124 124  147 125 125 125
148 126 126 126  149 127 127 127  150 128 128 128  151 129 129 129
152 130 130 130  153 131 131 131  154 132 132 132  155 133 133 133
156 134 134 134  157 135 135 135  158 136 136 136  159 137 137 137
160 138 138 138  161 139 139 139  162 140 140 140  163 141 141 141
164 142 142 142  165 143 143 143  166 144 144 144  167 145 145 145
168 146 146 146  169 147 147 147  170 148 148 148  171 149 149 149
172 150 150 150  173 151 151 151  174 152 152 152  175 153 153 153
176 154 154 154  177 155 155 155  178 156 156 156  179 157 157 157
180 158 158 158  181 159 159 159  182 160 160 160  183 161 161 161
184 162 162 162  185 164 164 164  186 165 165 165  187 166 166 166
188 167 167 167  189 168 168 168  190 169 169 169  191 171 171 171
192 172 172 172  193 173 173 173  194 174 174 174  195 175 175 175
196 176 176 176  197 177 177 177  198 178 178 178  199 180 180 180
200 181 181 181  201 182 182 182  202 183 183 183  203 184 184 184
204 185 185 185  205 186 186 186  206 187 187 187  207 188 188 188
208 189 189 189  209 190 190 190  210 191 191 191  211 193 193 193
212 194 194 194  213 195 195 195  214 196 196 196  215 198 198 198
216 199 199 199  217 200 200 200  218 202 202 202  219 203 203 203
220 204 204 204  221 206 206 206  222 207 207 207  223 208 208 208
224 210 210 210  225 211 211 211  226 212 212 212  227 214 214 214
228 215 215 215  229 216 216 216  230 217 217 217  231 219 219 219
232 220 220 220  233 221 221 221  234 223 223 223  235 224 224 224
236 226 226 226  237 227 227 227  238 229 229 229  239 230 230 230
240 232 232 232  241 233 233 233  242 235 235 235  243 237 237 237
244 238 238 238  245 240 240 240  246 241 241 241  247 243 243 243
248 244 244 244  249 246 246 246  250 247 247 247  251 249 249 249
252 250 250 250  253 252 252 252  254 253 253 253  255 255 255 255
] .def