Week 2: Running the first plugin chain, result showcase, etc

Mar 19, 2021

Hello everyone, welcome to my senior project weekly post. Today, I am going to
introduce the plugins in my first plugin chain and the result from running the
plugin on the image.

Compiling the binary from the weaver project

To compile the weaver project into a software we can run directly without
opening the project, we can select `Debug` in Weaver and compiler the code.

Plugin Chain

There are dozens of plugins in the weaver project, and certain combinations of
them, a chain of plugins, are used for certain purposes. In this post, I am
going to show the first plugin chain I used and its results.

Plugin 1-8

Image 1: Plugin 1-8


This part of the plugin chains aims to do image processing on the scanned image

– LoadTiff: We can load the image with the extension ‘tiff’ into the system.
– RGB2Gray: This plugin processed the colorful scanned image into gray image,
which is more convenient for processing. On the left column, we check the
‘User Defined Weights’ so that we can use our own weights of the colored
– SetFloorCeiling: set the range of the image
– CropImage: this crops the image so that there are no discrepancies in the
scanned image. Discrepancies are often caused by the turntable scanning.
– BinImage: as introduced last week, this helps to take a portion of the image
to analyze and find the best tracking.
– ImageSmooth: Smooth the image.
– InvertImage: Invert the color in the image.
– TrackDepthMan: An interactive plugin that draws track on the image. When we
uncheck the ‘Done’ part from the left list, we can start clicking the dark part
in the scanning image using the right click to enable auto tracking. Since each
image is part of a song, and images have around one millimeters in common, some
space might not be tracked. There are orange and red tracks appearing on the

Plugin 9-12

Image 2: Plugin 9-12

This part of the plugin chain deals more with the tracking.

– ShiftTrack: this plugin shifts the track horizontally, with the distance
‘Shift’ tweaked, we can make the tracking appear on the darkest part in the
scanned image.
– XSmDerivSm: This takes derivative of the tracks. It creates a new image by taking the derivative in the X direction of the input image along with performing two iterations of rectangular smooth in the X direction. It could be replaced by two copies of “Image Smooth” plugin and one copy of “Image Derivative” plugin but by doing the three operations together it saves memory. The image output by this plugin is used by Deriv Edge Gauss to compute edges from 2D images.
– DEdgeGauss2: This takes the minimum derivative from the derivatives given by
the result produced by XSmDerivSm
– WriteWav: It produces the audio track from the scanned image. The `appendname`
blank can be filled with the name desired to append after the default name.

Result from the first plugin

The audio is on the link below:



1. Try to eliminate the ‘ghosting light’, the slim parts of light that are
caused by cracking and scanning, by the plugin ‘RGB2Gray’.
2. Writing my first plugin ‘CombineTracks’.

2 Replies to “Week 2: Running the first plugin chain, result showcase, etc”

  1. Monali G. says:

    Wow Leo it looks like you’ve made a lot of progress! Excited to see what you accomplish next week.

  2. Eric M. says:

    I can’t even pretend to understand…. However, I can see that you’re making great progress so far! Could you summarize in non-technical terms what’s progressed?

Leave a Reply