项目阶段性总结

项目阶段性总结

本来这篇文章早就应该写的,不过由于前一段过年,没有时间搞这些学术性的东西,所以就耽搁到了现在。除此之外,项目的进度也是一个原因,趁现在有了些进度和经验,索性就在这里些出来,一来是总结一下,权当是个备份,另一方面就是对自己近阶段工作的一个总结。

这个项目的开始可以追溯到2008年的三月份了。那时正值研一第二学期开学,那个学期好像就有4门课,8学分,反正不是很忙,时间很充裕。因为寒假里在教育部教学仪器研究所实习,因此对于外面的实习生活有了更多的向往。所以开学之后待把研究所里的工作结束之后,就疯狂地在网上看实习生招聘,逛BBS,然后就是像撒网似的发简历。同时,我的导师也知道我这学期不忙,于是就给我介绍到了中国科学院计算技术研究所(以下简称计算所)他的一个同学手下。实际的情况是,我们是跟他同学手下的一个博士生作项目。鉴于当时实习还没着落,又不想让自己太闲着,比如大四下那样的混日子过,于是就接受了计算所这边的项目。因为这个项目的周期恰可以持续到我09年底毕业,所以从那时算起还有很长时间,并且计算所里面也暂时没有工位,所以我就把东西拿到学校做,其实开始就是看论文,全英文~~。

就这样,在学校看看论文,然后每周去计算所汇报一次。在这期间实习生那边也断断续续有了回复,面了几个公司,有大公司也有小公司,当然也被无情的笔试过:(。后来选择了Agilent(安捷伦),其实之前也根本不知道这个公司,后来听朋友说是个大外企,而且工作也算还有意思,就从了,6月中旬左右吧。以后的生活就是一边在学校开论文,做实验,然后每周去计算所开一次会,一边去安捷伦实习,日子也算是充实。就这样的日子持续了有半年左右,期间有过欢乐,也有过彷徨,有时间再写写实习这段吧。转眼就到了年底,中间经历的奥运会,计算所那边放了一个多月的假,所以那段日子基本就是每天实习了。

元旦之前,计算所里的导师,就是带我们的博士,给我们开了一次总结会议。大体意思是对我们这半年来的进度不太满意,如果我们想在计算所好好作项目,好好写论文,在学校能顺利毕业的话,就应该抓紧时间做实验,写论文了。当然他这是以对计算所学生的要求来要求我们,看得出来对我们也是很负责任的。说实话,从和计算所合作到年底的这段日子里,也就是看看了论文,并且用MATLAB仿真了一些算法,离他对我们的要求——在现有的EMAN软件的基础上,结合现有文献,实现算法,并且能够进行一定的改进和优化——有些距离。我想造成这种情况重要有两方面的原因,一是自己确实有些懒,不愿动手作实验,应该算是态度问题吧。二是实习占据了许多时间,不能全身心的投入到研究中去。然而,论文是一定要写的,因为他关系到我的毕业,所以我就向老师表态说以后一定要重视起来。

春节回家之前,我又把以前的进度进行了总结,并指定了短期内的计划。春节返校后知道现在,我都是有时间就做做项目,逐渐地也开始入门了,而有了点成就之后,前进的动力就大了。

这基本就是关于该项目的一些题外话,接下来就总结一下这半年多来的成果。

这个项目的名字叫做“冷冻电镜二维图像处理方法与三维重构研究”,我的工作就是二维图像处理方面,主要是对蛋白质颗粒图像进行识别挑选,为后续的三维重构提供清晰,正确的输入图像。

针对这个项目,国外有现成的实现软件:EMAN(http://blake.bcm.tmc.edu/eman/eman1/bugs.html),当时其中的识别算法效果不够好,且不能满足该项目的需求,所以需要有针对性地进行开发和改进。关于蛋白质颗粒图像识别发表了许多论文(http://www.sciencedirect.com/science/journal/10478477中的Volume 145,Issues 1-2 ),当然其他模式识别领域的算法,也可以应用到该软件当中,这就需要一定的创新能力了。

论文看的再多也只是理论研究,最终还是要落实到实验的环节上进行检验。EMAN是跨平台的,但是由于这个项目最终要运行在并行的LINUX系统上,所以开发都应该是在LINUX上进行。我之前的许多工作量都放在了WINDOWS下的MATLAB上,利用MATLAB的强大功能和易用性进行算法的方针,但是如果根据自己的需求进行实验就不容易了,更何况最终的系统是要运行在LINUX下的。因此以前的工作对于理论研究还有些帮助,对于仿真实验就没有什么贡献了。

接下来说说具体的进展:

1.安装EMAN。从这里(http://ncmi.bcm.tmc.edu/ncmi/software/eman/software_92)下载源代码,我下载的是1.8,截至现在,已经发布了1.9版(2009/02/11)。安装步骤在安装包里都有说明,或者在下载页面看看安装指南。

2.安装EMAN需要的第三方库。
Required Libraries
1)fftw version 2.1.x (not use 3.x)
2)gxl version >= 1.3
3)libtiff
4)Qt version >=3.0 (最好使用3.x版本,因为Qt4相对Qt3有很大的改动,有许多函数已经不用了,
比如bitblt,而由于EMAN1.8是基于3.x的Qt开发的,所以最好使用3.x版本的Qt)

Optional Libraries
1)Python version 2.2+
Boost Python (version 2+)
2)Open Inventor
3)HDF5 support(not use hdf5-1.6.4)

Recommendations
If compiling for Athlons, suggest using FFTWGEL which can give a ~20% speed boost.

其中编译Qt3大概花了个多小时,编译Qt4大概花了6~7小时,编译生成EMAN大概花了5个小时。
机器配置为
CPU:AMD Althlon 2800+ 1.8G
Memory:1G
Hard disk:250G

编译之后就可以开发了,这部分以后有时间再写。

Comments are closed.