-
Notifications
You must be signed in to change notification settings - Fork 0
Tut_OverMain
This overview of the GUI is written with the VOP0.16.10 in mind. This software is in active development and it means that things can and will change before the wiki is updated.

The version currently installed.
This page-button shows the Main interface used for animating and exposing frames.
This page button switches the VOP's GUI over to the calibration page where tools for exposure, auto-white balance. Noise floor clamping and defective pixel fixes.
This is not a page button, but instead a toggle that enables the Animation Desk Mode (ADM). This lets you take exposures and manually advance the playhead. It's intention is to enable the VOP to be used in setups that use animated elements between the projection screen and the camera. Cel, cutout, clay, puppets. Your project sets the limits.
default is disabled.
This shows whether the GUI has contact with the VOP without you having to press a button and guess.
This bit is where you see what the VOP is doing right now.
This is a live updated area that shows status of the VOP. Links to latest workprint when a job is done and estimated time and size for a job during a run.
If juggling TIFF sequences is a bit of a faff, you can tell the VOP to generate a high quality Quicktime ProRes4444 video, at the camera resolution. It's not fully uncompressed. But it is compatible with all the major NLE's and Compositing softwares. The VOP uses ffmpeg for this and once the render is done. The browser should download it automagically.
If you need to manually trigger a workprint render, this button is here. It fires up ffmpeg, does a low quality h264 file and gives you a download link.
If you want to save a very nifty job to brag or for simple backup/preservation. Hit this button. It will make the browser download the current_job.json file as it is to your computer. It should hold all the information for the job. Importantly, this json file is purely a text file. None of the artworks loaded into the VOP gets saved in this procedure. You need to keep them backed up yourself outside of the VOP.
What good is exporting a job when you can't import them as well?
Maybe you have an old job you want to re-run, check a friends exposure sheet or return to an ongoing 500 keyframe 2000 frame animation. I won't judge. But with the IMPORT JOB button you should be able to import the .json file into the VOP. It doesn't really care what the file is named. So you can rename it StupidMalmsten.json or something to know what it has inside it. When imported. It will be given the standard current_job.json so that the VOP knows what to do with it.
But remember. The VOP is under constant development so a job from long ago can probably be incompatible with the latest codebase. You probably need to wind the git back to the time when that job is compatible for the import to work.
This is a big red button. It's the emergency stop of the VOP. If you started the exposure sequence of a 529 frame animation and at frame 3 you realize that you messed up a setting or input. You do not want to waste time and storage just waiting for a botched job to finish. Just hit the PANIC / ABORT button. Then nuke the cam mag to start over from scratch.
This deletes the current_job.json that the VOP uses to know what the job is. Use this button to start over. Remember. No undo's in the VOP. If you press this and confirm. You will lose work.It'll show status bars, estimations of the job and links to workprintsIt'll show status bars, estimations of the job and links to workprints
Here we have the bits that handles the Camera Magazine (CAM MAG) and the projection mags (PROJECTION MAG, PROJECTION BIPACK 1 and PROJECTION BIPACK 2)
All four has the ability to upload stills and videos for use in jobs. You use the UPLOAD button on each for that.
When you want to clear out whatever is in the mag, you can press its NUKE button. This is destructive and cannot be undone in the GUI.
Each of the mags have a segmented display styled frame counter that shows what is active at the moment. It has thee states.
This is indicating an empty mag. Nothing is uploaded.
When there's numbers in this display. A video has been uploaded and ingested as a TIFF sequence. The left side shows which TIFF is loaded in the mag gate. The right side shows the runtime in number of frames. So a video of 149 frames where frame number 23 is active in the gate The display will show 23/149
When only a single still is uploaded to the mag, the display will show as SINGLE FR to differentiate from when a video is uploaded.
The following is only on the PROJECTION MAG, PROJECTION BIPACK 1 and PROJECTION BIPACK 2
This is used to enable and disable that layer. It controls if the mag should be ignored by the renderer, and when it's disabled, its columns are also hidden while the eyeball is disabled.
In order to help out moving the images around in 3D. Each of the mags on the projector side have controls to set the world scale.
This sets how far away from the camera the image should be to fulfill the FIT FOV and FILL FOV buttons. Default is -1.0. You can change this if you want.
This is a float setting how much the mags 3D world is scaled. This defaults to 1.0 and will be updated with the FIT FOV and FIlL FOV buttons.
This buttons tells the VOP to scale the mags 3D world so that at the distance set at Ref Z, At X & Y coordinates at 0.0,0.0, and no rotation, the image should be just big enough to touch the edge of the virtual camera's frustum.
Same as FIT FOV, only with this, it fills the cameras view at the same position and rotation.

