From Trash to Art: A Tool for Generating Parquetry Art from Leover Wood
KATHERINE SONG, University of California, Berkeley, USA
This project presents a tool that allows parquetry, the art of tiling wood pieces to form decorative designs or images, to be easily
created by designers with no domain expertise. It takes as input one or more images of wood pieces, which may be salvaged from
laser-cutting or CNC milling, and a target image. Using a simple weighed intensity and edge matching algorithm, the tool determines
how the wood should be cut and arranged to resemble the target image. Finally, the tool outputs les that can be directly sent to a
laser cutter to cut the wood into tiles and engrave each tile with its location and orientation. The user then rearranges the cut tiles as
instructed by the engraved labels. This writeup details the motivation, implementation, and example results of this tool.
ACM Reference Format:
Katherine Song. 2022. From Trash to Art: A Tool for Generating Parquetry Art from Leftover Wood. In .ACM, New York, NY, USA,
7pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn
1 INTRODUCTION
Digital fabrication machines, such as laser cutters and 3D printers, have become commonplace in makerspaces through-
out the world, democratizing the making of physical artifacts and opening creative possibilities for the novice designer.
However, as the making movement continues to grow, the fabrication community must grapple with the problem
of generating more physical waste. Laser cutting is one of the most accessible and commonly-used techniques for
prototyping and is represented in roughly a quarter of all papers containing physical prototypes in recent ACM CHI
proceedings [
6
]. A laser cutter takes a vector le as digital input and uses a high-power laser to cut and/or engrave
a piece of at material, often wood or acrylic. While it is one of the easiest machines to learn to use, one common
phenomenon is that users often start with a large piece of material and end up with small scrap pieces after cutting their
desired designs. These scrap pieces are often deemed too small to reuse or save and are instead tossed into the trash.
Although scrap pieces might be seen as too small to make functional items on their own, small pieces of wood can
be readily used for parquetry or marquetry. Parquetry is a craft dating back to the 1600s whereby an artisan creates a
wooden decorative piece by carefully cutting and tiling together geometric shapes from wood with dierent shades and
grains. Similarly, in marquetry, the artisan cuts the dierent woods into particular shapes to form pictures in the wood.
Both parquetry and marquetry are time-consuming endeavors that traditionally rely on hand-cutting each wood piece
with a knife. They require experience and expertise in panel design, as well as selecting and working with dierent
woods.
This project seeks to provide an opportunity for novice designers to easily re-purpose wood pieces leftover from
laser cutting to create a custom parquetry panel, simultaneously helping address both the issue of waste generation in
digital fabrication and the inaccessibility of parquetry design. In particular, we present a tool that allows designers to
transform scrap wood pieces into a wooden mosaic piece resembling an image of their choice. Given input images of
the wood and the desired output image, the tool generates laser-cutter-compatible les to cut the wood pieces into
small tiles with labels indicating the tile’s position and orientation in the nal mosaic.
2022.
1
CS294-26 Final Project, Berkeley, CA,
Song
2 RELATED WORK
Mosaics are decorative images or designs formed by an arrangement of smaller, often irregular, pieces. They are often
painstakingly created by an expert artisans and used to decorate buildings, walls, and public spaces throughout the
world. Digital mosaic rendering is a well-studied problem in computer graphics. Researchers have reported methods of
generating mosaics from simulated colored paper pieces, [2], tiles [3], and even images [1,5].
Rendering parquetry given an image of wood is somewhat similar to rendering a mosaic. However, there are a
few key dierences. Notably, each wood pixel, or “woxel, can only be used once in the nal design. This project’s
implementation is based heavily on Iseringhausen et al.’s Computational Parquetry TOG paper [
4
]. In particular, it
borrows the paper’s algorithm for feature matching, which includes normalizing pixel intensity distributions and
extracting features based on a combination of pixel intensity and edges. Unlike Iseringhausen et al.’s paper, this project
does not demand that wood be scanned on a at-bed scanner; instead, it handles images of wood pieces that can be
taken with a smartphone or digital camera and computationally straightens the wood in software. Additionally, we
oer a graphical user interface that is readily usable by novice makers with no knowledge of the underlying pipeline.
3 PREPARATION OF WOOD
To simplify the problem, the tool assumes that wood pieces to be used have been trimmed such that they are rectangular.
Once a designer has rectangular pieces, they can take an image of the pieces and upload it to the tool, along with the
dimensions of the pieces. The tool uses Matplotlib’s ginput() function to prompt the user to select the corners of each
piece of wood in the input image(s). Using the user-inputted dimensions, a homography matrix is calculated to rectify
and crop the images of the wood. This process avoids the need for a at-bed scanner or careful calibration during the
image capture process. An example of rectied wood images is shown in Figure 1. The rectied wood images are then
converted into grayscale images.
4 TARGET IMAGE MATCHING
Once the wood images are rectied, the user may upload a target image that they would like their parquetry panel to
emulate. The tool processes the image and then determines how the wood should be cut and arranged. This process
involves histogram equalization, feature/woxel generation, and feature matching, as described subsequently.
4.1 Histogram Equalization
First, the intensities of the pixels of the target image are adjusted such that their distribution matches that of the
available wood. This is done by calculating the normalized cumulative histogram of the wood images (all images
Fig. 1. Example images of wood before and aer rectification.
2
From Trash to Art: A Tool for Generating Parquetry Art from Leover Wood
CS294-26 Final Project, Berkeley, CA,
Fig. 2. An example target image before and aer histogram equalization.
Fig. 3. An example target image feature and its best woxel match.
combined if there are more than one) and that of the target image and then interpolating between the two for every
pixel intensity in the target image. An example of the result of this process is shown in Figure 2.
4.2 Feature and Woxel Generation
Once the target image histogram is normalized, it is divided into features whose size is specied by the user. Smaller
feature sizes lead to higher-resolution nal products at the expense of fabrication and assembly time.
A “feature comprises a combination of the patch’s grayscale intensity and its Sobel edges. Empirically, a good feature
blend is 0.3*[intensity] + 0.7*[edges].
The cropped and rectied images of each piece of wood are also converted to grayscale and divided into square
woxels whose size is specied by the user. The woxels are digitally rescaled to match the resolution of the target image
features.
4.3 Feature Matching
Finally, each feature in the target image is matched to a woxel. Because woxels are removed from the available pool of
woxels as they are matched, features that are addressed later in the matching process will likely have worse matches
than features that are addressed earlier. For simplicity’s sake, it is assumed that the more important features of an image
are near the center of the image, with the less signicant features being closer to the edges. Thus, features are rst
sorted in order of distance from the center.
For each feature in the sorted list of features, we loop through all available woxels in 4 orientations: the original
woxel and the woxel rotated by 90, 180, and 270 degrees. For each woxel orientation, we calculate the sum of square
errors between the oriented woxel and the feature. We store the location and orientation of the best-matching woxel (i.e.
lowest SSE) and remove that woxel from our list of all available woxels before moving to the next feature. An example
of a feature and its woxel match is shown in Figure 3.
3
CS294-26 Final Project, Berkeley, CA,
Song
Fig. 4. 3 simulated parquetry panels.
Fig. 5. The program generates an SVG file that can be directly sent to the laser cuer. The SVG file contains cut locations (red) and
oriented (x,y) coordinates engravings (blue) for each woxel that is used in the final design. In this figure, the SVG file is overlaid over a
rectified image of a corresponding wood piece for illustration.
Example simulated parquetry panels after all features are matched are shown in Figure 4.
5 LASER CUTTING FILE GENERATION
After each feature of the target image has been matched to an oriented woxel from the available wood, a SVG le for
laser-cutting is generated. To do this, we loop through the list of woxel matches containing their location in the wood
and their orientation from the previous step. For each match, we use the Pycairo Python module
1
to draw a red box
around the woxel and to place blue text at the center of the woxel, indicating the nal (x,y) position of the woxel in the
nal piece (laser cutters conventionally interpret red as a cutting instruction and blue as an engraving instruction). The
text label is rotated according to the desired nal orientation of that woxel. An example of the generated SVG, overlaid
on top of an image of the corresponding wood piece, is shown in Figure 5.
6 GUI
To make this tool easy for most novices to use, a simple graphical user interface (GUI) is made with Python’s Tk
interface ("tkinter")2. A screenshot of the GUI is shown in Figure 6.
4
From Trash to Art: A Tool for Generating Parquetry Art from Leover Wood
CS294-26 Final Project, Berkeley, CA,
Fig. 6. The GUI lets the user upload and preview images of their wood pieces, their target image, and the simulated result.
Fig. 7. A laser cuer is used to cut and engrave each wood piece (le). The pieces are rearranged and oriented as specified by their
label (center le and center right). Finally, the assembled panel is sanded to remove the engraved labels (right)
7 PHYSICAL FABRICATION
The physical fabrication process is shown in Figure 7. In preparation for input into the tool, scrap veneer pieces ae
collected from the CITRIS Invention Lab and cut into rectangles. A Trotec Speedy 400 CO2 laser cutter
3
is used to cut
wood pieces using the les generated by the tool. Parameters (laser power, cutting speed, and pulse frequency) are
tuned to cleanly cut woxels without creating excessive burn marks and to engrave text lightly but legibly. A power of
36 W, speed of 0.34 m/s, and pulse frequency of 2000 Hz are used for cuts, and a power of 18 W and speed of 0.92 m/s
are used for engraving.
1https://pycairo.readthedocs.io/en/latest/
2https://docs.python.org/3/library/tkinter.html
3Located in the CITRIS Invention Lab in 141 Sutardja Dai Hall
5
CS294-26 Final Project, Berkeley, CA,
Song
Fig. 8. Example fabricated panels. Le: Mona Lisa. Right: Abraham Lincoln portrait.
After cutting, the woxels are rearranged in order according to their labeled coordinates and glued to a backboard.
The surface is lightly sanded until the engraved labels are no longer visible. Examples of nal panels are shown in
Figure 8.
8 LIMITATIONS AND FUTURE WORK
Because this tool uses user-captured images of wood instead of using a at-bed scanner (as done in [
4
]), errors may be
introduced from varying lighting conditions. For example, two pieces of wood taken under dierent conditions might
result in input images that do not accurately represent the intensity dierences between the two pieces, leading to
incorrect histogram equalization and ultimately incorrect feature matching. Similarly, direct light sources and shadows
can create articially light or dark spots on images that do not correspond to actual light or dark spots on the wood.
This can be avoided by ensuring that all images are taken in the same location with the same camera settings and that
no direct light sources that create harsh reections are present.
Additionally, the current brute-force search of the optimized woxel is not practical for large pieces of work. While
wood is inherently irregular, it may be possible to take advantage of some continuities to achieve more intelligent
searches; for example, when moving from one target feature to an adjacent one, we might start our search for a matching
woxel in the neighborhood of the previously-matched one and simply “accept” it if the error metric is suciently small
instead of looping over every available woxel.
Furthermore, a matching algorithm more sophisticated than nding the minimum SSE may yield higher delity
results. For example, this project assumes that all woxels are of equal shape and size for simplicity. Ideally, we could
have a tool that can also adaptively modify woxel shapes to accommodate curves and other features in a target image.
As a drawback, this would add signicant complexity in cut le generation and assembly, and such an algorithm would
likely not use the wood pieces as eciently.
Finally, although fabrication and assembly as described in this project is greatly simplied compared to the traditional
parquetry workow, the process still requires a great deal of manual labor. For very detailed panels, it can take hours to
arrange the cut tiles.
9 CONCLUSION
This project features a tool that computationally generates laser-cutting and assembly instructions to transform leftover
pieces of wood into a parquetry panel resembling an image of the user’s choice. The developed GUI is simple enough to
use for a novice maker with no knowledge of the software pipeline.
REFERENCES
[1] Adam Finkelstein and Marisa Range. 1998. Image mosaics. In International conference on raster imaging and digital typography. Springer, 11–22.
6
From Trash to Art: A Tool for Generating Parquetry Art from Leover Wood
CS294-26 Final Project, Berkeley, CA,
[2]
Yong Jea Gi, Young Sup Park, Sang Hyun Seo, and Kyoung Hyun Yoon. 2006. Mosaic Rendering using Colored Paper. In VAST: International Symposium
on Virtual Reality, Archaeology and Intelligent Cultural Heritage, Marinos Ioannides, David Arnold, Franco Niccolucci, and Katerina Mania (Eds.). The
Eurographics Association. https://doi.org/10.2312/VAST/VAST06/025-030
[3]
Alejo Hausner. 2001. Simulating Decorative Mosaics. In Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques
(SIGGRAPH ’01). Association for Computing Machinery, New York, NY, USA, 573–580. https://doi.org/10.1145/383259.383327
[4] Julian Iseringhausen, Michael Weinmann, Weizhen Huang, and Matthias B. Hullin. 2020. Computational Parquetry: Fabricated Style Transfer with
Wood Pixels. ACM Trans. Graph. 39, 2, Article 12 (feb 2020), 14 pages. https://doi.org/10.1145/3378541
[5] Junhwan Kim and Fabio Pellacini. 2002. Jigsaw image mosaics. ACM Transactions on Graphics 21, 3 (2002), 657–664.
[6]
Eldy S Lazaro Vasquez, Hao-Chuan Wang, and Katia Vega. 2020. The Environmental Impact of Physical Prototyping: a Five-Year CHI Review. In
SelfSustainableCHI 2020. ACM, Honolulu, HI, USA, 8.
7