bhunt2 / QC1.0

Design, documentation, and code for our first quadcopter
1 stars 0 forks source link

Image Processing API #29

Closed bhunt2 closed 8 years ago

bhunt2 commented 8 years ago

@sabmah @Kekahuna @Kekahuna

It looks like you created a parallel program according to what I am seeing with the timing being a separate line? Did you create two threads?

What I see is a UML class diagram for your whole process, not just an API diagram. I think that Sabin's is the same, but I just didn't think about it until now. The API should just be a diagram of functions that are public for anyone who is going to use your library can use. So it should be a small list I would think. You don't want users of your library to be able to access things that you don't want them to and screw things up.

There are so many ways to do what you guys are doing and I am afraid that I may just confuse you. So take all that for what you will because I don't know exactly what your system is.

As it is it could be ok, but it looks like it is running two threads and it is made to run on its own.

Then, the control program also runs and reads from Model.txt that is being saved somewhere. If this is the case there would be only a single API function that, getModel(), that retrieves the data from where you are storing it. This allows the user to not worry about where it is being stored, the stipulation is that your program is running first though, otherwise the file will either not be there or will have invalid data present.

Does that all make sense?


Below are a couple of other emails sent before creating this issue.

On Thu, May 19, 2016 at 4:01 PM, Benjamin Huntsman ped.bhuntsman@gmail.com wrote: It is clipping because it is super wide. Webpage aspect ratios are normally automatically set by your aspect ratio. The web designer sets up dynamic aspect ratios and certain formats for their websites depending on those. You html code is really wide and GitHub just crops it off because it is not able to change only part of its aspect ratio.

On Thu, May 19, 2016 at 3:57 PM, Kainoa Kekahuna kekahuna@pdx.edu wrote: It's an html file for now. It kept clipping when I was placing it on the wiki

On Wed, May 18, 2016 at 11:54 PM, Benjamin Huntsman ped.bhuntsman@gmail.com wrote: Is it suppose to be an HTML file or are you trying to link to somewhere on the wiki?

On Thu, May 19, 2016 at 3:51 PM, Kainoa Kekahuna kekahuna@pdx.edu wrote: Hello,

this is what I've got for my API. The top portion of each box is inputs and the bottom portion is outputs. I don't know if I should add more specifics such as specific functions that are called within each method or not. Also, the blue box at the top is my class itself. That may just be extraneous

Any feedback is appreciated,

-Kainoa

Kekahuna commented 8 years ago

the start timer is actually called within the method directly above it but I split it up because I thought it would be better to show the methods separately. All it does is grab a measurement at start and stop; it isn't a separate thread or process running in parallel. I thought I'd make separate blocks for the startTimer, stopTimer, and getrunTime methods, but I see how it can be confusing so i'll just place their call in their respective methods that they're being called in.

It is indeed a UML for the whole process. If I were to make an API for just what the user could access (which would really just be calling the main function), then my API diagram would only be one block and it would be trivial, at least that's what I reasoned and that's why I broke it out to all of the methods that I've written.

We wrote that Model.txt as a way to show that the way we've chosen to run our overall process is to have my image processing write to the model and Sabin's flight control code reads from the model, as opposed to our other option of running the code in sequence (which we agreed upon would be a bad idea since my code will run much slower than Sabin's). When finishing up the code, my function will write to a file in a spot that we designate (it will also create the file if it does not currently exist) and Sabin's getModel() will read from it (we can place a check where it'll fail if it cannot locate the file).

bhunt2 commented 8 years ago

@Kekahuna

Is this completed now? Can we close this issue to show that Image Processing API is working? If it still needs some work, please let me know if there is anything I can do to help.

Kekahuna commented 8 years ago

It is finished. I forgot that this issue existed. Thanks for the help. Closing it now.