This is where you see images and try to judge placement and exposure.
This is the closest the VOP has to an eye-piece. This is where the image can be previewed both as raw image, and after exposure. You choose what you want to see by using the CAMERA section on the right
Fun fact about it. If you think the image is too small, you can right click on this image and open it in a new tab to scrutinize details better.
This shows a waveform representation of the brightness of the pixels.
This shows the same as LUMA but the RGB channels have been separated, colorised and overlayed.
At the moment there's no straight RGB Parade option.

With this section, you control the camera. You'll be using this quite frequently to select frames you are looking at and how you want to view the image. It's also here where you do destructive captures and processing.
This is an integer input that functions basically as your playhead. If you want to see what the VOP will be doing on frame 12. Then enter 12 here and hit the PROJ PROBE button.
This is an input that only applies to the PROJ PROBE button. As the VOP is built to be able to move the artworks during an exposure. When you preview the image position and rotation, you need to knkow where during the smear you want to look. It's a float input. 0.0 is the start of the smear. 1.0 is the end of the smear. And 0.5 is the middle of the smear. Very useful when you want to just look at the image without a full smear and still know where in the smear you are looking.
This sets the playhead to the selected Frame and Subframe to the inputs you set above. It performs a quick composite of all enabled layers at the selected frames. And pushes the resulting still image to the preview window. This is helpful when you want to quickly check positions without doing a full multi second exposure. It will be showing the image as it is in that sub frame but not through the Pi Camera.
When you have set up a smear and want to quickly check that it makes the smear you want. Then you hit the CAM VIEW. It will run the whole smear motion during a full exposure according to the exposure sheet. And then push the result to the preview window. This button does not touch the contents of the camera mag. You can safely do multiple CAM VIEW checks and waste only your time.
This button ignores the Sub Frame input
This one is like the PROJ PROBE. But instead of peeking on the image that will be shown on the Projector Screen, you can here peek at what is in the Camera Magazine at that frame.
Very useful to remind yourself what the latent image in the CAM MAG looks like without doing anything destructive to it.
This button ignores the Sub Frame input.
This button is like the CAM VIEW and CAM PROBE combined. It runs a full exposure run of the selected frame, does a temporary double exposure composite with the frame in the CAM MAG. And pushes the result to the Preview Window. Nothing is however altered in the CAM MAG files
This one is useful to see what a full multi exposure will look like for that particular frame.
This button ignores the Sub Frame input
As the VOP's LIME system is based on strictly additive composites. In order to make something darker, you must use light to create darkness. To do that. You "send the cam mag to the lab" or "Invert it". You do that with this button. Once you hit it and confirm. The VOP will go through the CAM MAG and invert the channel data of all the frames. Once it is done. You can then run a job that burns in what needs to be darker. And then hit the LAB / INVERT button again in order to get back normal colors.
Without this button. You basically cannot do holdout mattes for multiple exposure jobs.
This is the big one. When you hit it, you tell the VOP that everything is set up as you want. The VOP will then go through frame by frame according to the Exposure Sheet and do the exposures, and if previous exposures for the frames are present. It will add the new exposure to the latent image according to the LIME methodology.
This is a very destructive button. Remember. There are no undo's. If you mess up. You have to start ALL OVER AGAIN. This is a feature. Not a bug. :)

