本文整理汇总了Java中com.jmatio.io.MatFileReader.read方法的典型用法代码示例。如果您正苦于以下问题:Java MatFileReader.read方法的具体用法?Java MatFileReader.read怎么用?Java MatFileReader.read使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.jmatio.io.MatFileReader
的用法示例。
在下文中一共展示了MatFileReader.read方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: readStringsArrayFromMat
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
public static String[] readStringsArrayFromMat(Path matFile, String stringsArrayName) throws IOException {
Objects.requireNonNull(matFile, "mat file is null");
Objects.requireNonNull(stringsArrayName, "strings array name is null");
MatFileReader matFileReader = new MatFileReader();
Map<String, MLArray> matFileContent = matFileReader.read(matFile.toFile());
MLCell stringsArray = (MLCell) matFileContent.get(stringsArrayName);
String[] strings = new String[stringsArray.getN()];
for (int i = 0; i < stringsArray.getN(); i++) {
strings[i] = ((MLChar) stringsArray.get(0, i)).getString(0);
}
return strings;
}
示例2: fromFile
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
public static Matrix fromFile(File file, Object... parameters) throws IOException {
String key = null;
if (parameters != null && parameters.length > 0 && parameters[0] instanceof String) {
key = (String) parameters[0];
}
MatFileReader reader = new MatFileReader();
Map<String, MLArray> map = reader.read(file);
if (key == null) {
key = map.keySet().iterator().next();
}
MLArray array = map.get(key);
if (array == null) {
throw new RuntimeException("matrix with label [" + key + "] was not found in .mat file");
} else if (array instanceof MLDouble) {
return new MLDenseDoubleMatrix((MLDouble) array);
} else {
throw new RuntimeException("This type is not yet supported: " + array.getClass());
}
}
示例3: MCSMatFileReader
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
public MCSMatFileReader(Path matFile) throws Exception {
Objects.requireNonNull(matFile, "mat file is null");
MatFileReader sampledDataFileReader = new MatFileReader();
matFileContent = sampledDataFileReader.read(matFile.toFile());
String errorMessage = Utils.MLCharToString((MLChar) matFileContent.get("errmsg"));
if (!("Ok".equalsIgnoreCase(errorMessage))) {
throw new MatlabException(errorMessage);
}
}
示例4: readDoublesMatrixFromMat
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
public static double[][] readDoublesMatrixFromMat(Path matFile, String doublesMatrixName) throws IOException {
Objects.requireNonNull(matFile, "mat file is null");
MatFileReader matFileReader = new MatFileReader();
Map<String, MLArray> matFileContent = matFileReader.read(matFile.toFile());
MLDouble doublesMatrix = (MLDouble) matFileContent.get(doublesMatrixName);
double[][] doubles = null;
if (doublesMatrix != null) {
doubles = doublesMatrix.getArray();
}
return doubles;
}
示例5: computeBinSampling
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
public double[][] computeBinSampling(double[] marginalExpectations, int nSamples) throws Exception {
Objects.requireNonNull(marginalExpectations);
if (marginalExpectations.length == 0) {
throw new IllegalArgumentException("empty marginalExpectations array");
}
if (nSamples <= 0) {
throw new IllegalArgumentException("number of samples must be positive");
}
try (CommandExecutor executor = computationManager.newCommandExecutor(createEnv(), WORKING_DIR_PREFIX, config.isDebug())) {
Path workingDir = executor.getWorkingDir();
Utils.writeWP41BinaryIndependentSamplingInputFile(workingDir.resolve(B1INPUTFILENAME), marginalExpectations);
LOGGER.info("binsampler, asking for {} samples", nSamples);
Command cmd = createBinSamplerCmd(workingDir.resolve(B1INPUTFILENAME), nSamples);
ExecutionReport report = executor.start(new CommandExecution(cmd, 1, priority));
report.log();
LOGGER.debug("Retrieving binsampler results from file {}", B1OUTPUTFILENAME);
MatFileReader mfr = new MatFileReader();
Map<String, MLArray> content;
content = mfr.read(workingDir.resolve(B1OUTPUTFILENAME).toFile());
String errMsg = Utils.MLCharToString((MLChar) content.get("errmsg"));
if (!("Ok".equalsIgnoreCase(errMsg))) {
throw new MatlabException(errMsg);
}
MLArray xNew = content.get("STATUS");
Objects.requireNonNull(xNew);
MLDouble mld = (MLDouble) xNew;
double[][] retMat = mld.getArray();
return retMat;
}
}
示例6: setUp
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
@Before
public void setUp() throws IOException
{
MatFileReader reader = new MatFileReader();
Map<String, MLArray> content = reader.read( spmFile );
array = content.get( "SPM" );
}
示例7: testBigSparseFile
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
/**
* Test case that exposes the bug found by Julien C. from polymtl.ca
* <p>
* The test file contains a sparse array on crashes the reader. The bug
* appeared when the {@link MLSparse} tried to allocate resources (very very
* big {@link ByteBuffer}) and {@link IllegalArgumentException} was thrown.
*
* @throws IOException
*/
@Test
public void testBigSparseFile() throws IOException
{
//read array form file
MatFileReader mfr = new MatFileReader();
//reader crashes on reading this file
//bug caused by sparse array allocation
mfr.read( new File("src/test/resources/bigsparse.mat"), MatFileReader.DIRECT_BYTE_BUFFER );
}
示例8: testJavaObject
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
@Test
public void testJavaObject() throws Exception
{
MatFileReader mfr = new MatFileReader();
Map<String, MLArray> content = mfr.read( new File("src/test/resources/java.mat") );
MLJavaObject mlJavaObject = (MLJavaObject) content.get( "f" );
assertEquals( "java.io.File", mlJavaObject.getClassName() );
assertEquals( new File("c:/temp"), mlJavaObject.getObject() );
}
示例9: testObject
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
@Test
public void testObject() throws Exception
{
MatFileReader mfr = new MatFileReader();
Map<String, MLArray> content = mfr.read( new File("src/test/resources/object.mat") );
MLObject mlObject = (MLObject) content.get( "X" );
assertEquals( "inline", mlObject.getClassName() );
assertTrue( mlObject.getObject() instanceof MLStructure );
assertTrue( mlObject.getObject().getFieldNames().contains( "expr" ) );
// System.out.println(mlObject.getObject().getFieldNames());
}
示例10: computeModule3
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
private double[][] computeModule3(int nSamples) throws Exception {
LOGGER.info("Executing wp41 module3 (IR: {}, tflag: {}, number of clusters: {}), getting {} samples", config.getIr(), config.getTflag(), nClusters, nSamples);
try (CommandExecutor executor = computationManager.newCommandExecutor(createEnv(), WORKING_DIR_PREFIX, config.isDebug())) {
Path workingDir = executor.getWorkingDir();
Command cmd = createMatm3PreCmd(nClusters, nSamples);
ExecutionReport report = executor.start(new CommandExecution(cmd, 1, priority));
report.log();
if (report.getErrors().isEmpty()) {
report = executor.start(new CommandExecution(createMatm3Cmd(), nClusters, priority));
report.log();
if (report.getErrors().isEmpty()) {
report = executor.start(new CommandExecution(createMatm3reduceCmd(nClusters), 1, priority));
report.log();
LOGGER.debug("Retrieving module3 results from file {}", M3OUTPUTFILENAME);
MatFileReader mfr = new MatFileReader();
Map<String, MLArray> content = mfr.read(workingDir.resolve(M3OUTPUTFILENAME).toFile());
String errMsg = Utils.MLCharToString((MLChar) content.get("errmsg"));
if (!("Ok".equalsIgnoreCase(errMsg))) {
throw new MatlabException(errMsg);
}
MLArray xNew = content.get("Y");
MLDouble mld = (MLDouble) xNew;
double[][] xNewMat = mld.getArray();
if (config.getValidationDir() != null) {
// store output file with the samples, for validation purposes
try {
Files.copy(workingDir.resolve(M3OUTPUTFILENAME), config.getValidationDir().resolve("MOD3_" + System.currentTimeMillis() + "_" + Thread.currentThread().getId() + ".mat"));
} catch (Throwable t) {
LOGGER.error(t.getMessage(), t);
}
}
return xNewMat;
}
}
return null;
}
}
示例11: testWritingMethods
import com.jmatio.io.MatFileReader; //导入方法依赖的package包/类
@Test
public void testWritingMethods() throws IOException
{
final String fileName = "nwrite.mat";
final File f = temp.newFile(fileName);
//test column-packed vector
double[] src = new double[] { 1.3, 2.0, 3.0, 4.0, 5.0, 6.0 };
//create 3x2 double matrix
//[ 1.0 4.0 ;
// 2.0 5.0 ;
// 3.0 6.0 ]
MLDouble m1 = new MLDouble( "m1", src, 3 );
//write array to file
ArrayList<MLArray> list = new ArrayList<MLArray>();
list.add( m1);
MatFileWriter writer = new MatFileWriter();
writer.write(f, list);
assertTrue("Test if file was created", f.exists() );
MLArray array = null;
//try to read it
MatFileReader reader = new MatFileReader();
reader.read(f, MatFileReader.MEMORY_MAPPED_FILE );
array = reader.getMLArray("m1");
assertEquals("Test if is correct file", array, m1);
//try to delete the file
assertTrue("Test if file can be deleted", f.delete() );
writer.write(f, list);
assertTrue("Test if file was created", f.exists() );
reader.read(f, MatFileReader.MEMORY_MAPPED_FILE );
assertEquals("Test if is correct file", reader.getMLArray("m1"), m1);
//try the same with direct buffer allocation
reader.read(f, MatFileReader.DIRECT_BYTE_BUFFER );
array = reader.getMLArray("m1");
assertEquals("Test if is correct file", array, m1);
//try to delete the file
assertTrue("Test if file can be deleted", f.delete() );
writer.write(f, list);
assertTrue("Test if file was created", f.exists() );
reader.read(f, MatFileReader.DIRECT_BYTE_BUFFER );
assertEquals("Test if is correct file", reader.getMLArray("m1"), m1);
//try the same with direct buffer allocation
reader.read(f, MatFileReader.HEAP_BYTE_BUFFER);
array = reader.getMLArray("m1");
assertEquals("Test if is correct file", array, m1);
//try to delete the file
assertTrue("Test if file can be deleted", f.delete() );
writer.write(f, list);
assertTrue("Test if file was created", f.exists() );
reader.read(f, MatFileReader.HEAP_BYTE_BUFFER );
assertEquals("Test if is correct file", reader.getMLArray("m1"), m1);
}