Last Saturday, we met and made significant headway (after helping Dr. Wolff with passport weekend). We added additional region clicks to limit the data to the region the object is located in, added a filename field for output, I updated (most of) the floats to doubles, and we finished up the destructors.
This week, we made more good progress. Grady and I met with Dr. Wolff on Tuesday to discuss what we have been working on and what we planned to do this week.
Tuesday, Grady cleaned up some Git problems we were having due to line endings. He has also been working on integrating a QThread into the serial code. This will allow the motor to spin in its own thread while the video is being captured in a separate thread. He had numerous problems getting it to work, but Thursday night, I'm pleased to say he did get it working! So we now have another very key piece of the hardware integration ready. We will wait to merge it with the main code so that I can continue testing the scan.
Tyler meanwhile has been working on improving the GUI. He has made it look quite a bit better (rather than the classic Windows look). The color scheme and buttons are better and the error message functionality is cleaner and informative. There are still a few things to fix (e.g. some directory fields are allowing focus, clearing error messages), but overall, the look of our application is coming along nicely.
I added bounds checking to eliminate points that lie on either plane (within z= +/- 0.1) as well as any data points that are outside the sphere with a radius equal to the distance from the camera to the back plane origin. With the object regions and these restrictions, we improve the process time a bit. Also, I did some code cleanup (such as eliminating repeated identical calculations and changing AB-AC to A(B-C) where A,B,&C are matrices). Also, we now are clearing data as soon as possible from the scanModel rather than calling a resetScan method. I started working on some camera settings as well; I have implemented getting the current settings with the lights on, doing a scan with the lights off with custom settings, and then resetting the camera settings to the pre-scan settings. I tried using a larger version of the image (that shows more), but it slowed down processing so I will likely leave it at 640x480 (though I may mess with the FPS settings and try combining that with a larger image). Hopefully I will be able to find a flag to turn off autofocus of Grady's camera, but we will see...
Last but not least, I did a scan of Dr. Wolff's orange miniature brain, and was quite pleased with how the reconstructed mesh turned out:
A photo of the brain |
A reconstructed model of the brain |
We will likely use something with more profound and pronounced features (that is a bit larger).
Until next time :)
No comments:
Post a Comment