无法使用imebra Android加载DICOM

unable to load DICOM with imebra Android

本文关键字:Android 加载 DICOM imebra      更新时间:2023-10-16

我尝试使用imebra将diCom文件加载到android中我已经多次检查了我的代码(加载.jar lib,权限& ...(,我不知道接下来检查!

在此链接中" https://bitbucket.org/binarno/imebra/commits/442896d56ebf8856ae8b02326bd44483162626f0420"

System.loadLibrary("imebra_lib");
       try {
          DataSet loadedDataSet = com.imebra.CodecFactory.load(content.getPath(),2048);
          // File auxFile = new File(content.getPath());
           //auxFile.getAbsoluteFile();
           ((TextView)state).setText("openFile Successful");
       }catch(Exception e){
           Log.e("Imebra openFile", "failure :",e );
           //e.printStackTrace();
           ((TextView)state).setText("openFile failed");
       }

我的错误日志是:

E/Imebra openFile: failure : java.io.IOException: [void imebra::implementation::fileStream::openFile(const std::wstring &, std::ios_base::openmode)]
 file: C:/FILES/WorkSpace/Programming/Android/projescts/Dicom/Imebra/imebra_4_0_15_1/wrappers/javaWrapper/jni/../../../library/implementation/fileStreamImpl.cpp  line: 129
 exception type: N6imebra15StreamOpenErrorE
 exception message: stream::openFile failure - error code: 2                                                                   
 [void imebra::implementation::fileStream::openFile(const std::wstring &, std::ios_base::openmode)]
 file: C:/FILES/WorkSpace/Programming/Android/projescts/Dicom/Imebra/imebra_4_0_15_1/wrappers/javaWrapper/jni/../../../library/implementation/fileStreamImpl.cpp  line: 132
 exception type: N6imebra15StreamOpenErrorE
 exception message: stream::openFile failure - error code: 2                                                                                                                                                                                       
 [imebra::implementation::fileStreamInput::fileStreamInput(const std::string &)]
 file: C:/FILES/WorkSpace/Programming/Android/projescts/Dicom/Imebra/imebra_4_0_15_1/wrappers/javaWrapper/jni/../../../library/implementation/fileStreamImpl.cpp  line: 199
 exception type: N6imebra15StreamOpenErrorE
 exception message: stream::openFile failure - error code: 2
 [static imebra::DataSet *imebra::CodecFactory::load(const std::string &, size_t)]
 file: C:/FILES/WorkSpace/Programming/Android/projescts/Dicom/Imebra/imebra_4_0_15_1/wrappers/javaWrapper/jni/../../../library/src/codecFactory.cpp  line: 63                                                                   
 exception type: N6imebra15StreamOpenErrorE
 exception message: stream::openFile failure - error code: 2
 at com.imebra.imebraJNI.CodecFactory_load__SWIG_2(Native Method)
 at com.imebra.CodecFactory.load(CodecFactory.java:49)
 at os.i.learnandtest.Dicom.openFile(Dicom.java:21)
 at os.i.learnandtest.Register.onActivityResult(Register.java:132)

错误可能是由于您将URL编码的文件名传递给imebra(根据您的评论,您通过了"/document/document/primary%3Adicom%20-test%20Image%2fim(-0001-0002.dcm"(。

尝试将URL实体转换为字符,然后传递文件名"/文档/primary:diCom test Image/im-0001-0002.dcm"