Working: Pix2Stitch

I feel confident in my cross-stitch pattern generator idea! (But if you wanted to see what else I had been considering, check out this post.) In short, the idea is to create a web application that turns an image into a cross-stitch chart that utilizes more than the single-color stitches seen in other current online pattern generators. I want to utilize edge detection for outlining, as well as turn “dithering” into multi-color stitches. Adding ornamentation such as beads is a reach goal.

After a few weeks of uncertainty about what to call this project idea, I have come up with what will suffice at least as a working title: Pix2Stitch.

“Pix” refers to both “pics” or images as well as the “pixels” that display them. “2” is a homophone of “to” in English, but it also represents the two lines in each X-shaped cross-stitch. “Stitch” refers to the fact that a user is generating a chart to follow for embroidery!

In order to create Pix2Stitch, I will need to:

  • identify a suitable programming language
  • find or develop a series of algorithms to transform an image into pixel color data
  • analyze this data to find an optimal color palette from among available thread colors (DMC floss)
  • utilize further algorithms to detect edges and segment pixel data into cohesive shapes
  • develop a way to output the resulting chart

Already I am gathering resources and talking to experts, including the brain behind Pixel-Stitch and TCNJ’s own Dr. Salgian from the Computer Science department.

I predict that this project will be very challenging, so I will learn a lot about design and development, including User Interface and Experience (UI/UX). Already, I am learning about how computers “see” and store color data in bits. Foreseen ups include making breakthroughs in what features the program has. Foreseen downs include potentially having to come up with my own algorithms to get it working.

Continue to follow my work here on this blog, category “Robin Friedman.”

My Thesis Project: Brainstorming

In class, we were asked to provide three ideas, so it seems to me that I should report those as my first post to the thesis class blog! Naturally, I had done plenty of thinking about my own thesis over the summer (and even before then), so I was definitely prepared to talk about two ideas in particular. Though, the “crazy” idea — perhaps we can substitute “particularly ambitious”? — had been floating around in the back of my mind a bit, too.

First Idea: Most Likely

Essentially, it is a web-based application for creating your own cross-stitch patterns. I was inspired by the obvious connection between this style of embroidery and pixel art, since each stitch is made in rows and columns. However, there are limitations of trying to represent a cross-stitch pattern as pixel art. For example, a program for pixel art will be unable to mix colors within a single pixel (as some patterns may call for), nor is it able to do any outlining between the pixels (the way backstitches are sometimes used).

A natural extension of this tool would be the ability to customize a pattern based on a digital image. While there are tools that can convert your image into pixel art, which usually also recommend which thread colors to embroider with, no program that I have found online factor in the two shortcomings of pixel art.

Basically, this thesis would be a major design and development project, with a focus on user interface (UI), computer vision, and artificial intelligence (AI).

Second Idea: Alternative

This was actually my first idea for a thesis project. It would be a revisiting of one of my early IMM projects: a game using abstract art to convey a message about the pressure to assimilate. The original venture was in p5.js (not p5.play!) and was never completed. The idea seemed to me the perfect way to come full circle as a college student. From my first coding class, to my final project as an undergraduate!

However, I am starting to question whether a career in game development is right for me. There are some serious cultural issues in the video game industry, such as working extreme unpaid overtime in periods of “crunch.” As a survivor of the Downingtown STEM Academy, I have learned the value of sleep, pacing myself, self-care, standing up for myself/my needs/my boundaries, and keeping sane. Basically, if I don’t go into game dev, why should my thesis project be a game?

I do, however, still consider this a legitimate alternative since there are clearly valuable skills to be learned by tackling my game as a solo project.

Third Idea: Particularly Ambitious

This one is hard to describe, but basically I want to consider accessibility in VR for people with limited vision by instead focusing on audio design. This would be less a game and more a toy/experience, as a person dons a headset and is tracked in their space. As they approach certain auditory stimuli, the [surround] sound may grow more intense. Some items would be interactive. I would want to include some tactile feedback as well, such as a gentle breeze.

It’s a more underdeveloped idea, but I consider it ambitious because I would probably have to learn to model, rig, and animate most of the objects in the scene. While I do want to expand my skill set through this project, I would much rather focus on my ability to problem-solve using code.


If you got this far, congratulations! This has been good practice building a post. Remember to check out the “Thesis Projects by Student” page and bookmark my category (Robin Friedman) for future updates.