Module ij
Package ij

# Class VirtualStack

java.lang.Object
ij.ImageStack
ij.VirtualStack

Direct Known Subclasses:
  `AVI_Reader`, `FileInfoVirtualStack`, `ListVirtualStack`, `PlotVirtualStack`

public class VirtualStack extends ImageStack
This class represents an array of disk-resident images.

## Field Summary

### Fields inherited from class ij.ImageStack

`cTable`

## Constructor Summary

Constructors
Constructor
Description
`VirtualStack()`
Default constructor.
`VirtualStack(int width, int height)`
`VirtualStack(int width, int height, int slices)`
Creates a virtual stack with no backing storage.
See: Help>Examples>JavaScript>Terabyte VirtualStack
`VirtualStack(int width, int height, int slices, String options)`
Creates a virtual stack with no backing storage.
See: Help>Examples>JavaScript>Terabyte VirtualStack
`VirtualStack(int width, int height, ColorModel cm, String path)`
Creates an empty virtual stack.

## Method Summary

Modifier and Type
Method
Description
`void`
`addSlice(String fileName)`
Adds an image to the end of a virtual stack created using the VirtualStack(w,h,cm,path) constructor.
`void`
`addSlice(String sliceLabel, ImageProcessor ip)`
Does nothing..
`void`
`addSlice(String sliceLabel, ImageProcessor ip, int n)`
Does noting.
`void`
`addSlice(String sliceLabel, Object pixels)`
Does nothing.
`void`
`deleteLastSlice()`
Deletes the last slice in the stack.
`void`
`deleteSlice(int n)`
Deletes the specified slice, where 1<=n<=nslices.
`int`
`getBitDepth()`
Returns the bit depth (8, 16, 24 or 32), or 0 if the bit depth is not known.
`String`
`getDirectory()`
Returns the path to the directory containing the images.
`String`
`getFileName(int n)`
Returns the file name of the specified slice, where 1<=n<=nslices.
`Object[]`
`getImageArray()`
Returns null.
`Object`
`getPixels(int n)`
Returns the pixel array for the specified slice, where 1<=n<=nslices.
`ImageProcessor`
`getProcessor(int n)`
Returns an ImageProcessor for the specified slice, where 1<=n<=nslices.
`Properties`
`getProperties()`
Returns the ImagePlus Properties assoctated with the current slice, or null.
`int`
`getSize()`
`String`
`getSliceLabel(int n)`
Returns the label of the Nth image.
`boolean`
`isVirtual()`
Always return true.
`void`
`reduce(int factor)`
Reduces the number of slices in this stack by a factor.
`int`
`saveChanges(int n)`
Currently not implemented
`void`
`setBitDepth(int bitDepth)`
Sets the bit depth (8, 16, 24 or 32).
`void`
`setIndexes(int[] indexes)`
Sets the table that translates slice numbers of hyperstacks not in default CZT order.
`void`
`setPixels(Object pixels, int n)`
Assigns a pixel array to the specified slice, where 1<=n<=nslices.
`void`
`setSliceLabel(String label, int n)`
Does nothing.
`int`
`size()`
Returns the number of slices in this stack.
`ImageStack`
`sortDicom(String[] strings, String[] info, int maxDigits)`
`int`
`translate(int n)`
Translates slice numbers of hyperstacks not in default CZT order.
`void`
`trim()`
Does nothing.

### Methods inherited from class ij.ImageStack

`addSlice, addUnsignedShortSlice, convertToFloat, create, create, crop, drawSphere, duplicate, getColorModel, getHeight, getRoi, getShortSliceLabel, getShortSliceLabel, getSliceLabels, getVoxel, getVoxels, getVoxels, getWidth, isHSB, isHSB32, isLab, isRGB, setColorModel, setOptions, setProcessor, setRoi, setVoxel, setVoxels, setVoxels, toString, update`

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

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

## Constructor Details

### VirtualStack

public VirtualStack()
Default constructor.

### VirtualStack

public VirtualStack(int width, int height)

### VirtualStack

public VirtualStack(int width, int height, ColorModel cm, String path)
Creates an empty virtual stack.

Parameters:
  `width` - image width
  `height` - image height
  `cm` - ColorModel or null
  `path` - file path of directory containing the images
