~cspiel/enblend/staging

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
March 4, 2004
    Released enblend-0.9

March 27, 2004
    Released enblend-1.0

    - Replaced erosive thinning algorithm for mask creation with a much faster
      nearest feature transform.

    - Reduced memory requirements. Enblend now swaps most of its data to disk
      as temporary files. Enblend also calculates the region of pixels that
      are involved in each blending step and only does math on those pixels,
      improving speed and memory usage.

    - Added options to limit the number of blending levels used.
      This can reduce memory usage and improve speed, at a loss of quality.

    - Added an option to blend around the -180/+180 degree boundary.
      There is still an open issue as to how to handle the zenith and nadir.

    - Added an option to blend the input images sequentially in the order
      given on the command line. Sometimes the assembler can make poor choices
      and seams will still be visible in the output.

April 3, 2004
    Released enblend-1.1

    - Fixed a bug in reading from temporary files that appeared on machines
      with different versions of GCC.

    - Fixed a boundary condition problem that lead to horizontal or vertical
      seams to appear in the output.

    - Fixed a bug where segments of an input image would appear on the far
      side of a blending zone. This would cause strange wedge-shaped artifacts
      in some output images.

April 26, 2004
    Released enblend-1.2

    - Fixed a bug where 8-bit TIFFS would not be identified properly on
      big-endian machines.

    - A second (better) fix for the boundary condition problem that lead
      to horizontal or vertical seams to appear in the output.

May 18, 2004
    Released enblend-1.3

    - Added a configure test for the endian-ness of the machine. I changed
      the way enblend reads and writes 8-bit color fields in 32-bit pixel
      words to reflect the endian-ness of the machine. This should get
      enblend working on powerpc machines.

      This release adds no new features.

October 17, 2004
    Released enblend-2.0

    - Ported Enblend to the VIGRA Computer Vision Library.

    - Support for signed and unsigned 16-bit, 32-bit, single- and double-
      precision floating point pixel types. 

    - Fixed the banding artifacts that often appeared in skies.

    - Sophisticated memory/disk balancing. You can tell Enblend how much
      memory it is allowed to use, and it will swap to disk after that.

    - Support for huge panoramas. I have tested that Enblend can blend a 
      1.2 gigapixel, 16-bit per channel color image. You should be able to
      go right up to the 4 gigabyte limit of the TIFF format.

    - Optional blending in CIE L*a*b* color space.

    - Option to use LZW compression for the output image, if your libtiff
      supports it. This option is selected by default in the prebuilt
      Windows executable.

    - The -s option for sequential blending is now the default. 
      Enblend cannot accurately determine how many blending levels to use
      when there are multiple disjoint overlap regions in one blending
      iteration. It is better to manually tell Enblend the order in which
      the images should be blended. If you still want Enblend to assemble
      non-overlapping images first, use the -a flag.

    - The -l option now tells Enblend the exact number of blending levels
      that you want to use. The geometry of your images may force Enblend to
      use a smaller number of levels. In this case a message will be printed.

    - Gimp (ver. < 2) and Cinepaint exhibit unusual behaviors when loading
      images with unassociated alpha channels. Use the -g flag to work
      around this. With this flag Enblend will create the output image with
      the associated alpha tag set, even though the image is really
      unassociated alpha.

November 15, 2004
    Released enblend-2.1

    - Compression is no longer the default option in the Windows executable.

    - Turned off TIFF library warning messages that required user interaction
      on Windows.

    - Fixed a bug in Vigra that caused primary color spots to appear in
      overexposed areas of 16-bit images.

    - Fixed a problem with Enblend crashing on large panoramas.
      Modified tiff import to use a scanline-based interface instead of a
      strip-based interface. PTStitcher generates TIFFs with the rows/strip
      tag set to an unreasonable value.
      
    - Ported the source to compile natively on Win32 using MSVC.

February 5, 2004
    Released enblend-2.2

    - This release fixes issues with the Windows version of Enblend.
      If you are using Enblend on UNIX you do not need to upgrade.

    - Replaced some system calls that are specific to Windows 2000 and XP
      with more generic functions. This should get the Windows binary of
      Enblend to run on pre-Win2K machines.

    - The Windows binary of Enblend is now build with a version of libtiff
      that includes support for all of the TIFF compression standards, such
      as Deflate, LZW, JPEG, and Packbits. Nona/Hugin produces TIFF files
      with the Deflate option.

April 17, 2005
    Released enblend-2.3

    - Reduced the maximum number of levels you can specify with the -l
      parameter from 30 to 29. While both of these are impractically large,
      at least 29 does not lead to arithmetic overflow and a subsequent crash.

    - Fixed a bug in temporary file handling in the Windows version of
      enblend. This should solve the "unable to open temporary file" error.

December 3, 2005
    Released enblend-2.4

    - Added support for working with cropped and shifted input images.
      These types of files are created by Nona's "Multiple TIFF" stitching
      option. A cropped and shifted TIFF saves space and time because it is
      just large enough for a single input image, instead of being the size
      of the entire output panorama with lots of empty space all around.
      Nona embeds an (x,y) offset coordinate in the file so that Enblend can
      tell where this file belongs in the final panorama.

      By default, if you give Enblend cropped and shifted TIFFs, the output
      will also be a cropped and shifted TIFF. Sometimes you may want to
      include the extra blank space anyway, for example if you are creating a
      360-degree panorama and the image size must be exactly a 2:1 ratio. In
      this case, use the new -f parameter to manually set the size of the
      output image:

      -f WIDTHxHEIGHT

      Thanks to Pablo d'Angelo for providing this patch.

    - Enblend will now create output files with embedded ICC profiles.
      The first ICC profile found amongst the input images will be copied
      to the output image. Enblend does not use ICC profiles to do color
      calculations.

    - Incorporated a patch from Fulvio Senore to make the mask generation
      faster. Fulvio wrote a more efficient data structure for use in the
      nearest feature transform.

December 11, 2005
    Released enblend-2.5

    - Fixed a bug where Enblend would crash when the -w parameter was used.

    - Fixed a bug where Enblend would sometimes say "mask transition line
      bounding box undefined."

January 27, 2007
    Released enblend-3.0

    - New, faster image processing algorithms for computing Gaussian and
      Laplacian pyramids.

    - Optional optimization of seam line placement to try to avoid mismatches
      and parallax errors in the image overlap region.

    - Masks can now be saved and loaded from files. This makes it possible
      to manually edit the location of the seam before multiresolution spline
      blending is applied.

    - Checkpointing of partial results is now optional. This improves speed.

    - Optional blending using the CIECAM02 color appearance model. Your TIFF
      files should have embedded ICC profiles in order to use this option.
      This replaces the CIE L*a*b* color blending in Enblend 2.X that never
      worked properly.

    - Optional use of the graphics processor to speed up certain computations.
      This feature is experimental and may not work on all systems.

    - Like other X.0 releases, please consider this a beta.

December 13, 2007
    Released enblend-3.1

    - Enfuse program for automatic multi-level exposure blending
    - Support for PNG and OpenEXR input files.
    - Correctly interpret alpha channel of float (HDR) images.
    - Output to jpg possible (8 bit only).
    - Compression can be specified with the new --compression option
    - Windows binary does not require a SSE2 capable processor.