This program will enlarge a cube by a given scalar of the original or to
specific dimensions. The user can specify to perform the enlargement by
cubic convolution, nearest neighbor, or bi-linear interpolation.
Fixed documentation error. The application name was rotate
instead of enlarge.
Added application test
Modified schema location from astogeology... to isis.astrogeology..."
Fixed compiler error with uninitialized variable after adding -O1 flag
Modified filename parameters to be cube parameters where necessary
Fixed application test
Program now updates output file's mapping keywords
Fixed typo in the user documentation
Removed references to CubeInfo
Fixed problems with the way the Alpha Cube was handled
Changed the parameter names smag/lmag to sscale/lscale for consistancy
The "Scale" keyword in the Projection group in the labels is now being
updated if this program is run on a projected cube.
Now uses the SubArea class to produce output cube labels
with corrected Mapping, Instrument, and AlphaCube groups.
Added functionality for enlarging to a total number of pixels.
Ported the enlarge functionality to base/objs/Enlarge class
Fixed issue 0000280 - enlarge fails when run with a batchlist
The SetOutputCube method from Process we were originally using called
Application::GetUserInterface(), but this became a problem when trying to
call enlarge(), or run the application, programmatically since we are no
longer using Application in the application's cpp file. Changed the call
to the one that takes in a CubeAttribute object. Also, removed the check
to see if an invalid interpolation method was passed in since the UserInterface
class checks and throws the exception and it was unreachable code.
Enlarge the number of samples by a scaling factor of 2, while leaving
the number of lines the same.
Here, the 1024 x 1024 image "peaks.cub" has had the application "reduce"
applied to it in order to produce a 512 x 1024 image called
"reducedPeaks.cub". In this example, the reduced image,
reducedPeaks.cub, will be enlarged by a factor of 2 along the sample
dimension in an attempt to restore it back to its original form.
In order to double the number of sample pixels, the sample scale is
set to 2.0, and the line scale remains at its default of 1.0. Since
no mode or interpolation has been specified, the application will
default to scale and cube convolution interpolation, respectively.
Screenshot of the GUI with parameters set to perform an enlargement
of the samples by scaling.
Input image for reduce
This is the original image, before being reduced, that the enlarge
application will attempt to replicate. It is important to realize
that this image has been scaled down to fit in a web browser. At
full size, the image would be 1024 x 1024 pixels.
Input image for enlarge, output from reduce
This is the reduced image, containing half its original number of
samples, that enlarge will attempt to restore. Though it
has also been scaled down to fit in a web browser, at full size it
would be 512 x 1024 pixels. For more information, see the
documentation for the "reduce" application.
Output image from enlarge
The enlarged image. Despite the fact that half the samples were
lost as a result of the reduction, the two images (peaks.cub and
restoredPeaks.cub) look nearly identical due to the cubic
convolution interpolation that was applied. Again scaled down for
web browsers, at full size, the image would be 1024 x 1024 pixels.
Enlarge the number of samples to 768, and keep the number of lines at
Here the mode has been set to enlarge to a total number of pixels along
the sample and line dimensions, with all other parameters kept at their
In order to enlarge to specific dimensions, the mode is set here to
"total". Also, because total lines and samples do not have default
values, the output number of lines must still be specified, even
though they will be unchanged.
Screenshot of the GUI with parameters set to perform a sample
enlargement to a total number of pixels.
Input image for enlarge
This is the same input image, reducedPeaks.cub, that was enlarged in
the last example.
Output image from enlarge
The enlarged image. Though it has been scaled down so that it can
be viewed in a web browser, the essential change can still be
observed. The horizontal enlargement is noticable, and the output
cube has 3/2 the number of samples as the input cube.