我正在使用ImageJ和Matlab处理一组DICOM图像.为了进行处理,我需要在8位深度版本的图像中找到灰度级在110和120之间的斑点.
问题是:Matlab和ImageJ显示的图像是不同的,使用相同的源文件.我假设其中一个在读取时或显示之前在其灰度级执行某种转换.但是其中哪一个呢?在这种情况下,我如何校准,以便它们显示相同的图像?
下图显示了读取的图像的比较.在imageJ的情况下,我刚刚打开了应用程序并打开了DICOM图像.
在第二种情况下,我使用了以下MATLAB脚本:
[image] = dicomread('I1400001');
figure (1)
imshow(image,[]);
title('Original DICOM image');
Run Code Online (Sandbox Code Playgroud)

那么哪一个正在改变原始图像,如果是这种情况,我该如何修改以使两个版本看起来都一样?
我有很多输入拆分(大约50.000)是由要使用Hadoop处理的小文件创建的。但是,我只有256个可用的容器来处理它。
作业本身占用大量CPU,但占用的内存却很少。
我正在使用Hadoop 2.3,并且正在研究MapReduce 1.0中的JVM重用功能
我还阅读了有关超级任务的信息,但看起来似乎不太一样-或我对JVM重用有不同的了解。
由于我有很多小文件(并且每个文件都生成一个inputSplit),因此我想为每个容器创建一个JVM计算机,并为每个已分配的JVM运行尽可能多的顺序Map任务。这将减少JVM分配时间的开销。
我猜对于每个输入拆分,都会分配一个新的映射器,从而分配一个新的JVM,对吗?
我如何在YARN中做这样的事情?
哦,我知道我也可以使用压缩来增加inputSplit的大小,但是对于这种确切的应用程序,这是不可行的。
最好的问候,Marco Lotz