DLP player#

Walkthrough#

Warning

The vamtoolbox.dlp.players.player() must be run from within

if __name__ == "__main__":

because the player spawns a subprocess with the multiprocessing standard library.

Precomputed folder of images#

If the user has a folder of image files saved from an ImageSeq object or created through other means, e.g. third-party library, the directory can be specified in the images_dir keyword argument.

import vamtoolbox as vam

if __name__ == "__main__":
    # Precomputed folder of images
    vam.dlp.players.player(images_dir=vam.resources.load("seq0imagesdir"),rot_vel=24,windowed=True)

Precomputed sinogram object#

The player also accepts a Sinogram object as input in the sinogram keyword argument. If this method is chosen, the image_config keyword argument must also be specified. See Digital light processing for information on the ImageConfig object.

    # Sinogram object
    sino = vam.geometry.loadVolume(file_name=vam.resources.load("sino0.sino"))
    iconfig=vam.imagesequence.ImageConfig(image_dims=(1920,1080),array_num=2,array_offset=450)
    vam.dlp.players.player(sinogram=sino,image_config=iconfig,rot_vel=24,windowed=True)

Image sequence object#

The player also accepts a ImageSeq object as input in the image_seq keyword argument.

    # Image sequence object
    sino = vam.geometry.loadVolume(file_name=vam.resources.load("sino0.sino"))
    iconfig=vam.imagesequence.ImageConfig(image_dims=(1920,1080),array_num=2,array_offset=450)
    image_seq = vam.imagesequence.ImageSeq(image_config=iconfig,sinogram=sino)
    vam.dlp.players.player(image_seq=image_seq,pause_bg_color=(0,255,0),duration=10,rot_vel=24,start_index=100,windowed=True)

Video file#

The player accepts a regular video file.

    # Video
    vam.dlp.players.player(video=vam.resources.load("video0.mp4"),rot_vel=12,windowed=True)

Tip

The spacebar can be used to pause/resume playback of the image sequence or video.

Example file#

examples/DLPplayer.py#
import vamtoolbox as vam

if __name__ == "__main__":
    # Precomputed folder of images
    vam.dlp.players.player(images_dir=vam.resources.load("seq0imagesdir"),rot_vel=24,windowed=True)

    # Sinogram object
    sino = vam.geometry.loadVolume(file_name=vam.resources.load("sino0.sino"))
    iconfig=vam.imagesequence.ImageConfig(image_dims=(1920,1080),array_num=2,array_offset=450)
    vam.dlp.players.player(sinogram=sino,image_config=iconfig,rot_vel=24,windowed=True)

    # Image sequence object
    sino = vam.geometry.loadVolume(file_name=vam.resources.load("sino0.sino"))
    iconfig=vam.imagesequence.ImageConfig(image_dims=(1920,1080),array_num=2,array_offset=450)
    image_seq = vam.imagesequence.ImageSeq(image_config=iconfig,sinogram=sino)
    vam.dlp.players.player(image_seq=image_seq,pause_bg_color=(0,255,0),duration=10,rot_vel=24,start_index=100,windowed=True)

    # Video
    vam.dlp.players.player(video=vam.resources.load("video0.mp4"),rot_vel=12,windowed=True)