WebREAD returns zeors when reading a GIF image

4 次查看(过去 30 天)
I am using an Online server from NIH to convert a SMILES string to a GIF image.
This SMILES string defines a chemical structure, which is dipicted in the GIF picture.
For example, by defining the URL as https://cactus.nci.nih.gov/chemical/structure/O=c1oc2ccccc2cc1-c1cn2ccccc2n1/image this server generates a picture.
However, when I read the image using WebRead, I only get an array (250*250) of zeros .
testURL='https://cactus.nci.nih.gov/chemical/structure/O=c1oc2ccccc2cc1-c1cn2ccccc2n1/image';
myData=webread(testURL);
Does anyone know what is going wrong in this case?
How should we modify the code to retrieve the image?
Many thanks.

采纳的回答

Steve Eddins
Steve Eddins 2022-3-8
I got an array of zeros once using your code, but later I ran it again and got the expected image data. I quit MATLAB and launched a new session, and I got the expected image data on the first (and all subsequent) attempts.
I'm not sure, but I suspect that a server issue is causing it to sometimes send all zeros.
Also, I recommend that you use two output arguments in your call to webread. GIF files use colormaps, and you need to get the colormap to display the image correctly, like this:
testURL='https://cactus.nci.nih.gov/chemical/structure/O=c1oc2ccccc2cc1-c1cn2ccccc2n1/image';
[myData,map]=webread(testURL);
imshow(myData,map)
  1 个评论
Xiaogang Liu
Xiaogang Liu 2022-3-8
Dear Steve,
Many thanks for the suggestion and the great help.
I switched to another computer (on the way home). It is working now!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Chemical Process Design 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by