Exporting graph object for later use
Clash Royale CLAN TAG#URR8PPP
up vote
12
down vote
favorite
We are planning to analyze geometry of artery branch pattern. We convert the binarized image into graph object using MorphologicalGraph
. To avoid the complexity of the code for later analysis, we want to save the graph objects to a separate file. We tried
Export["graphList.m", obtainBranchGraphList]
and tried to use the object later. When we import the data using
g2 = Import["graphList.m"]
resulting g2
seem to contain all the information of the graph. However, the content of g2
is something like
Graph[3, 5, 4, 13, 17, 26, 21, 42, 3 [UndirectedEdge] 5,
4 [UndirectedEdge] 5, 17 [UndirectedEdge] 26,
21 [UndirectedEdge] 26, 21 [UndirectedEdge] 5,
42 [UndirectedEdge] 26,
21 [UndirectedEdge]
13, VertexLabels -> "Name", 8 -> None, 12 -> None, 22 -> None,
14 -> None, 2 -> None, 29 -> None, 41 -> None, 38 -> None,
37 -> None, 20 -> None, 32 -> None, 18 -> None, 25 -> None,
7 -> None, 9 -> None, 19 -> None, 30 -> None, 16 -> None,
23 -> None, 39 -> None, 34 -> None, 40 -> None, 11 -> None,
44 -> None, 6 -> None, 36 -> None, 33 -> None, 1 -> None,
15 -> None, 35 -> None, 28 -> None, 24 -> None, 10 -> None,
27 -> None, 43 -> None, 31 -> None,
VertexCoordinates -> 2096.5, 1813.5, 2093.5, 1795.5, 2144.5,
1810.5, 2243.5, 1600.5, 1892.5, 1581.5, 1926.5,
1559.5, 1942.5, 1571.5, 1713.5, 1298.5]
and we could not reconstruct the graph from g2
. Is there any way to convert this text to graph object?
Thank you very much in advance.
Takashi.
bugs graphs-and-networks export import
add a comment |Â
up vote
12
down vote
favorite
We are planning to analyze geometry of artery branch pattern. We convert the binarized image into graph object using MorphologicalGraph
. To avoid the complexity of the code for later analysis, we want to save the graph objects to a separate file. We tried
Export["graphList.m", obtainBranchGraphList]
and tried to use the object later. When we import the data using
g2 = Import["graphList.m"]
resulting g2
seem to contain all the information of the graph. However, the content of g2
is something like
Graph[3, 5, 4, 13, 17, 26, 21, 42, 3 [UndirectedEdge] 5,
4 [UndirectedEdge] 5, 17 [UndirectedEdge] 26,
21 [UndirectedEdge] 26, 21 [UndirectedEdge] 5,
42 [UndirectedEdge] 26,
21 [UndirectedEdge]
13, VertexLabels -> "Name", 8 -> None, 12 -> None, 22 -> None,
14 -> None, 2 -> None, 29 -> None, 41 -> None, 38 -> None,
37 -> None, 20 -> None, 32 -> None, 18 -> None, 25 -> None,
7 -> None, 9 -> None, 19 -> None, 30 -> None, 16 -> None,
23 -> None, 39 -> None, 34 -> None, 40 -> None, 11 -> None,
44 -> None, 6 -> None, 36 -> None, 33 -> None, 1 -> None,
15 -> None, 35 -> None, 28 -> None, 24 -> None, 10 -> None,
27 -> None, 43 -> None, 31 -> None,
VertexCoordinates -> 2096.5, 1813.5, 2093.5, 1795.5, 2144.5,
1810.5, 2243.5, 1600.5, 1892.5, 1581.5, 1926.5,
1559.5, 1942.5, 1571.5, 1713.5, 1298.5]
and we could not reconstruct the graph from g2
. Is there any way to convert this text to graph object?
Thank you very much in advance.
Takashi.
bugs graphs-and-networks export import
if you comment outVertexLabels -> ...,
part or change it toVertexLabels -> "Name"
it works fine.
â kglr
Aug 14 at 8:04
see also DumpSave and Get, e.g.DumpSave["graphList.mx", obtainBranchGraphList]
andGet["graphList.mx"]
â kglr
Aug 14 at 8:11
@kglr DumpSave will only hide the internal corruption temporarily. The bug is still there and will no doubt surface in a nastier way later.
â Szabolcs
Aug 14 at 10:06
@Szabolcs, right; I didn't mean to suggest DumpSave/Get as a fix; just as an alternative to Export/Import.
â kglr
Aug 14 at 19:49
add a comment |Â
up vote
12
down vote
favorite
up vote
12
down vote
favorite
We are planning to analyze geometry of artery branch pattern. We convert the binarized image into graph object using MorphologicalGraph
. To avoid the complexity of the code for later analysis, we want to save the graph objects to a separate file. We tried
Export["graphList.m", obtainBranchGraphList]
and tried to use the object later. When we import the data using
g2 = Import["graphList.m"]
resulting g2
seem to contain all the information of the graph. However, the content of g2
is something like
Graph[3, 5, 4, 13, 17, 26, 21, 42, 3 [UndirectedEdge] 5,
4 [UndirectedEdge] 5, 17 [UndirectedEdge] 26,
21 [UndirectedEdge] 26, 21 [UndirectedEdge] 5,
42 [UndirectedEdge] 26,
21 [UndirectedEdge]
13, VertexLabels -> "Name", 8 -> None, 12 -> None, 22 -> None,
14 -> None, 2 -> None, 29 -> None, 41 -> None, 38 -> None,
37 -> None, 20 -> None, 32 -> None, 18 -> None, 25 -> None,
7 -> None, 9 -> None, 19 -> None, 30 -> None, 16 -> None,
23 -> None, 39 -> None, 34 -> None, 40 -> None, 11 -> None,
44 -> None, 6 -> None, 36 -> None, 33 -> None, 1 -> None,
15 -> None, 35 -> None, 28 -> None, 24 -> None, 10 -> None,
27 -> None, 43 -> None, 31 -> None,
VertexCoordinates -> 2096.5, 1813.5, 2093.5, 1795.5, 2144.5,
1810.5, 2243.5, 1600.5, 1892.5, 1581.5, 1926.5,
1559.5, 1942.5, 1571.5, 1713.5, 1298.5]
and we could not reconstruct the graph from g2
. Is there any way to convert this text to graph object?
Thank you very much in advance.
Takashi.
bugs graphs-and-networks export import
We are planning to analyze geometry of artery branch pattern. We convert the binarized image into graph object using MorphologicalGraph
. To avoid the complexity of the code for later analysis, we want to save the graph objects to a separate file. We tried
Export["graphList.m", obtainBranchGraphList]
and tried to use the object later. When we import the data using
g2 = Import["graphList.m"]
resulting g2
seem to contain all the information of the graph. However, the content of g2
is something like
Graph[3, 5, 4, 13, 17, 26, 21, 42, 3 [UndirectedEdge] 5,
4 [UndirectedEdge] 5, 17 [UndirectedEdge] 26,
21 [UndirectedEdge] 26, 21 [UndirectedEdge] 5,
42 [UndirectedEdge] 26,
21 [UndirectedEdge]
13, VertexLabels -> "Name", 8 -> None, 12 -> None, 22 -> None,
14 -> None, 2 -> None, 29 -> None, 41 -> None, 38 -> None,
37 -> None, 20 -> None, 32 -> None, 18 -> None, 25 -> None,
7 -> None, 9 -> None, 19 -> None, 30 -> None, 16 -> None,
23 -> None, 39 -> None, 34 -> None, 40 -> None, 11 -> None,
44 -> None, 6 -> None, 36 -> None, 33 -> None, 1 -> None,
15 -> None, 35 -> None, 28 -> None, 24 -> None, 10 -> None,
27 -> None, 43 -> None, 31 -> None,
VertexCoordinates -> 2096.5, 1813.5, 2093.5, 1795.5, 2144.5,
1810.5, 2243.5, 1600.5, 1892.5, 1581.5, 1926.5,
1559.5, 1942.5, 1571.5, 1713.5, 1298.5]
and we could not reconstruct the graph from g2
. Is there any way to convert this text to graph object?
Thank you very much in advance.
Takashi.
bugs graphs-and-networks export import
edited Aug 14 at 13:32
Chris K
5,54221638
5,54221638
asked Aug 14 at 7:55
Takashi Miura
712
712
if you comment outVertexLabels -> ...,
part or change it toVertexLabels -> "Name"
it works fine.
â kglr
Aug 14 at 8:04
see also DumpSave and Get, e.g.DumpSave["graphList.mx", obtainBranchGraphList]
andGet["graphList.mx"]
â kglr
Aug 14 at 8:11
@kglr DumpSave will only hide the internal corruption temporarily. The bug is still there and will no doubt surface in a nastier way later.
â Szabolcs
Aug 14 at 10:06
@Szabolcs, right; I didn't mean to suggest DumpSave/Get as a fix; just as an alternative to Export/Import.
â kglr
Aug 14 at 19:49
add a comment |Â
if you comment outVertexLabels -> ...,
part or change it toVertexLabels -> "Name"
it works fine.
â kglr
Aug 14 at 8:04
see also DumpSave and Get, e.g.DumpSave["graphList.mx", obtainBranchGraphList]
andGet["graphList.mx"]
â kglr
Aug 14 at 8:11
@kglr DumpSave will only hide the internal corruption temporarily. The bug is still there and will no doubt surface in a nastier way later.
â Szabolcs
Aug 14 at 10:06
@Szabolcs, right; I didn't mean to suggest DumpSave/Get as a fix; just as an alternative to Export/Import.
â kglr
Aug 14 at 19:49
if you comment out
VertexLabels -> ...,
part or change it to VertexLabels -> "Name"
it works fine.â kglr
Aug 14 at 8:04
if you comment out
VertexLabels -> ...,
part or change it to VertexLabels -> "Name"
it works fine.â kglr
Aug 14 at 8:04
see also DumpSave and Get, e.g.
DumpSave["graphList.mx", obtainBranchGraphList]
and Get["graphList.mx"]
â kglr
Aug 14 at 8:11
see also DumpSave and Get, e.g.
DumpSave["graphList.mx", obtainBranchGraphList]
and Get["graphList.mx"]
â kglr
Aug 14 at 8:11
@kglr DumpSave will only hide the internal corruption temporarily. The bug is still there and will no doubt surface in a nastier way later.
â Szabolcs
Aug 14 at 10:06
@kglr DumpSave will only hide the internal corruption temporarily. The bug is still there and will no doubt surface in a nastier way later.
â Szabolcs
Aug 14 at 10:06
@Szabolcs, right; I didn't mean to suggest DumpSave/Get as a fix; just as an alternative to Export/Import.
â kglr
Aug 14 at 19:49
@Szabolcs, right; I didn't mean to suggest DumpSave/Get as a fix; just as an alternative to Export/Import.
â kglr
Aug 14 at 19:49
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
11
down vote
This is, sadly, due to some long-standing bugs in Mathematica that I have reported multiple times, but Wolfram fails to take seriously. I don't understand how they can seriously keep marketing Mathematica for graph/network analysis for as long as even basic things don't work.
Here's what happens, in short:
There are several operations (such as VertexDelete
, EdgeDelete
, etc.) which will corrupt the internal structure of the graph whenever properties are present. Properties can be something as harmless looking as vertex labels.
Graph
is an atomic object, and it is not represented internally through its InputForm
. However, when you export it (as well as in several other situations) it does need to be converted to input form. When you re-import it, Mathematica notices that the structure is corrupted and refuses to construct the graph.
I do not know which specific bug (or which function) corrupted your graph. It is likely one of the ones I mentioned (edge/vertex deletions or additions).
However, I can see that vertex labels are assigned to non-existent vertices, such as vertex 8
. You probably VertexDelete
d these, which may have also triggered adding the v -> None
rules to the vertex labels (yet another long-standing bug).
You can recover your graph by deleting the VertexLabels -> ...
bit, e.g. using
DeleteCases[yourImportedGraph, VertexLabels -> _, Infinity]
But once again: this is not your fault, it's due to a set of bugs affecting even the most fundamental operations one would want to do with graphs in Mathematica. So please do complain and report it to Wolfram Support.
Thank you very much for your reply! It makes sense since we used VertexDelete to simplify the network structure. And we succeeded in recovering the original graph using DeleteCases.
â Takashi Miura
Aug 14 at 10:14
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
11
down vote
This is, sadly, due to some long-standing bugs in Mathematica that I have reported multiple times, but Wolfram fails to take seriously. I don't understand how they can seriously keep marketing Mathematica for graph/network analysis for as long as even basic things don't work.
Here's what happens, in short:
There are several operations (such as VertexDelete
, EdgeDelete
, etc.) which will corrupt the internal structure of the graph whenever properties are present. Properties can be something as harmless looking as vertex labels.
Graph
is an atomic object, and it is not represented internally through its InputForm
. However, when you export it (as well as in several other situations) it does need to be converted to input form. When you re-import it, Mathematica notices that the structure is corrupted and refuses to construct the graph.
I do not know which specific bug (or which function) corrupted your graph. It is likely one of the ones I mentioned (edge/vertex deletions or additions).
However, I can see that vertex labels are assigned to non-existent vertices, such as vertex 8
. You probably VertexDelete
d these, which may have also triggered adding the v -> None
rules to the vertex labels (yet another long-standing bug).
You can recover your graph by deleting the VertexLabels -> ...
bit, e.g. using
DeleteCases[yourImportedGraph, VertexLabels -> _, Infinity]
But once again: this is not your fault, it's due to a set of bugs affecting even the most fundamental operations one would want to do with graphs in Mathematica. So please do complain and report it to Wolfram Support.
Thank you very much for your reply! It makes sense since we used VertexDelete to simplify the network structure. And we succeeded in recovering the original graph using DeleteCases.
â Takashi Miura
Aug 14 at 10:14
add a comment |Â
up vote
11
down vote
This is, sadly, due to some long-standing bugs in Mathematica that I have reported multiple times, but Wolfram fails to take seriously. I don't understand how they can seriously keep marketing Mathematica for graph/network analysis for as long as even basic things don't work.
Here's what happens, in short:
There are several operations (such as VertexDelete
, EdgeDelete
, etc.) which will corrupt the internal structure of the graph whenever properties are present. Properties can be something as harmless looking as vertex labels.
Graph
is an atomic object, and it is not represented internally through its InputForm
. However, when you export it (as well as in several other situations) it does need to be converted to input form. When you re-import it, Mathematica notices that the structure is corrupted and refuses to construct the graph.
I do not know which specific bug (or which function) corrupted your graph. It is likely one of the ones I mentioned (edge/vertex deletions or additions).
However, I can see that vertex labels are assigned to non-existent vertices, such as vertex 8
. You probably VertexDelete
d these, which may have also triggered adding the v -> None
rules to the vertex labels (yet another long-standing bug).
You can recover your graph by deleting the VertexLabels -> ...
bit, e.g. using
DeleteCases[yourImportedGraph, VertexLabels -> _, Infinity]
But once again: this is not your fault, it's due to a set of bugs affecting even the most fundamental operations one would want to do with graphs in Mathematica. So please do complain and report it to Wolfram Support.
Thank you very much for your reply! It makes sense since we used VertexDelete to simplify the network structure. And we succeeded in recovering the original graph using DeleteCases.
â Takashi Miura
Aug 14 at 10:14
add a comment |Â
up vote
11
down vote
up vote
11
down vote
This is, sadly, due to some long-standing bugs in Mathematica that I have reported multiple times, but Wolfram fails to take seriously. I don't understand how they can seriously keep marketing Mathematica for graph/network analysis for as long as even basic things don't work.
Here's what happens, in short:
There are several operations (such as VertexDelete
, EdgeDelete
, etc.) which will corrupt the internal structure of the graph whenever properties are present. Properties can be something as harmless looking as vertex labels.
Graph
is an atomic object, and it is not represented internally through its InputForm
. However, when you export it (as well as in several other situations) it does need to be converted to input form. When you re-import it, Mathematica notices that the structure is corrupted and refuses to construct the graph.
I do not know which specific bug (or which function) corrupted your graph. It is likely one of the ones I mentioned (edge/vertex deletions or additions).
However, I can see that vertex labels are assigned to non-existent vertices, such as vertex 8
. You probably VertexDelete
d these, which may have also triggered adding the v -> None
rules to the vertex labels (yet another long-standing bug).
You can recover your graph by deleting the VertexLabels -> ...
bit, e.g. using
DeleteCases[yourImportedGraph, VertexLabels -> _, Infinity]
But once again: this is not your fault, it's due to a set of bugs affecting even the most fundamental operations one would want to do with graphs in Mathematica. So please do complain and report it to Wolfram Support.
This is, sadly, due to some long-standing bugs in Mathematica that I have reported multiple times, but Wolfram fails to take seriously. I don't understand how they can seriously keep marketing Mathematica for graph/network analysis for as long as even basic things don't work.
Here's what happens, in short:
There are several operations (such as VertexDelete
, EdgeDelete
, etc.) which will corrupt the internal structure of the graph whenever properties are present. Properties can be something as harmless looking as vertex labels.
Graph
is an atomic object, and it is not represented internally through its InputForm
. However, when you export it (as well as in several other situations) it does need to be converted to input form. When you re-import it, Mathematica notices that the structure is corrupted and refuses to construct the graph.
I do not know which specific bug (or which function) corrupted your graph. It is likely one of the ones I mentioned (edge/vertex deletions or additions).
However, I can see that vertex labels are assigned to non-existent vertices, such as vertex 8
. You probably VertexDelete
d these, which may have also triggered adding the v -> None
rules to the vertex labels (yet another long-standing bug).
You can recover your graph by deleting the VertexLabels -> ...
bit, e.g. using
DeleteCases[yourImportedGraph, VertexLabels -> _, Infinity]
But once again: this is not your fault, it's due to a set of bugs affecting even the most fundamental operations one would want to do with graphs in Mathematica. So please do complain and report it to Wolfram Support.
edited Aug 14 at 10:57
answered Aug 14 at 10:05
Szabolcs
152k12415896
152k12415896
Thank you very much for your reply! It makes sense since we used VertexDelete to simplify the network structure. And we succeeded in recovering the original graph using DeleteCases.
â Takashi Miura
Aug 14 at 10:14
add a comment |Â
Thank you very much for your reply! It makes sense since we used VertexDelete to simplify the network structure. And we succeeded in recovering the original graph using DeleteCases.
â Takashi Miura
Aug 14 at 10:14
Thank you very much for your reply! It makes sense since we used VertexDelete to simplify the network structure. And we succeeded in recovering the original graph using DeleteCases.
â Takashi Miura
Aug 14 at 10:14
Thank you very much for your reply! It makes sense since we used VertexDelete to simplify the network structure. And we succeeded in recovering the original graph using DeleteCases.
â Takashi Miura
Aug 14 at 10:14
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f179988%2fexporting-graph-object-for-later-use%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
if you comment out
VertexLabels -> ...,
part or change it toVertexLabels -> "Name"
it works fine.â kglr
Aug 14 at 8:04
see also DumpSave and Get, e.g.
DumpSave["graphList.mx", obtainBranchGraphList]
andGet["graphList.mx"]
â kglr
Aug 14 at 8:11
@kglr DumpSave will only hide the internal corruption temporarily. The bug is still there and will no doubt surface in a nastier way later.
â Szabolcs
Aug 14 at 10:06
@Szabolcs, right; I didn't mean to suggest DumpSave/Get as a fix; just as an alternative to Export/Import.
â kglr
Aug 14 at 19:49