Package net.sourceforge.jiu.geometry

# Class ScaleReplication

java.lang.Object
net.sourceforge.jiu.ops.Operation
net.sourceforge.jiu.ops.ImageToImageOperation
net.sourceforge.jiu.geometry.ScaleReplication

public class ScaleReplication extends ImageToImageOperation
Changes the pixel resolution of an image by replicating (or dropping) pixels. A fast but low quality scaling algorithm that works with all kinds of image types. `Resample` provides better quality, but is slower and works with intensity-based image data types only.

### Usage example

The input image will be scaled to an image that is twice as wide as itself and three times as high.

     ScaleReplication scale = new ScaleReplication();
     scale.setInputImage(image); // something implementing IntegerImage
     scale.setSize(image.getWidth() * 2, image.getHeight() * 2);
     scale.process();
     PixelImage scaledImage = scale.getOutputImage();

Author:
  Marco Schmidt

## Field Summary

Fields
Modifier and Type
Field
Description
`private Integer`
`outHeight`
`private Integer`
`outWidth`

## Constructor Summary

Constructors
Constructor
Description
`ScaleReplication()`

## Method Summary

Modifier and Type
Method
Description
`void`
`process()`
This method does the actual work of the operation.
`private void`
`process(IntegerImage in, IntegerImage out)`
`void`
`setSize(int width, int height)`
Specify the resolution to be used for the image to be created.

### Methods inherited from class net.sourceforge.jiu.ops.ImageToImageOperation

`canInputAndOutputBeEqual, ensureImagesHaveSameResolution, ensureInputImageIsAvailable, ensureOutputImageResolution, getInputImage, getOutputImage, setCanInputAndOutputBeEqual, setInputImage, setOutputImage`

### Methods inherited from class net.sourceforge.jiu.ops.Operation

`addProgressListener, addProgressListeners, getAbort, removeProgressListener, setAbort, setProgress, setProgress`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### outWidth

private Integer outWidth

### outHeight

private Integer outHeight

## Constructor Details

### ScaleReplication

public ScaleReplication()

## Method Details

### process

private void process(IntegerImage in, IntegerImage out)

### process

public void process() throws MissingParameterException, WrongParameterException
Description copied from class: `Operation`
This method does the actual work of the operation. It must be called after all parameters have been given to the operation object.

Overrides:
  `process` in class `Operation`
Throws:
  `MissingParameterException` - if any mandatory parameter was not given to the operation
  `WrongParameterException` - if at least one of the input parameters was not initialized appropriately (values out of the valid interval, etc.)

### setSize

public void setSize(int width, int height)
Specify the resolution to be used for the image to be created.

Parameters:
  `width` - horizontal resolution of the new image
  `height` - vertical resolution of the new image
Throws:
  `IllegalArgumentException` - if any of the arguments is smaller than 1