Last week, I wrote about Interaction Comparison, but the the part about "finding Interactions" in a Pathway was slightly wrong as I misunderstood what interaction is.
Below is what I had written last week :
"When I say Interaction, I mean : A group of DataNodes, Lines (these have start and end points i.e <point> tags with graphRefs) & anchors on the lines interacting in such a way that they are all connected , like in a network, where each of the interacting partners are connected to all the others either directly or indirectly. Here, the interaction must comprise of at least 2 datanodes."
But the actual interaction which we are looking for in the pathways is slightly different as my mentor explained it to me:
For an interaction to exist, there should be a line connecting directly to two Datanodes. We call this line Root-Line. And all the other lines can connect to the root-line either directly or indirectly through anchors. The other lines can have either a Datanode and an Anchor at its ends (or) have Anchors at its both ends or have Datanodes at its ends.
Examples of an interaction:
In the earlier version of Interaction comparison, I wasn't aware of the classes MLine, MPoint, MAnchor and I had written down interaction comparison logic without using these classes. But in the last meeting with my mentor Martina, she guided me through the classes, and this week I reworked the code and now its cleaner and shorter than before.
The algorithm for finding out the interactions (Root-Line and its connected lines and Datanodes) in a Pathway has changed and improved performance-wise:
<the Algorithm to be updated later today>
The Assumptions in the algorithm have changed from the previous version:
1. Only the first and the last graphRefs of a line are used (i.e the start and end-points of a line) to look for referring Anchors.
Screenshot: Comparing 2 pathways (Both DataNode-Comparison results and Interaction-Comparison results are present in the right panel inside their respective tables):
Note:
Below is what I had written last week :
"When I say Interaction, I mean : A group of DataNodes, Lines (these have start and end points i.e <point> tags with graphRefs) & anchors on the lines interacting in such a way that they are all connected , like in a network, where each of the interacting partners are connected to all the others either directly or indirectly. Here, the interaction must comprise of at least 2 datanodes."
But the actual interaction which we are looking for in the pathways is slightly different as my mentor explained it to me:
For an interaction to exist, there should be a line connecting directly to two Datanodes. We call this line Root-Line. And all the other lines can connect to the root-line either directly or indirectly through anchors. The other lines can have either a Datanode and an Anchor at its ends (or) have Anchors at its both ends or have Datanodes at its ends.
Examples of an interaction:
In the earlier version of Interaction comparison, I wasn't aware of the classes MLine, MPoint, MAnchor and I had written down interaction comparison logic without using these classes. But in the last meeting with my mentor Martina, she guided me through the classes, and this week I reworked the code and now its cleaner and shorter than before.
The algorithm for finding out the interactions (Root-Line and its connected lines and Datanodes) in a Pathway has changed and improved performance-wise:
<the Algorithm to be updated later today>
The Assumptions in the algorithm have changed from the previous version:
1. Only the first and the last graphRefs of a line are used (i.e the start and end-points of a line) to look for referring Anchors.
Screenshot: Comparing 2 pathways (Both DataNode-Comparison results and Interaction-Comparison results are present in the right panel inside their respective tables):
Clicking on a result from the Interaction-Comparison results table highlights the corresponding matching interactions in both the pathways. |
Note:
"Highlight All" button currently isn't programmed. And I am yet to figure out a way to focus the scrollers onto to the highlighted interction in a pathway. |
No comments:
Post a Comment