To implement your algorithm, you can use the infrastructure code provided for assignment 2 (cos526_assn2.zip) or any other software library that supports basic mesh operations (e.g., trimesh2). You should create a new "app" called "seg" that can be run as follows:
seg input.off output.seg <-nsegment N>
The seg
program should read in a mesh file (e.g.,
input.off) and output a segmentation file (e.g., output.seg), an ASCII
file with a segment number for each face of the mesh on its own line.
It should take one optional program argument "-nsegment N". If that
command line argument is provided, then the algorithm should
produce exactly N segments. Otherwise, it should predict/determine
the number of segments automatically.
To test and evaluate your algorithm, you should use the code and
scripts provided with the mesh segmentation benchmark.
Specifically, you will want to edit
"util/scripts/runAlgorithm/config.py" to run your program on all the
examples in the benchmark and then
"util/scripts/runAlgorithm/evalAlgorithm.py" to produce evaulation
metrics. Please see the README.txt files in the benchmark for
detailed instructions.
PUID_cos526_assn3.zip
(i.e. funk_cos526_assn3.zip) with the following
internal directory structure:
PUID_cos526_assn1/
writeup.html
: an HTML document describing your algorithm and summarizing your results.
seg/
(the segmentation files produced by your program)
report.pdf
(evaluations of your segmentations -- i.e., the output of createEvaluationReport.py)
img/
(images of your segmentations -- i.e., the output of genImg.py)
src/
(the complete source code)
The src
directory should have all code required to
compile and link your program (including the files provided with the
assignment), along with a Visual Studio Solution file and a Makefile
to rebuild the code.
Please submit images in JPEG format to save space. Also, to
further save space, please remove binaries and backup files from the
src directory (i.e., run make distclean
(under Mac OS)
and execute "Clean Solution" on the "Build menu" in MS Visual Studio)
before submitting.