This section has the constants that aren't animated during a job.
Field of view of the camera. Increase this for more extreme perspectives. Decrease it to get closer to orthographic or telescope compression.
Default is 45degrees.
This is the Camera Resolution used during the job.
These Resolutions use the full sensor area. No extra crop factor.
Half res full sensor. For most situations. This will be well enough of pixels.Binned in camera for best image quality.
Full resolution of the sensor. When reasonability is not an option.
These crop a bit of the top and bottom to reach a more native widescreen capture.
Like the default option. But vertically cropped.
Like the Full height full res option. This uses all of the pixels of the sensor while cropped to slightly wider than 16:9.
This mode is originally used for high speed filming... I don't know why you would want to use it on the VOP. Bugt the option is there for completeness.
While the VOP mostly just works with individual frames. It can do some video exports. So you can use this to set the framerate of the video exports. Default is 24 fps for traditions sake.
Simple video gain. You can use this to boost the pixel brightness in exchange for a raised noise floor. Default is 1.0 or no added gain.
These two inputs set the white balance of the camera using individual gains for the Red and Blue Channels. If you need to adjust them manually. There they are. To control amount of Green, you need to increase or decrease both Red and Blue. Green stays as a constant as the CMOS sensor has double of those sub pixels.
You have the option here to either go fully uncompressed for the TIFF sequences. Or use lossless ZIP compression. Depending on the content recorded, the ZIP compression can be half as big as the uncompressed.
This is a toggle menu to select how the VOP should work with the color channels.
This is a regular mode for full RGB sensor data. It's the default and works just as most any color camera you know.
This is almost an exploit to use when you know a frame only needs a single color tint. When selected for a job and EXECUTE SEQUENCE is started. The image is shown on the Projection Screen in monochrome black and white. The sensor photographs it like that. Then, in the VOP. Before it gets superimposed to any previous image (if present), the VOP multiplies the pixel data with the CG (Camera Gel) color of the frame. The upshot with this method is that you can get a single tinted exposure while lowering the visible noise as by showing it to the camera in black and white, the VOP can then disregard any deviance from pure monochrome for the input.
It should however be noted that when I use this. The channels do tend to clip quite fast. So I often go over the sequence a second time to do a highlight pass where I set all the CG fields to white and keep the Sensor Color set to Monochrome.
There are times when you want to rotate an axis before another axis. This input gives you the choice of which axis should rotate in which order. Default is XYZ.
This input lets you use a non-square shape for the pixels to maximise the number of pixels used on the Projection Monitor.
For example. If you have a 16:9 monitor as the projection monitor. You can set this to 4:3. This will result in the image getting slightly squeezed into view horizontally. But when played back with the same Pixel Aspect Ratio, you get the full full HD pixel resolution while the image is stretched to 21:9 or close to cinemascope.
When doing these calculations manually. It is best to concentrate on the aspect ratio of the screen that the camera can see.
The inputs are flexible. You can enter 4:3 or 1.33:1 and get basically the same image.
Default is 1.0:1.0 for a regular square pixel behaviour.
Use this checkbox toggle to see the PAR calculated and squeezed back to the full width or height instead of the distorted view. Default is off.
If you want to use the above PAR settings. But you can't be bothered to do the maths yourself. You can put in the Target AR into these boxes and hit CALC PAR. The VOP will then look at the Target and look at the resolution of the projection screen, it will assume the projection screen uses square pixels. And that the whole screen is framed inside the cameras view. And then it will calculate the necessary PAR values to get to that Target AR.

