Difference between revisions of "User:Saweiner"

From REU@MU
Jump to: navigation, search
 
(43 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
Throughout Marquette University's 10-week summer REU program, Computation Across the Disciplines, I will be researching applications of graph theory to computer vision and image segmentation problems. More specifically, I hope to be able to utilize the graph-cut technique in order to isolate images of the heart and its components from CT scans provided by local hospitals. I will be working under the guidance of [http://www.marquette.edu/mscs/facstaff-bansal.shtml Dr. Naveen Bansal].
 
Throughout Marquette University's 10-week summer REU program, Computation Across the Disciplines, I will be researching applications of graph theory to computer vision and image segmentation problems. More specifically, I hope to be able to utilize the graph-cut technique in order to isolate images of the heart and its components from CT scans provided by local hospitals. I will be working under the guidance of [http://www.marquette.edu/mscs/facstaff-bansal.shtml Dr. Naveen Bansal].
  
=='''Week 1 (5/29 - 6/1)'''==
+
 
 +
 
 +
='''Week 1 (5/29 - 6/1)'''=
  
 
==='''Tuesday 5/29'''===
 
==='''Tuesday 5/29'''===
Line 22: Line 24:
 
* Located and obtained the Ford-Fulkerson publication on flow networks in Memorial Library
 
* Located and obtained the Ford-Fulkerson publication on flow networks in Memorial Library
  
=='''Week 2 (6/4 - 6/8)'''==
+
 
 +
 
 +
='''Week 2 (6/4 - 6/8)'''=
  
 
==='''Monday 6/4'''===
 
==='''Monday 6/4'''===
Line 34: Line 38:
  
 
==='''Wednesday 6/6'''===
 
==='''Wednesday 6/6'''===
* Began writing code for GraphCuts algorithm, completed about 350 lines
+
* Began writing code for GraphCut algorithm, completed about 350 lines
  
 
==='''Thursday 6/7'''===
 
==='''Thursday 6/7'''===
* Finished a rough draft of the GraphCuts algorithm, totaling about 700 lines
+
* Finished a rough draft of the GraphCut algorithm, totaling about 700 lines
 
* Attended weekly REU luncheon and learned about the do's and don't's of research presentations
 
* Attended weekly REU luncheon and learned about the do's and don't's of research presentations
 
* Met with Dr. Bansal to give a progress report and discuss next steps
 
* Met with Dr. Bansal to give a progress report and discuss next steps
Line 44: Line 48:
 
==='''Friday 6/8'''===
 
==='''Friday 6/8'''===
 
* Completed modules 2 and 3 of the Responsible Conduct of Research training
 
* Completed modules 2 and 3 of the Responsible Conduct of Research training
* Began to modify GraphCuts algorithm (fixing various syntax errors and adding small improvements)
+
* Began to modify GraphCut algorithm (fixing various syntax errors and adding small improvements)
  
=='''Week 3 (6/11 - 6/15)'''==
+
 
 +
 
 +
='''Week 3 (6/11 - 6/15)'''=
  
 
==='''Monday 6/11'''===
 
==='''Monday 6/11'''===
* Continued to fix GraphCuts algorithm
+
* Continued to fix GraphCut algorithm
 
* Found more efficient storage for Graph data structure
 
* Found more efficient storage for Graph data structure
 
* Fixed several initialization errors
 
* Fixed several initialization errors
 
* Added several fringe cases onto the algorithm, now totals about 1200 lines
 
* Added several fringe cases onto the algorithm, now totals about 1200 lines
* Finished second draft of GraphCuts algorithm
+
* Finished second draft of GraphCut algorithm
  
 
==='''Tuesday 6/12'''===
 
==='''Tuesday 6/12'''===
* Met with grad student to discuss generalities of GraphCuts algorithm
+
* Met with grad student to discuss generalities of GraphCut algorithm
 
* Worked with grad student to implement algorithm
 
* Worked with grad student to implement algorithm
  
Line 63: Line 69:
  
 
==='''Thursday 6/14'''===
 
==='''Thursday 6/14'''===
* Continued revisions of GraphCuts algorithm in preparation for its first test run
+
* Continued revisions of GraphCut algorithm in preparation for its first test run
 
* Met with Dr. Bansal for our weekly progress report
 
* Met with Dr. Bansal for our weekly progress report
 
* Took preliminary steps to obtain image data for future use with the GraphCuts algorithm
 
* Took preliminary steps to obtain image data for future use with the GraphCuts algorithm
* Sought out different implementations of the max-flow/min-cut algorithm to compare to (and possibly combine with) my current GraphCuts algorithm
+
* Sought out different implementations of the max-flow/min-cut algorithm to compare to (and possibly combine with) my current GraphCut algorithm
  
 
==='''Friday 6/15'''===
 
==='''Friday 6/15'''===
* Continued to modify GraphCuts algorithm
+
* Continued to modify GraphCut algorithm
* Added condensation method to GraphCuts algorithm in an attempt to conserve memory
+
* Added condensation method to GraphCut algorithm in an attempt to conserve memory
  
=='''Week 4 (6/18 - 6/22)'''==
+
 
 +
 
 +
='''Week 4 (6/18 - 6/22)'''=
  
 
==='''Monday 6/18'''===
 
==='''Monday 6/18'''===
 
* Read ''An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision'' (Boykov et al.)
 
* Read ''An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision'' (Boykov et al.)
* Modified GraphCuts algorithm based on Boykov's active node method of operation
+
* Modified GraphCut algorithm based on Boykov's active node method of operation
* GraphCuts is use approaching completion, should be ready for testing by next week
+
* The GraphCut algorithm is approaching completion, should be ready for testing by next week
  
 
==='''Tuesday 6/19'''===
 
==='''Tuesday 6/19'''===
* Fixed several syntax and arithmetical errors in the GraphCuts algorithm
+
* Fixed several syntax and arithmetical errors in the GraphCut algorithm
 
* Met with Dr. Bansal and graduate student to obtain image segmentation data set
 
* Met with Dr. Bansal and graduate student to obtain image segmentation data set
 
* With new image data as reference, I began to write main method for reading in image and implementing the graphCut method (completed about 600 lines)
 
* With new image data as reference, I began to write main method for reading in image and implementing the graphCut method (completed about 600 lines)
  
 
==='''Wednesday 6/20'''===
 
==='''Wednesday 6/20'''===
* Completed code for handling the graphics of the GraphCuts algorithm, algorithm now totals about 2500 lines
+
* Completed code for handling the graphics of the GraphCut algorithm, algorithm now totals about 2500 lines
 
* Encountered import errors involving the graphics package, began to search for an appropriate library download
 
* Encountered import errors involving the graphics package, began to search for an appropriate library download
  
 
==='''Thursday 6/21'''===
 
==='''Thursday 6/21'''===
* Began to create a new Java library to handle graphics of GraphCuts
+
* Began to create a new Java library to handle graphics of GraphCut
 
* Acquired necessary source code for new library from GitHub
 
* Acquired necessary source code for new library from GitHub
* Attended weekly REU luncheon to share progress and witnessed a presentation on computer science education
+
* Attended weekly REU luncheon to share progress and attended a presentation on computer science education
* Met with Dr. Bansal for our weekly progress report and showed him the GraphCuts algorithm as it currently stands
+
* Met with Dr. Bansal for our weekly progress report and showed him the GraphCut algorithm as it currently stands
  
 
==='''Friday 6/22'''===
 
==='''Friday 6/22'''===
 
* Continued to work on constructing graphics library from source code
 
* Continued to work on constructing graphics library from source code
  
=='''Week 5 (6/25 - 6/29)'''==
+
 
 +
 
 +
='''Week 5 (6/25 - 6/29)'''=
  
 
==='''Monday 6/25'''===
 
==='''Monday 6/25'''===
Line 107: Line 117:
 
* Continued fixing residual errors resulting from new graphics library
 
* Continued fixing residual errors resulting from new graphics library
 
* Continued to work on presentation for Thursday's midterm presentation
 
* Continued to work on presentation for Thursday's midterm presentation
 +
 +
==='''Wednesday 6/27'''===
 +
* Finished rough draft of midterm presentation
 +
* Began practicing midterm presentation and making appropriate modifications
 +
* Continued fixing residual errors resulting from new graphics library
 +
 +
==='''Thursday 6/28'''===
 +
* Finished final edits of midterm presentation
 +
* Attended the weekly REU luncheon and presented my midterm presentation
 +
 +
==='''Friday 6/29'''===
 +
* Finished fixing residual errors resulting from new graphics library
 +
* Finished debugging GraphCut algorithm
 +
* Prepared main method of GraphCut algorithm for testing on imagery
 +
 +
 +
 +
='''Week 6 (7/2 - 7/6)'''=
 +
 +
==='''Monday 7/2'''===
 +
* Began writing main method of GraphCut algorithm
 +
* Finished constructing handling of GraphCut class within the main method
 +
* Struggled to construct handling of Graph_Cut class (graphics implementation) within the main method
 +
 +
==='''Tuesday 7/3'''===
 +
* Finished first instance of main method
 +
* Performed a trial run of the completed GraphCut algorithm, but trial was unsuccessful
 +
* Began to read through pertinent code to search for sources of error
 +
* Began to do background reading/research on GUIs in order to better understand the graphics packages and library of the GraphCut algorithm
 +
 +
==='''Thursday 7/5'''===
 +
* Continued to search code for sources of error in GraphCut algorithm
 +
* Concluded that the error must be coming from the Graph_Cut class
 +
* Attended the weekly REU luncheon and listened to a Latex tutorial
 +
* Met with Dr. Bansal for our weekly progress report
 +
 +
==='''Friday 7/6'''===
 +
* Continued to search code for sources of error in Graph_Cut class
 +
* Continued with background reading on GUIs
 +
 +
 +
 +
='''Week 7 (7/9 - 7/13)'''=
 +
 +
==='''Monday 7/9'''===
 +
* Continued searching code for error
 +
* Fixed minor error regarding instance variables in the main method, but algorithm still did not run properly
 +
 +
==='''Tuesday 7/10'''===
 +
* Continued to search code for error
 +
* Overhauled the main method, fixing all but one (crucial) error
 +
* Ran a test of the GraphCut algorithm, was able to open the gui window, but was unable to add to it any content
 +
* After reworking main method, entire algorithm is now error-free, and yet it now fails to build
 +
 +
==='''Wednesday 7/11'''===
 +
* Located and fixed several errors in GraphCut algorithm
 +
* Identified several class cast exceptions and began searching through different packages to find solutions
 +
 +
==='''Thursday 7/12'''===
 +
* Identified one class cast exception that was indirectly causing nearly all other such exceptions in the algorithm
 +
* Sought out solutions to this originating class cast exception
 +
* Attended weekly REU luncheon
 +
* Met with Dr. Bansal for our weekly progress report
 +
 +
==='''Friday 7/13'''===
 +
* Discovered that the originating class cast exception may have been caused by an import error with the graphics library
 +
* Began making appropriate changes to graphics library
 +
 +
 +
 +
='''Week 8 (7/16 - 7/20)'''=
 +
 +
==='''Monday 7/16'''===
 +
* Finished making documentation and import corrections to graphics library
 +
* Began fixing newfound inconsistencies between updated graphics library and GraphCut algorithm
 +
 +
==='''Tuesday 7/17'''===
 +
* Began putting together poster for REU poster presentation in two weeks
 +
 +
==='''Wednesday 7/18'''===
 +
* Continued working on poster
 +
* Met with Dr. Bansal to discuss recent challenges pertaining to GraphCut algorithm and also to get feedback/ideas for poster and report
 +
 +
==='''Thursday 7/19'''===
 +
* Put finishing touches on poster
 +
* Attended weekly REU luncheon
 +
* Continued to fix inconsistencies between updated graphics library and GraphCut algorithm
 +
 +
==='''Friday 7/20'''===
 +
* Revised certain elements of poster after realizing dimensions needed to be adjusted
 +
* Continued to fix inconsistencies between updated graphics library and GraphCut algorithm
 +
* began outline and formatting of research paper (due 8/3)
 +
 +
 +
 +
='''Week 9 (7/23 - 7/27)'''=
 +
 +
==='''Monday 7/23'''===
 +
* Continued outlining and writing research paper
 +
* Finished rough drafts of the introduction and background on graph theory subsection
 +
* Began writing the applications of graph theory subsection
 +
* Continued debugging GraphCut algorithm
 +
 +
==='''Tuesday 7/24'''===
 +
* Finished writing the applications of graph theory subsection
 +
* Finished writing the algorithm introduction, as well as the algorithm overview subsection
 +
* Continued debugging GraphCut algorithm
 +
 +
==='''Wednesday 7/25'''===
 +
* Completed the current status and challenges subsection
 +
* Completed the conclusions section
 +
* Began the abstract
 +
* Began reviewing the paper and making minor edits
 +
* Continued debugging GraphCut algorithm
 +
 +
==='''Thursday 7/26'''===
 +
* Continued to review and edit paper
 +
* Added visual aids (with captions) to both the graph theory and algorithm sections
 +
* Attended the weekly REU luncheon
 +
* Received printed poster and began to prepare for poster presentation on Monday
 +
* Continued debugging GraphCut algorithm
 +
 +
==='''Friday 7/27'''===
 +
* Continued to review and edit paper
 +
* Began working on final presentation
 +
* Continued debugging GraphCut algorithm
 +
 +
 +
 +
='''Week 10 (7/30 - 8/3)'''=
 +
 +
==='''Monday 7/30'''===
 +
* Presented poster during the morning presentation session
 +
* Finished rough draft of final paper, sent it to Dr. Bansal for critiques/feedback
 +
* Continued debugging GraphCut algorithm
 +
 +
==='''Tuesday 7/31'''===
 +
* Finished final presentation slides, began practicing for Wednesday/Thursday presentation
 +
* Continued debugging GraphCut algorithm
 +
 +
==='''Wednesday 8/1'''===
 +
* Final presentation before REU students and mentors
 +
* Continued debugging GraphCut algorithm
 +
 +
==='''Thursday 8/2'''===
 +
* Continued to edit final paper
 +
* Continued debugging GraphCut algorithm
 +
 +
==='''Friday 8/3'''===
 +
* Finalized and submitted paper

Latest revision as of 13:11, 3 August 2018

Project Description

Throughout Marquette University's 10-week summer REU program, Computation Across the Disciplines, I will be researching applications of graph theory to computer vision and image segmentation problems. More specifically, I hope to be able to utilize the graph-cut technique in order to isolate images of the heart and its components from CT scans provided by local hospitals. I will be working under the guidance of Dr. Naveen Bansal.


Week 1 (5/29 - 6/1)

Tuesday 5/29

  • Attended REU orientation
  • Met briefly with Dr. Bansal to begin planning the summer's research

Wednesday 5/30

  • Read introduction to Neural Networks: a Comprehensive Foundation
  • Met with Dr. Bansal and graduate student to begin learning about statistical applications to image segmentation

Thursday 5/31

  • Met with graduate student to obtain preliminary research publications
  • Met with Dr. Bansal to clarify research goals and outline the structure of the project
  • Read several research articles and located five articles for further reading

Friday 6/1

  • Familiarized myself with several graph-theoretic terms and concepts, in preparation for future research
  • Completed Fast Approximate Energy Minimization via Graph Cuts (Boykov et al.)
  • Located and obtained the Ford-Fulkerson publication on flow networks in Memorial Library


Week 2 (6/4 - 6/8)

Monday 6/4

  • Completed Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images (Boykov et al.)
  • Completed An Omptimal Graph Theoretic Approach to Data Clustering: Theory and Its Applications to Image Segmentation (Wu et al.)
  • Began Graph Cuts and Efficient N-D Image Segmentation (Boykov et al.)

Tuesday 6/5

  • Completed Graph Cuts and Efficient N-D Image Segmentation (Boykov et al.)
  • Completed Normalized Cuts and Image Segmentation (Shi et al.)

Wednesday 6/6

  • Began writing code for GraphCut algorithm, completed about 350 lines

Thursday 6/7

  • Finished a rough draft of the GraphCut algorithm, totaling about 700 lines
  • Attended weekly REU luncheon and learned about the do's and don't's of research presentations
  • Met with Dr. Bansal to give a progress report and discuss next steps
  • Completed module 1 of the Responsible Conduct of Research training

Friday 6/8

  • Completed modules 2 and 3 of the Responsible Conduct of Research training
  • Began to modify GraphCut algorithm (fixing various syntax errors and adding small improvements)


Week 3 (6/11 - 6/15)

Monday 6/11

  • Continued to fix GraphCut algorithm
  • Found more efficient storage for Graph data structure
  • Fixed several initialization errors
  • Added several fringe cases onto the algorithm, now totals about 1200 lines
  • Finished second draft of GraphCut algorithm

Tuesday 6/12

  • Met with grad student to discuss generalities of GraphCut algorithm
  • Worked with grad student to implement algorithm

Wednesday 6/13

  • Attended the Ethics in Research training session, proctored by Dr. Brylow

Thursday 6/14

  • Continued revisions of GraphCut algorithm in preparation for its first test run
  • Met with Dr. Bansal for our weekly progress report
  • Took preliminary steps to obtain image data for future use with the GraphCuts algorithm
  • Sought out different implementations of the max-flow/min-cut algorithm to compare to (and possibly combine with) my current GraphCut algorithm

Friday 6/15

  • Continued to modify GraphCut algorithm
  • Added condensation method to GraphCut algorithm in an attempt to conserve memory


Week 4 (6/18 - 6/22)

Monday 6/18

  • Read An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision (Boykov et al.)
  • Modified GraphCut algorithm based on Boykov's active node method of operation
  • The GraphCut algorithm is approaching completion, should be ready for testing by next week

Tuesday 6/19

  • Fixed several syntax and arithmetical errors in the GraphCut algorithm
  • Met with Dr. Bansal and graduate student to obtain image segmentation data set
  • With new image data as reference, I began to write main method for reading in image and implementing the graphCut method (completed about 600 lines)

Wednesday 6/20

  • Completed code for handling the graphics of the GraphCut algorithm, algorithm now totals about 2500 lines
  • Encountered import errors involving the graphics package, began to search for an appropriate library download

Thursday 6/21

  • Began to create a new Java library to handle graphics of GraphCut
  • Acquired necessary source code for new library from GitHub
  • Attended weekly REU luncheon to share progress and attended a presentation on computer science education
  • Met with Dr. Bansal for our weekly progress report and showed him the GraphCut algorithm as it currently stands

Friday 6/22

  • Continued to work on constructing graphics library from source code


Week 5 (6/25 - 6/29)

Monday 6/25

  • Finished constructing the graphics library from source code
  • Began to fix residual errors resulting from new graphics library
  • Began to prepare presentation for Thursday's midterm presentation

Tuesday 6/26

  • Continued fixing residual errors resulting from new graphics library
  • Continued to work on presentation for Thursday's midterm presentation

Wednesday 6/27

  • Finished rough draft of midterm presentation
  • Began practicing midterm presentation and making appropriate modifications
  • Continued fixing residual errors resulting from new graphics library

Thursday 6/28

  • Finished final edits of midterm presentation
  • Attended the weekly REU luncheon and presented my midterm presentation

Friday 6/29

  • Finished fixing residual errors resulting from new graphics library
  • Finished debugging GraphCut algorithm
  • Prepared main method of GraphCut algorithm for testing on imagery


Week 6 (7/2 - 7/6)

Monday 7/2

  • Began writing main method of GraphCut algorithm
  • Finished constructing handling of GraphCut class within the main method
  • Struggled to construct handling of Graph_Cut class (graphics implementation) within the main method

Tuesday 7/3

  • Finished first instance of main method
  • Performed a trial run of the completed GraphCut algorithm, but trial was unsuccessful
  • Began to read through pertinent code to search for sources of error
  • Began to do background reading/research on GUIs in order to better understand the graphics packages and library of the GraphCut algorithm

Thursday 7/5

  • Continued to search code for sources of error in GraphCut algorithm
  • Concluded that the error must be coming from the Graph_Cut class
  • Attended the weekly REU luncheon and listened to a Latex tutorial
  • Met with Dr. Bansal for our weekly progress report

Friday 7/6

  • Continued to search code for sources of error in Graph_Cut class
  • Continued with background reading on GUIs


Week 7 (7/9 - 7/13)

Monday 7/9

  • Continued searching code for error
  • Fixed minor error regarding instance variables in the main method, but algorithm still did not run properly

Tuesday 7/10

  • Continued to search code for error
  • Overhauled the main method, fixing all but one (crucial) error
  • Ran a test of the GraphCut algorithm, was able to open the gui window, but was unable to add to it any content
  • After reworking main method, entire algorithm is now error-free, and yet it now fails to build

Wednesday 7/11

  • Located and fixed several errors in GraphCut algorithm
  • Identified several class cast exceptions and began searching through different packages to find solutions

Thursday 7/12

  • Identified one class cast exception that was indirectly causing nearly all other such exceptions in the algorithm
  • Sought out solutions to this originating class cast exception
  • Attended weekly REU luncheon
  • Met with Dr. Bansal for our weekly progress report

Friday 7/13

  • Discovered that the originating class cast exception may have been caused by an import error with the graphics library
  • Began making appropriate changes to graphics library


Week 8 (7/16 - 7/20)

Monday 7/16

  • Finished making documentation and import corrections to graphics library
  • Began fixing newfound inconsistencies between updated graphics library and GraphCut algorithm

Tuesday 7/17

  • Began putting together poster for REU poster presentation in two weeks

Wednesday 7/18

  • Continued working on poster
  • Met with Dr. Bansal to discuss recent challenges pertaining to GraphCut algorithm and also to get feedback/ideas for poster and report

Thursday 7/19

  • Put finishing touches on poster
  • Attended weekly REU luncheon
  • Continued to fix inconsistencies between updated graphics library and GraphCut algorithm

Friday 7/20

  • Revised certain elements of poster after realizing dimensions needed to be adjusted
  • Continued to fix inconsistencies between updated graphics library and GraphCut algorithm
  • began outline and formatting of research paper (due 8/3)


Week 9 (7/23 - 7/27)

Monday 7/23

  • Continued outlining and writing research paper
  • Finished rough drafts of the introduction and background on graph theory subsection
  • Began writing the applications of graph theory subsection
  • Continued debugging GraphCut algorithm

Tuesday 7/24

  • Finished writing the applications of graph theory subsection
  • Finished writing the algorithm introduction, as well as the algorithm overview subsection
  • Continued debugging GraphCut algorithm

Wednesday 7/25

  • Completed the current status and challenges subsection
  • Completed the conclusions section
  • Began the abstract
  • Began reviewing the paper and making minor edits
  • Continued debugging GraphCut algorithm

Thursday 7/26

  • Continued to review and edit paper
  • Added visual aids (with captions) to both the graph theory and algorithm sections
  • Attended the weekly REU luncheon
  • Received printed poster and began to prepare for poster presentation on Monday
  • Continued debugging GraphCut algorithm

Friday 7/27

  • Continued to review and edit paper
  • Began working on final presentation
  • Continued debugging GraphCut algorithm


Week 10 (7/30 - 8/3)

Monday 7/30

  • Presented poster during the morning presentation session
  • Finished rough draft of final paper, sent it to Dr. Bansal for critiques/feedback
  • Continued debugging GraphCut algorithm

Tuesday 7/31

  • Finished final presentation slides, began practicing for Wednesday/Thursday presentation
  • Continued debugging GraphCut algorithm

Wednesday 8/1

  • Final presentation before REU students and mentors
  • Continued debugging GraphCut algorithm

Thursday 8/2

  • Continued to edit final paper
  • Continued debugging GraphCut algorithm

Friday 8/3

  • Finalized and submitted paper