Skip to content
A collection of measured knit swatches.
Python Makefile
Branch: master
Clone or download
Latest commit 6da9f62 Aug 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
photos ignore downloaded photos Aug 12, 2019
swatches.csv special character with two unicode interpretations isn't great for a … Aug 14, 2019

Part of the KnitDB project at the Carnegie Mellon Textiles Lab. For bugs, file a github issue. For other inquires, please contact Jim McCann.


This repository contains the results of machine knitting and measuring a group of patterns. This collection first appeared as part of the KnitPick paper at UIST 2019 (project page).

If you use data from this project, please cite the KnitDB project page as well as the KnitPick paper.

These patterns were collected from the Essential Stitch Collection book and the Stitch Maps web page; the KnitPick paper describes how they were converted into 60x60 charts. All patterns were machine-knit on a 15-gauge Shima Seiki SWG091N2 using Tamm Petit 2/30 acrylic yarn (Color T4221 - Medium Camel).


Measurements and notes for each swatch are available in the swatches.csv file. This is a simplified version of an (internal) google sheet available here:

(requires a Carnegie-Mellon-affiliated Google account.)


Cart files are provided for reference but are in an undocumented and ideosyncratic format. If you believe these would be useful for you, please get in touch with the authors -- see project page.

Location: charts/$(simpleName).chart (simpleName from the swatches.csv file)

Format: JSON-based stitch graph, as described in the KnitPick paper

Machine Knitting Instructions

We originally converted charts to knitting instructions using an old pipeline; we've retroactively modified this pipeline to also produce .knitout files to describe the instructions, and included the files here. To the best of our knowledge, these files exactly match what was knit. Please let us know if you find any discrepencies.

Location: knitouts/$(simpleName).knitout (simpleName from the swatches.csv file)

Format: knitout

Stitch Meshes and Yarn Paths

These can be created from the knitout files by using the smobj utilities.

#for example:
	mkdir -p yarns smobjs
	../smobj/utilities/knitout-to-smobj knitouts/5_2_014TuckedRib.knitout  smobjs/5_2_014TuckedRib.smobj
	../smobj/utilities/smobj-to-yarns smobjs/5_2_014TuckedRib.smobj ../smobj/faces/knitout.sf yarns/5_2_014TuckedRib.yarns

Scripts are also provided to make all the knitout files into smobj and yarns files:

#use as follows:
	#NOTE: path to smobj utilities is hard-coded in these scripts; if you put them elsewhere you will need to edit
	cd scripts
	mkdir -p ../smobjs
	rm -f ../smobjs/*.smobj
	mkdir -p ../yarns
	rm -f ../yarns/*.yarns
#or just:
	cd scripts
	make make-smobjs
	make make-yarns

Word of forwarning: even though the make-* scripts do spawn a bunch of parallel worker threads, the process of generating these files still takes a few minutes (2.5 minutes on my relatively recent desktop).

Currently, the smobj utilties are under development so pre-computed yarns or smobj files are not available.


The swatches were photographed three times each as part of measurement. Relaxed photos were taken by gently sticking the swatch to a piece of sandpaper. Stretched photos were taken by stretching the swatch between metal bars attached to weights (608g). In the stretched configuration, photos with both light and dark backgrounds were taken.

In some cases, swatches were photographed multiple times to correct errors, in which case a .2 or .3 is appended. In other cases, swatches were mistakenly measured twice, in which case a .A or .B is used to differentiate and a note appears in swatches.csv. (In one instance, a swatch was photographed with the wrong side up, and this is also noted.)

Note that the photos were taken in several sessions with different lighting and white balance settings (shooting order can be recovered by using the EXIF data in the NEF files.) This is especially noticiable in the first set of relaxed photos, where the white balance stored with the file is significantly flawed. We have included a variety of miscellaneous calibration images (DSC_*.NEF) which may partially help with white balancing.


To save repository space, these photos are stored on google drive:

If you have the gdrive utility, you can download them from the command line as follows:

	cd photos
	#this will create a directory 'relaxed' with ~7.4G of photos:
	gdrive download --recursive 1FMwaVcfr_RN8J2lZSaw9dL3aTdHTbRpU

Note that the photo 101_1_212Three plus.NEF is missing.

Location: photos/relaxed/$(simpleName).NEF

Format: Nikon raw file.


To save repository space, these photos are stored on google drive:

If you have the gdrive utility, you can download them from the command line as follows:

	cd photos
	#this will create a directory 'stretched' with ~15G of photos:
	gdrive download --recursive 1R8VuEuiK3v9HLXmnBzYGdHSUFcR5wTZK

Note that the photos 10_2_034BrokenRibBacketWeave_*.NEF and 10_3_037SubtleTwist_*.NEF are missing.

Location: photos/stretched/$(simpleName)_light.NEF (light background) and photos/stretched/$(simpleName)_dark.NEF (dark background)

Format: Nikon raw file.

You can’t perform that action at this time.