Here we do the actual animation. Like with paper exposure sheets. This one has time going from top to bottom and the various keyframeable elements are columns.
Depending on SMEAR MODE and visibility toggles. Columns can be hidden or shown.
Here you choose what mode you want the smears to follow.
These modes enable smearing of the artwork during exposure.
Simple Smear System (SSS) is essentially an overclocked motion blur. Use this when you want to draw a motion curve that the artwork then is animated along. The motion blur can be overpowered in as much as its length can be longer than the distance between frames.
MultiDimensional Smear (MDS) is my personal favourite and is the default you'll see when powering on the VOP.
This lets you set an animation for the whole shot, but you also get to manipulate what the image will do during each frame and you are not forced to follow the curves positions and rotations to do so. You get a second couple of pairs of Position and Rotation inputs per keyframe to set where the artwork should be at the start and the end of a frame. The simplest application are extrusions. But with imagination, a lot of weird thins can be achieved.
These are experimental modes designed to let you load higher than 8bpc images into the projection side and have them shown in various ways so that tonal detail survive a projection screen that is limited to 8bpc.
I have yet to get these to work however.
Dynamic Range Extender (DRE) tries to show the image with subframes gradually fading the image so that highlights are exposed for longer than shadows
This uses more normal exposure stacking. Where the image is shown for a set number of times with tonal ranges separated.
This is the keyframe number. Not editable.
This is the Camera Frame number that this keyframe targets.
The Interpolation mode of the keyframe. To set timings between each interpolated inbetween frames.
This tries to ease in and out of the positions without stopping on the way. This is the default
The more rigid and simple linear animation mode. Where the image is moving the same distance between frames as all the other frames between keyframes. This produces a more robotic movement that resembles a lot of older animation styles.
The Corner toggle. Enable this to make that keyframe a sharp corner.
The image's position in the virtual 3D Space. It holds three comma separated floats. Default is 0,0,-1. All three images use the same syntax
How much a unit is for position is determined by the World Scale set up above.
This sets the image's rotational values. You can use the Rotation Order menu above to change which of the three comma separated float axis is applied first.
The three values are floats. Meaning that one full rotation is 1.0. not 360. One and a half rotation is not 360*180=540 but instead it's 1.5 . This may seem strange at first. But it greatly simplifies maths for me as a user when dealing with multiple rotations.
Projection Gel (PG) is a virtual gel that you can set for a keyframe. The composite of the up to three images are multiplied together and then multiplied with the color values of the PG field. This can be set to change over time. Default is White (FFF) so that it's technically transparent and Disabled.
Camera Gel (CG) is a virtual gel that can be set up per keyframe. As the name implies. It takes the color you set there and multiplies it with the exposed image before sending the result to the LIME system.d
Exposure (EXP) is the exposure time as seconds in floats. 1.0 is one second. 1.5 is one and a half second. 0.1 is 1/10 second.
The VOP usually uses long exposures and there's no set upper limit cap. But in my experience, Anything longer than 8 seconds and you start to have to deal with hot pixels.
The exposure time not only determines brightness of the image. But as the VOP uses a video screen for the projection, the smear's smoothness greatly depends on how many subframes can be exposed during the frame's exposure time. The math's gets cruel but simple. If you have a screen that the Pi can drive at 30 Hz. You get 30 sub-frames per second of exposure. A 60 Hz screen doubles that. Pair that up with how far the artwork may have to move during the exposure. So you have to learn to balance the Exposure Time with the pixel distance between sub-frames, and keep an eye out for color channels that can clip faster than your exposure time needs. And also the sensor ships eventual dead or hot pixels that get more visible the longer exposure you do and the aperture set on the lens and the Gain set in the constants and any optical filtration you do between the camera and projection screen.
This means that to get a smooth smear/extrusion, you can find yourself using 2 seconds for some shots, and 120 seconds for others. It's part of the art to optimise these values.
Smear Distance (SD) is a column only found in the SSS Smear Mode. This is a float that sets essentially the shutter angle of the virtual shutter in the VOP. It is scaled to be 0.0 for no smear distance, that results in no smear but a full exposure. 0.5 is the equivalent of a standard 180 degree shutter. And 1.0 is 360 degree shutter. And you can drive this above 1.0 to have the smear go beyond that frames movement to simulate light trails.
It's important here to note that this only sets the frames smear distance. This is not a shutter in the traditional cinematography sense. It doesn't change the brightness of the frame. If you want a brighter frame. Use the EXP input.
Ok. Technically it can change the brightness a bit as a long smear can make it so that the image isn't exposing the same pixels all the time during a frame exposure. But in general. To change brightness you need to use the EXP and Gain inputs.
This is animateable so you can have the distance expand and contract over time.
Phase (PH) is a column only found in the SSS. This sets where on the frame's smear it should be doing the inbetweens for the subframes. It is a float and works like follows. 0.0 means the smear starts at the start of the frame and extends forward in time. 0.5 extends the smear equally forwards and backwards in time and 1.0 only extends backwards.
The use of this input may seem strange but it comes in really handy when doing a logo that has a trailing glow for example. You can do a first pass with the smear trail. Set the PH to 1.0 so that the smear extends backwards in time 5 frames by setting the Smear Distance (SD) to 5.0. And when that first pass is done. You leave the PH value as it is at 1.0 and set the SD value to 0.0 and running the same job as a second pass. This will superimpose the sharp logo in front of the smear as it flows through space.
This is animateable so you can have things moving through the smear over time.
With the X you can delete the keyframe. Remember. The VOP has no undo's. So be very sure you want it deleted before you hit that button.
This button appends keyframes to the list.
Repo run by: https://jmalmsten.com