VolumeJ
Class VJRenderViewCine

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--VolumeJ.VJRenderView
              |
              +--VolumeJ.VJRenderViewCine
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
VJSurfacePlotShell

public class VJRenderViewCine
extends VJRenderView

This subclass of VJRenderView implements cine mode rendering. Subclasses of VJRenderer need to implement a new instantiation method, and a new prepareNext(). If the total cine renderings are smaller than 32Mb, they are shown on screen as a stack, and backed-up in the ImageJ directory under the name "VolumeJ_Cine.tif". If the total cine renderings would be larger than 32 Mb, each rendering is separately saved in the ImageJ directory under the name "VolumeJ_Cine_XXXX.tif". Copyright (c) 2001-2002, Michael Abramoff. All rights reserved.


Field Summary
protected  int n
          Total number of view to be rendered (in a stack)
protected  float stepx
          The rotation steps to go to the next view.
protected  float stepy
          The rotation steps to go to the next view.
protected  float stepz
          The rotation steps to go to the next view.
protected  boolean toDisk
          Whether the cine rendering will be written to disk only or also displayed.
 
Fields inherited from class VolumeJ.VJRenderView
description, m, message, mLight, renderer, rotx, roty, rotz, running, scale
 
Fields inherited from class java.lang.Thread
inheritableThreadLocals, MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY, threadLocals
 
Constructor Summary
VJRenderViewCine(VJRenderer renderer, float scale, float rotx, float roty, float rotz, java.lang.String message, int n, boolean toDisk)
          Instantiates a new rendering shell: a wrapper for a VJRenderer to allow cine (multiple rotated views) renderings.
 
Method Summary
protected  void nextView(int k)
          Prepare for the next rendering in a cine rendering.
 void run()
          The top level rendering thread handler.
 void setRotationSteps(float stepx, float stepy, float stepz)
          Set the rotation steps around the x,y and z axes (per cine step).
 
Methods inherited from class VolumeJ.VJRenderView
center, computeTransformationMatrix, kill, memoryInUse, renderToImageProcessor, renderToPixelArray, report, toString
 
Methods inherited from class java.lang.Thread
, activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

n

protected int n
Total number of view to be rendered (in a stack)

stepx

protected float stepx
The rotation steps to go to the next view.

stepy

protected float stepy
The rotation steps to go to the next view.

stepz

protected float stepz
The rotation steps to go to the next view.

toDisk

protected boolean toDisk
Whether the cine rendering will be written to disk only or also displayed.
Constructor Detail

VJRenderViewCine

public VJRenderViewCine(VJRenderer renderer,
                        float scale,
                        float rotx,
                        float roty,
                        float rotz,
                        java.lang.String message,
                        int n,
                        boolean toDisk)
Instantiates a new rendering shell: a wrapper for a VJRenderer to allow cine (multiple rotated views) renderings.
Parameters:
renderer - a VJRenderer
scale - the amount by which to scale the volume
rotx, - roty, rotz the amount by which to rotate the amount in that order.
message - a useful message to identify the characteristics of this rendering.
Method Detail

run

public void run()
The top level rendering thread handler. Takes care of rendering the cine series and updating the transformation matrix after each cine step. It saves intermediate renderings to a file in the current directory.
Overrides:
run in class VJRenderView

nextView

protected void nextView(int k)
Prepare for the next rendering in a cine rendering. In this case, rotate the transformation matrix (i.e. the volume) by the step rotation amounts in x,y,z. Overload as wanted to implement other types of cine rendering.
Parameters:
k - the number of the current (i.e. before the next) rendering.

setRotationSteps

public void setRotationSteps(float stepx,
                             float stepy,
                             float stepz)
Set the rotation steps around the x,y and z axes (per cine step).
Parameters:
stepx - rotation in degrees around x-axis.
stepy - rotation in degrees around y-axis.
stepz - rotation in degrees around z-axis.