问题列表 - 第38698页

数据结构存储大量数据?

在我的应用程序中,我必须从一组图像(MRC图像)加载volumedata并将像素数据保存在内存中.(图像是灰度级的,因此每像素一个字节).

我的开发环境是QT框架,MinGW for Windows和GCC for Linux.

目前,我使用一个简单的数据结构来存储volumedata:

unsigned char *volumeData;
Run Code Online (Sandbox Code Playgroud)

并按如下方式进行大量分配.

volumeData=new unsigned char[imageXsize * imageYsize * numofImages];
Run Code Online (Sandbox Code Playgroud)

以下是访问给定平面中图像数据的重要方法,例如

unsigned char* getXYPlaneSlice(int z_value);
unsigned char* getYZPlaneSlice(int x_value);
unsigned char* getZXPlaneSlice(int y_value);
Run Code Online (Sandbox Code Playgroud)

使用我简单的数据结构,很容易实现上述方法.

但是我们可能需要在未来采用体积大小为2000x2000x1000(~3.7Gb).而目前的数据结构将无法处理这些庞大的数据.

  1. 如何避免碎片?现在,即使使用1000x1000x200数据,应用程序也会崩溃,从而导致bad_alloc.什么是更改数据结构的最佳方法?我应该使用链接列表,每个块大小为100mb.

  2. 此外,用户应该能够在体积数据上执行一些图像处理过滤器,并且还应该能够重置为原始像素值.这意味着,我应该保留两份卷数据.与目前的实施类似.

    unsigned char*volumeDataOriginal;

    unsigned char*volumeDataCurrent;

因此,对于2000x2000x1000数据范围,它将使用大约8Gb(每个音量4Gb).但在Win32中,地址空间为4GB.如何解决这个问题?我应该使用64位应用程序?

编辑:这是我的应用程序的快照 在此输入图像描述

基本上,我加载了体积数据(来自MRC格式的图像集),并将它们显示在不同的平面查看器中(XY,YX,YZ.Image显示XY平面查看器).我需要保持在上面3种数据访问方法,用于显示特定平面中的图像.使用滑块栏用户可以更改要在所选平面中显示的图像)

提前致谢.

c++ memory dynamic-memory-allocation data-structures

12
推荐指数
4
解决办法
9629
查看次数

从java程序调用unix shell?从java程序中读取和写入来自unix管道的稳定数据流

我有两个问题

1)如何从java.runtime库调用unix shell来运行这样的命令

进程p = Runtime.getRuntime().exec(命令);

猫别名>偏见

2)如何从java读取和写入来自unix管道的稳定数据流.我是否必须将所有系统调用(例如开放读取写入管道)

我基本上想要复制这个命令

猫别名>偏见

稳定的数据流将来自java程序偏向而不是cat别名.

java unix named-pipes

4
推荐指数
1
解决办法
3435
查看次数

将普通的sqlite3数据库迁移到核心数据?

我有一个正常的预填充数据库.我想将其迁移到我的应用程序的核心数据.实现这一目标的最佳方法是什么?顺便说一句,我做了这些事情,从apple的sample.exported表sql复制recipes.sqlite数据库.根据核心数据表列重命名列名称(类似于此 - 使用Z_PK的id"主键").用我的价值观填满了那张桌子.但我无法理解列名Z_ENT和Z_OPT.是否有人知道如何轻松地将预先填充的sqlite3数据库迁移到核心数据.

谢谢

migration sqlite core-data ios4

4
推荐指数
1
解决办法
3025
查看次数

将clojure/scala repl附加到正在运行的JVM

我有一个在Sun java 6 JVM中在tomcat下运行的java Web应用程序.有没有办法将scala或clojure REPL附加到正在运行的JVM?

一旦webapp启动并运行,就会在正在运行的VM中设置要进行调用的上下文.因此,这对于调用增量,探索性开发和调试的任意java方法调用非常有用.

java jvm scala clojure read-eval-print-loop

26
推荐指数
3
解决办法
4223
查看次数

对java.util.Collection.contains的可疑调用

我从NetBeans IDE收到以下警告.

Suspicious call to java.util.Collection.contains
Expected type T, actual type Object
Run Code Online (Sandbox Code Playgroud)

我知道这意味着什么吗?

这对我来说没有意义.Both ListCollectionclass的contains方法都使用Object作为它们的方法参数.

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

/**
 *
 * @author yan-cheng.cheok
 */
public abstract class AbstractCollection<T> implements Collection<T> {

    protected List<T> list = new ArrayList<T>();

    public boolean contains(Object o) {
        // Suspicious call to java.util.Collection.contains
        // Expected type T, actual type Object
        return list.contains(o);
    }
Run Code Online (Sandbox Code Playgroud)

Collection类的代码片段

/**
 * Returns <tt>true</tt> if this collection contains the specified element.
 * …
Run Code Online (Sandbox Code Playgroud)

java

13
推荐指数
1
解决办法
2万
查看次数

R中是否可以有多行注释?

我找到了这个旧线程(来自一年多以前),它解释了R如何不支持多行注释(例如PHP的/*comment*/).

我想知道过去一年是否已经解决了这个问题,还是有其他选择?(例如,在带有npptor的notepad ++中,你可以标记一堆行并按ctrl + q将它们全部标记为注释,是否有其他IDE的类似解决方案?)

comments r

89
推荐指数
7
解决办法
22万
查看次数

将枚举类型转换为IList


我怎么能转换enumIList
假设您要读取FormWindowState枚举中的所有元素,并返回IList<FormWindowState>包含Normal,MinimizedMaximized

c# ienumerable ilist menu

1
推荐指数
1
解决办法
1660
查看次数

为什么C#调用错误的重载?

我有以下的代码,真的 好笑的东西:

class Parent {
    public virtual void DoSomething(IEnumerable<string> list) {
        Console.WriteLine("Parent.DoSomething(IEnumerable<string>)");
    }
}

class Child : Parent {
    public override void DoSomething(IEnumerable<string> list) {
        Console.WriteLine("Child.DoSomething(IEnumerable<string>)");
    }

    public void DoSomething(IEnumerable<object> list) {
        Console.WriteLine("Child.DoSomething(IEnumerable<object>)");
    }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,正确覆盖了DoSomething方法Child.

以下代码的输出非常意外:

...
Child c = new Child();
var list = new List<string> { "Hello", "World!" };
c.DoSomething(list);
...
Run Code Online (Sandbox Code Playgroud)

打印 Child.DoSomething(IEnumerable<object>)

而协助Parent引用c生成正确的输出:

...
Parent c = new Child();
var list = new List<string> { "Hello", …
Run Code Online (Sandbox Code Playgroud)

c# overriding

7
推荐指数
1
解决办法
1584
查看次数

71674705值转换为7.1674705E

从java中读取excel中的大数字我有很大的问题.当我读71674705时,我得到7.1674705E,这是不行的.

例:

double num = cell.getNumericCellValue();

如何防止数字之间的转换,数字将保持像71674705.

java excel

0
推荐指数
1
解决办法
151
查看次数

使用C#查询Windows文件索引服务

是否可以使用C#查询文件索引服务?文件索引服务是否公开数据库?如果是这样,这个数据库的方案是什么?

c# windows-services

3
推荐指数
1
解决办法
5641
查看次数