Photo Album Generator - Blog
Home Project Blog Source Resume
Week 14 April 30th, 2018 - Defense presentation complete. All that remains is to finish the flash driver and binder requirements and documentations. I enjoyed this class and working with this project. I felt like I learned a lot and look forward to my future in software design. Final due date: Wednesday, May 9th Graduation: Sunday, May 13th
Week 13 April 23rd, 2018 - Capstone presentation completed on 4/25. - Added logic to prevent users from selecting folders to load that have already been loaded. - Lowered User Defined Options resolution a little to avoid problems with displays that have stone age resolution. - Source code uploaded to website. - Ability to recognize the users operating system. This allows for compatbility with Windows Vista, 7, 8, 8.1 and 10. - Code rearrangement and added documentation as well as optimization. (Ongoing) - Up next: Defense presentation: May 1st, 2018 - Up next: Flash stick and Binder requirements.
Week 12 April 16th, 2018 - Added full logic to mini album creation, there are now underlying features and properties the program seeks to promote outside of user definitions. - Added compatibility for other resolutions and operating systems. File property numbers and DPI scaling changes were the bulk of issue. - Tested with images from many different cameras and many different locations. Fixed many small glitches and bugs. - "HOME" buttons added on Mini Album and Help so the user does not have to 'X' out of the window to get back. - In progress: Preparing for this week's presentation. Filling in extra documentation on code. Final graphical outlay of my forms are shown below.
Week 11 April 9th, 2018 - Additional/improved graphics and text. Buttons now have disabled and enabled states and images. - Image processing/loading speed increased by up to 50% from improving meta-data extraction code. - Progress bar added for image loading. Corresponding busy cursor added. - List boxes have been replaced with image icon selections. User can navigate and select images in this new format. - "Available Cameras" and "Flash Mode" added to user defined options. - "Help" button added to main screen. - "DATA" label added to main screen, allows a user who clicks on this to see raw data-tables. Not meant to be used often. - Exceptions and error messages added for internet connection failures and corrupted images. Project nears completion. - Still need to add more logic for a default mini-album creation. - Will also add a nice splash screen/quick slide show before allowing the user to remove or save mini albums.
Week 9/10 March 26th/April 2nd, 2018 - Geographic locations and coordinates are now converted in to city groups via Google's GeoLocation API. - First stage graphical interfaces have been rolled out on buttons, form backgrounds etc. - Mini Albums can now be created, navigation and removal of images, removal of geographic locations, and saving of settings and mini albums are now working. - Minimum requirements for the project have been met, it works front to back with what is currently available. What's next? - Additional/improved graphics and text, the list boxes with raw names are not too appealing. - Additional user options. I am still going to at least add "Available Cameras", "Flash Mode" and "Time of Day" yet. - More intuitive photo album logic forthcoming. Right now, we are only keeping images based on if they satisfy our options. It must go beyond that.
DataTable view. Here is an example of the meta-data we stored for the following images we found:
Week 8 March 19th, 2018 - The form for selecting desired settings (User Defined Options) now loads in default values for max length, date range, and geographic locations based on what was contained in the data-table from the meta-data. - Functionality has been written to convert the string date that came from the meta-data, in to system DateTime format, this allows direct comparison between dates and compatibility with DateTimePickers. - User Defined Options are now being stored, and will be used in our algorithm for keeping or discarding photos.
Week 7/Spring Break March 5th/12th, 2018 - Application has now been split in to three seperate forms, one for selecting an image folder, another for selecting your desired settings, and the last for viewing and saving the mini-album. - Select folder now finds all image types available in the folder and loads them in to the list box. - Additional options such as "settings" and "add another folder" appear once the user has selected their folder. - All desired meta-data is now being stored in to data tables. This data, combined with our settings data, will shape our algorithm for determining which photos will be kept. - The data-table is being passed to other forms by calling constructor functions of the target form. This is currently used to determine default values of settings, and will soon be used for much more.
Week 5/6 February 19th/26th, 2018 - Made "select folder" button functional as a "select file" button for now. Currently using it to test data extraction from specific images. - Many more image types and image attributes are supported in my project now. - Selected image currently populates its data in to our first list box as a test to show what kind of data we are extracting. - Selected image also loads in to picture box. - Best method of obtaining metadata is using Interop.Shell32. - Seperate functions written for obtaining location coordinates within images (if the image had any), and also converting them to something readable. - Current view screnshot below:
Week 4 February 12th, 2018 - Successfully pulled some metadata from a .jpg file. Certain issues with other types of image files. - Lots of metadata using GetPropertyItem is not readable, possible encoding issues. - List of successful data extracted so far: Name of device that took image, Serial number of device, Date and time image was taken, Image height and width, a few other random numbers and codes(not sure what they mean yet).
Week 3 February 5th, 2018 - Researching how to use specific metadata content such as creation date, resolution, location to run my mini album engine. - Researching how to use pixel elements such as brightness, darkness, or possibly facial recognition to help make image selections. - Gantt Chart construction
Week 2 January 29th, 2018 - Decided to use Microsoft's .NET framework in C# because of the image class which simplifies accessing image metadata. - Project creation on 1/31/18. Basic design outlining and formatting underway. - SetPropertyItem and GetPropertyItem are the methods in the image class for using image metadata. - Exploring options for extent of user interaction.
Week 1 January 22nd, 2018 - Problem description and overview received on 1/24/18 - Researching which languages and architectures might best support metadata extraction - Website creation on 1/27/18