DDSM+RetinaNet数据处理进展
cancers第二种方法:LJPEG格式转成jpg格式第一种方法:LJPEG格式转成jpg格式my 第三个ideaCSV今天学到的一些linux命令总结提醒自己不要焦虑ToListcancers
第二种方法:LJPEG格式转成jpg格式
这里用的是:/aaalgo/ljpeg/
这里的代码以下是调用这个ljpeg 的包自己写的代码
#!/usr/bin/env python#coding=utf-8import ljpeg as ljpimport cv2import numpyimport os,subprocessIMGTYPE=".jpg"PATH=["cancers"]#PATH=["cancers","normal"] p是这一级文件夹PATH = list(map(lambda x:os.path.join(os.getcwd(),x), PATH))print(PATH)#这里面保存的都是需要转换的LJPEG文件file_list = []#循环 pfor p in PATH:print("p",p)for file1 in [doc for doc in os.listdir(p)]:#下一级别 print("doc",doc)abs_path1 = os.path.join(p, file1)if not os.path.isdir(abs_path1): continuefor file2 in [doc for doc in os.listdir(abs_path1)]:abs_path2 = os.path.join(abs_path1, file2)if not os.path.isdir(abs_path2): continuefor file3 in [doc for doc in os.listdir(abs_path2) if doc.endswith(".LJPEG")]:print("\t\t", file3)#################################### 如果已经生成了图像,则跳过if os.path.exists(os.path.join(abs_path2, os.path.splitext(file3)[0]) + IMGTYPE): continue###################################file_abs_path = os.path.join(abs_path2, file3)ljpeg_path=file_abs_pathprint("file_abs_path",file_abs_path)out_path=ljpeg_path.split('.LJPEG')[0]+".jpg"cmd='python ljpeg.py "{0}" "{1}" --visual --scale 1.0'.format(ljpeg_path,out_path)print(cmd)os.system(cmd)
cancers一共有3655张图片,
MLO和CC是不同的视角我其实应该同时把数据送进去的,但是我也不知当初怎么想的只是想处理CC
删除了MLO 之后就只剩1827张图片
去掉一部分没有overlay(病灶区域的就只剩929张图片了)
omg~我觉得我给自己挖了个坑。
第一种方法:LJPEG格式转成jpg格式
图片有一些看不清楚,我觉得数据是有问题的
** 一共的cancer数量:*
but即使第二种方法还是有一些图像看不清,所以这两个图片的转换方法我也不确定哪一种比较好
my 第三个idea
直接用RetinaNet去读入原始的图像。不过我不知道RetinaNet可否这样做。
CSV
之后将overlay和jpg图像对应起来,因为有一些jpg图像(左边的胸部是没有病灶区域的,这里用代码去掉这样的jpg图像)用matlab代码openDDSMPngWithOverlay.m 生成csv文件以便RetinaNet去读入
import os, subprocessimport multiprocessingimport shutil#文件夹目录#匹配overlay和JPG图像path1 = '/home/ld/ljpeg/cancers_jpg'path2 = '/home/ld/OVERLAY_CC'files= os.listdir(path1) #得到文件夹下的所有文件名称IMGTYPE=".OVERLAY"IMGTYPE2=".jpg"for file in files:path3="";path4="";if(file.find("jpg")):print("xxx")path3 = os.path.join(path2 ,os.path.splitext(file)[0])+IMGTYPE;print(path3)if(os.path.exists(path3)==0):path4 = os.path.join(path1 , os.path.splitext(file)[0]) + IMGTYPE2;print(path4)os.remove(path4)
今天学到的一些linux命令
统计文件数目:ls -l | grep “^-”|wc -l递归删除文件 find . -name “*.jpg” | xargs rm -f总结
现在又是做一些重复性的工作,做的很烦躁,不知道会出来怎么样的结果,在做的过程中总有一些奇葩的事情发生 比如无的Pycharm过期了,我还要找激活码,我发现做实验要持续的做是不可以停止的,因为事情太杂了,总是要忘记自己做到了哪里,这样重复真的浪费时间,所以边做边用ipad pro去写下来是个好习惯。
有时候图片数量对应不上,真的烦躁,就跟健忘症一样,做完了又忘了,有时候做一做就要重新梳理,服务器上和windows都有数据,有时候就会弄的很混乱。
学习的时候就觉得压力好大,脑袋疼就想吃东西,我只有写完这些东西,才有一个减压和发泄的出口!
我肯定能做出来成果~ 我要发paper!
自从检查出来缺失serotonin已经耽误我太长的进度!我不可以再这样了!
我从此以后都要把注意力转移到代码身上
RetinaNet的论文我又打印出来了,要随身携带论文,提醒自己。
提醒自己不要焦虑
1.漫无目的的空想可以在一定程度上控制
2.并不是说思考必须总是有意识的。潜意识也可能参与有目的性的心理活动,最具戏剧性的例子就是:当我们不对某件事冥思苦想,转而去做其他事情,顿悟就会发生
ToList
把新生成的图片送入网络中,关注网络的结果