Pages

Thursday, April 11, 2013

Week of 4/8

Since my last post, we haven't done a bunch of coding, but have done some.

This week was consumed mostly with presentations: going to class on Tuesday and meeting with Dr. Wolff, preparing for the presentation on Wednesday, and then presenting and seeing other presentations on Thursday.  For our presentation, we were able to have a demo of the scan as well as displaying it in MeshLab.

As far as coding goes, Grady has been working on figuring out threading so we can check for the serial flag to stop the motor while also collecting the images from the camera.  We figured out today we can simply use the timeout of the timer within the scanningView rather than a while loop in the controller.  When the timer times out, we will check that the motor is not yet finished rotating.  If it isn't, we will send the image through the controller to the model.  If it is finished, we will stop the timer and begin processing the scan data.

Also, I have improved the progress bar so that it obtains values from the model of how many loops will be used; that is, the number of rows to process and two times the number of images, plus 1 for writing to the file.  This may get updated with horizontal bounding (see below).

Tyler has worked on some memory management, and I rewrote the createPointCloud method (taken from OpenCV's) so that we can use double points rather than floats.  I also started working on getting the filename to save the points rather than hard-coding; there will be an additional field for the filename to append to the directory.  (Note: this isn't an ideal way of saving a filename, but due to time constraints, it is probably the easiest with what we have).  I plan on changing as much as possible to use double data rather than float so that we can maintain as much accuracy as possible.

In the coming weeks left for implementation, we plan on doing the following:

    • Integrating Hardware: Get the motor worked into the project
    • Complete Memory Deallocation and Management
      • Finish up destructors
      • Clearing data as soon as possible during/after sacn
    • GUI Improvements
      • Qt Stylesheets (if time)
      • Threading for progress bar (maybe)
    • Implementing additional region clicks: Horizontal bounding on object to reduce error
    • Use double calculations whenever possible
    • Attempt to get better and more consistent scan results
      • Bounds checking for object points
        • Don't include plane points
        • Ignore extreme outliers
    • Set up final scanning environment
    • Other (e.g. output file, cleanup/refactoring)
    • Mesh work (merge if time allows)
    We only have a couple more weeks before we need to prepare for our presentation.  Hopefully we can successfully implement most of the above and have a more solid product for academic festival.

    Until next time.

    No comments:

    Post a Comment