Meeting back up with our adviser last Monday gave us some insight into what needs to happen the following weeks. In the short term, our goal is to get our programs to a stage where implementing EP can happen. In the long term, we want to implement EP.
Furthermore, this week was all about quick meetings across campus to arrange accommodations for next semesters, including arranging a place to display our work, approval to quiz the student body, and credit from the school for our research next semester. These meetings will continue into next week where we hope to get full approval for our location chosen for display.
My personal goals for the coming weeks are listed below.
- Increase program functionality
- Start edge case program
- Get approval for location
- Turn in paperwork
- Adjust functionality as needed
- Finish or near completion edge detection
- Write up preliminary survey for next semester
- Obtain HSRB approval
Below, I will go through goals written up at the beginning of this week and set for this week and discuss my implementation of them.
Cellular Automata Functionality
The first thing I spent time doing was debugging. Throughout the process of building up the program I let some small bugs slide. This included things like small jitters in the beginning of cellular automata, inflexible numbers hard-coded in, and errors in wrapping the cellular automata. I also extended the canvas to be bigger, and set up the program GUI to have more controls.
These controls extend into the code to provide new functionality. Randomize grid values, will randomize values on the grid. This is intended for cells to randomly come alive in the beginning, instead of having the user plant a seed.
Cells being randomized repeatedly, with a 1/100 chance of coming alive.
Random cells after they have become cellular automata.
Iterations will mean that the cellular automata will automatically to the number of steps input. Meaning if the user inputs five, the user will only see the 5th iteration of the current cellular automata when they press fetch.
Randomly placed cells with five iterations.
Exporting now has a new functionality, if the user wants to export a large number of cellular automata they can now export randomly generated ones to a folder created on their PC. This uses the aforementioned iterations and random cell placement.
For example, this was 5 “Export Number” images, with randomized seeds, with 15 “Iterations”.
Moving forward this will help us be able to auto-generate images to be analyzed by EP.
Edge Detection Design
Next week we want to start the edge detection program, so, before then we will start by creating a skeleton of a GUI for it, and attaching it to our current program.
Above is the rough draft for what the GUI might look like and do.
Here is the current FXML file skeleton for the GUI.
Next week I will start the work on Week 1’s goals. As well as discuss further functionality needed with my adviser, including how to record cellular rules in a way that they might be able to be repeated.