See Also:
  - `addSlice(String)`
  - OpenAsVirtualStack.js

### VirtualStack

public VirtualStack(int width, int height, int slices)
Creates a virtual stack with no backing storage.
See: Help>Examples>JavaScript>Terabyte VirtualStack

### VirtualStack

public VirtualStack(int width, int height, int slices, String options)
Creates a virtual stack with no backing storage.
See: Help>Examples>JavaScript>Terabyte VirtualStack

## Method Details

### addSlice

public void addSlice(String fileName)
Adds an image to the end of a virtual stack created using the VirtualStack(w,h,cm,path) constructor. The argument can be a full file path (e.g., "C:/Users/wayne/dir1/image.tif") if the 'path' argument in the constructor is "". File names that start with '.' are ignored.

### addSlice

public void addSlice(String sliceLabel, Object pixels)
Does nothing.

Overrides:
  `addSlice` in class `ImageStack`

### addSlice

public void addSlice(String sliceLabel, ImageProcessor ip)
Does nothing..

Overrides:
  `addSlice` in class `ImageStack`

### addSlice

public void addSlice(String sliceLabel, ImageProcessor ip, int n)
Does noting.

Overrides:
  `addSlice` in class `ImageStack`

### deleteSlice

public void deleteSlice(int n)
Deletes the specified slice, where 1<=n<=nslices.

Overrides:
  `deleteSlice` in class `ImageStack`

### deleteLastSlice

public void deleteLastSlice()
Deletes the last slice in the stack.

Overrides:
  `deleteLastSlice` in class `ImageStack`

### getPixels

public Object getPixels(int n)
Returns the pixel array for the specified slice, where 1<=n<=nslices.

Overrides:
  `getPixels` in class `ImageStack`

### setPixels

public void setPixels(Object pixels, int n)
Assigns a pixel array to the specified slice, where 1<=n<=nslices.

Overrides:
  `setPixels` in class `ImageStack`

### getProcessor

public ImageProcessor getProcessor(int n)
Returns an ImageProcessor for the specified slice, where 1<=n<=nslices. Returns null if the stack is empty.

Overrides:
  `getProcessor` in class `ImageStack`

### saveChanges

public int saveChanges(int n)
Currently not implemented

### size

public int size()
Returns the number of slices in this stack.

Overrides:
  `size` in class `ImageStack`

### getSize

public int getSize()

Overrides:
  `getSize` in class `ImageStack`

### getSliceLabel

public String getSliceLabel(int n)
Returns the label of the Nth image.

Overrides:
  `getSliceLabel` in class `ImageStack`

### getImageArray

public Object[] getImageArray()
Returns null.

Overrides:
  `getImageArray` in class `ImageStack`

### setSliceLabel

public void setSliceLabel(String label, int n)
Does nothing.

Overrides:
  `setSliceLabel` in class `ImageStack`

### isVirtual

public boolean isVirtual()
Always return true.

Overrides:
  `isVirtual` in class `ImageStack`

### trim

public void trim()
Does nothing.

Overrides:
  `trim` in class `ImageStack`

### getDirectory

public String getDirectory()
Returns the path to the directory containing the images.

### getFileName

public String getFileName(int n)
Returns the file name of the specified slice, where 1<=n<=nslices.

### setBitDepth

public void setBitDepth(int bitDepth)
Sets the bit depth (8, 16, 24 or 32).

Overrides:
  `setBitDepth` in class `ImageStack`

### getBitDepth

public int getBitDepth()
Returns the bit depth (8, 16, 24 or 32), or 0 if the bit depth is not known.

Overrides:
  `getBitDepth` in class `ImageStack`

### sortDicom

public ImageStack sortDicom(String[] strings, String[] info, int maxDigits)

### getProperties

public Properties getProperties()
Returns the ImagePlus Properties assoctated with the current slice, or null.

### setIndexes

public void setIndexes(int[] indexes)
Sets the table that translates slice numbers of hyperstacks not in default CZT order.

### translate

public int translate(int n)
Translates slice numbers of hyperstacks not in default CZT order.

### reduce

public void reduce(int factor)
Reduces the number of slices in this stack by a factor.