From: Robert F. M. <mu...@cm...> - 2016-12-18 15:48:26
|
Dear Lucian: Thanks for your clarification. We interpreted the rotation definition a third way - 1) Tilt the object to align with the vector from (0,0,0) to (rotateX, rotateY, rotateZ) 2) Rotate the object around that vector by rotateAngleInRadians. Hence you could have the rotateAngleInRadians be zero and still rotate the object. I think our confusion comes from interpreting the comment about the rotation “looking down” the vector. But now that this has been clarified, we can change to match what you said. I do think it would be helpful to clarify the description in the spec, perhaps adding an illustration of the resulting rotation matrix. My comment about the order of operations was about the order of applying the different CSGTransformations. It definitely matters - if you rotate a sphere before you do the scaling, no amount of rotation changes anything. But if you scale first and then rotate you get the desired, different result. So I also think the spec should be clarified to specify the order in which the CSGTransformations are to be applied. I think that it should be clear that the sequence is “bottom up” since the primitive is at the bottom but it would be helpful to say that. Best, Bob ======================= Robert F. Murphy, Ph.D. Ray and Stephanie Lane Professor of Computational Biology and Professor of Biological Sciences, Biomedical Engineering, and Machine Learning Head, Computational Biology Department, School of Computer Science, Carnegie Mellon University 7723 Gates and Hillman Centers, 5000 Forbes Ave., Pittsburgh, PA 15213 Phone: 412-268-3480, FAX: 412-268-2977, email: mu...@cm..., Skype: rfmurphy1953 Personal: Home Page (http://www.andrew.cmu.edu/user/murphy), Twitter @murphy2537 Comp Bio Department: Facebook (cmucbd), Twitter @CMUCompBio Honorary Professor, University of Freiburg and External Senior Fellow, Freiburg Institute for Advanced Studies On Dec 17, 2016, at 5:51 PM, Lucian Smith <luc...@gm...> wrote: The same issue is present with the rotations in these models as was present in the original: when spatial:rotateAngleInRadians="0", this means 'do not rotate at all'. The order doesn't matter. The rotation is supposed to happen like this: 1) Create a vector from (0,0,0) to (rotateX, rotateY, rotateZ). 2) Rotate the figure around that vector by rotateAngleInRadians. It does *not* mean 'rotate the figure around the X axis by rotateX radians, then do the same for the Y and Z axes', which is how I think you have interpreted the construct. -Lucian On Sat, Dec 17, 2016 at 11:09 AM, Ivan E Cao-Berg <ica...@an... <mailto:ica...@an...>> wrote: We generated some example synthetic images in CellOrganizer along with their SBML Spatial representation. You can find the examples here http://cellorganizer.org/SBML/examples/ <http://cellorganizer.org/SBML/examples/> The examples have been checked using the SBML online validator for syntax. > As for the rotation issue, the issue is that we probably specified the operations in the wrong order. What we want to do is start with a sphere, move it from the origin, scale it to an ellipsoid, and then tilt the ellipsoid along the line specific by the x, y, and z rotation axes. You and Jim are correct that the way we wrote it, tilting the sphere along that line doesn’t change anything. I will update the order of transformations in CellOrganizer to reflect this feedback. I hope this examples are helpful to everyone. Ivan Iván E. Cao-Berg Senior Research Programmer Computational Biology Department <http://cbd.cmu.edu/> School of Computer Science <http://www.scs.cmu.edu/> Carnegie Mellon University <http://www.cmu.edu/> <http://www.andrew.cmu.edu/~icaoberg/> <http://cbd.cmu.edu/> <http://www.twitter.com/cmucompbio> <https://www.facebook.com/cmucbd> <https://www.instagram.com/cmucbd/> <https://plus.google.com/+CMUComputationalBiologyDepartmentPittsburgh> <> <https://coderwall.com/icaoberg> <http://www.github.com/icaoberg> <http://www.bitbucket.com/icaoberg> > On Dec 16, 2016, at 2:59 PM, Robert F. Murphy <mu...@cm... <mailto:mu...@cm...>> wrote: > > We have some more examples that we will send shortly. > > As for the rotation issue, the issue is that we probably specified the operations in the wrong order. What we want to do is start with a sphere, move it from the origin, scale it to an ellipsoid, and then tilt the ellipsoid along the line specific by the x, y, and z rotation axes. You and Jim are correct that the way we wrote it, tilting the sphere along that line doesn’t change anything. > > Best, > > Bob > ======================= > Robert F. Murphy, Ph.D. > Ray and Stephanie Lane Professor of Computational Biology and Professor of Biological Sciences, Biomedical Engineering, and Machine Learning > Head, Computational Biology Department, School of Computer Science, Carnegie Mellon University > 7723 Gates and Hillman Centers, 5000 Forbes Ave., Pittsburgh, PA 15213 > Phone: 412-268-3480 <tel:(412)%20268-3480>, FAX: 412-268-2977 <tel:(412)%20268-2977>, email: mu...@cm... <mailto:mu...@cm...>, Skype: rfmurphy1953 > Personal: Home Page (http://www.andrew.cmu.edu/user/murphy <http://www.andrew.cmu.edu/user/murphy>), Twitter @murphy2537 > Comp Bio Department: Facebook (cmucbd), Twitter @CMUCompBio > Honorary Professor, University of Freiburg and External Senior Fellow, Freiburg Institute for Advanced Studies > > > > > On Dec 16, 2016, at 1:54 PM, Lucian Smith <luc...@gm... <mailto:luc...@gm...>> wrote: > > Now that the semantic changes are in, I'm going back over these examples. Thanks again, Bob! > > I do now see what Jim pointed out: in csg_one_object, you have the following rotation: > > <spatial:csgRotation spatial:id="rotation" spatial:rotateX="2.4391" spatial:rotateY="1.5373" spatial:rotateZ="0.58404" spatial:rotateAngleInRadians="0"> > > In the definition of a csgRotation, you'll see that the X, Y, and Z values define a vector, from the origin, *around which* the modeler is to rotate the object, by the amount defined in the rotateAngleInRadians attribute. However, since in this case the rotateAngle is 0, this rotation does not actually modify the CSGObject at all. > > Is this what was intended? It seems unlikely. > > -Lucian > > On Mon, Nov 28, 2016 at 8:38 AM, Robert F. Murphy <mu...@cm... <mailto:mu...@cm...>> wrote: > resending with correct email address for Devin. > > Best, > > Bob > ======================= > Robert F. Murphy, Ph.D. > Ray and Stephanie Lane Professor of Computational Biology and Professor of Biological Sciences, Biomedical Engineering, and Machine Learning > Head, Computational Biology Department, School of Computer Science, Carnegie Mellon University > 7723 Gates and Hillman Centers, 5000 Forbes Ave., Pittsburgh, PA 15213 > Phone: 412-268-3480 <tel:(412)%20268-3480>, FAX: 412-268-2977 <tel:(412)%20268-2977>, email: mu...@cm... <mailto:mu...@cm...>, Skype: rfmurphy1953 > Personal: Home Page (http://www.andrew.cmu.edu/user/murphy <http://www.andrew.cmu.edu/user/murphy>), Twitter @murphy2537 > Comp Bio Department: Facebook (cmucbd), Twitter @CMUCompBio > Honorary Professor, University of Freiburg and External Senior Fellow, Freiburg Institute for Advanced Studies > > > > > On Nov 28, 2016, at 11:34 AM, Robert F. Murphy <mu...@cm... <mailto:mu...@cm...>> wrote: > > attached are some examples we generated with CellOrganizer - they pass the online validator and roundtrip through reading and writing with libSBML. > > however, they can’t be read by VCell 5.3 (build 29). If anyone else has a program that supports SBML spatial, it would be great to see if they can be read by it. > > We will send some more examples soon, including one with mixed geometry. > > Best, > > Bob & Ivan > <SBML spatial samples CellOrganizer.zip> > > ======================= > Robert F. Murphy, Ph.D. > Ray and Stephanie Lane Professor of Computational Biology and Professor of Biological Sciences, Biomedical Engineering, and Machine Learning > Head, Computational Biology Department, School of Computer Science, Carnegie Mellon University > 7723 Gates and Hillman Centers, 5000 Forbes Ave., Pittsburgh, PA 15213 > Phone: 412-268-3480 <tel:(412)%20268-3480>, FAX: 412-268-2977 <tel:(412)%20268-2977>, email: mu...@cm... <mailto:mu...@cm...>, Skype: rfmurphy1953 > Personal: Home Page (http://www.andrew.cmu.edu/user/murphy <http://www.andrew.cmu.edu/user/murphy>), Twitter @murphy2537 > Comp Bio Department: Facebook (cmucbd), Twitter @CMUCompBio > Honorary Professor, University of Freiburg and External Senior Fellow, Freiburg Institute for Advanced Studies > > > > > On Nov 16, 2016, at 4:24 PM, Robert F. Murphy <MURPHY@CMU.EDU <mailto:MU...@cm...>> wrote: > > We have generated a lot of examples using different options and are testing them using the validator and libSBML and vcell. I'm tied up today and tomorrow but will send a report and examples on Friday. > > Best, > > Bob > > Sent from my iPhone > ================ > Robert F. Murphy, Ph.D. > Ray and Stephanie Lane Professor of Computational Biology and Professor of Biological Sciences, Biomedical Engineering, and Machine Learning > Carnegie Mellon University > 5000 Forbes Ave., Pittsburgh, PA 15213; +1.412.268.3480 <tel:(412)%20268-3480> > >> On Nov 16, 2016, at 1:08 PM, Frank T. Bergmann <fbe...@ca... <mailto:fbe...@ca...>> wrote: >> >> Hello Jim, >> >> as far as I'm aware the current libSBML implementation (experimental) >> implements the latest spec. If you find any issues please let me know >> and i will fix it right away. >> >> best >> Frank >> >>> On Wed, Nov 16, 2016 at 9:33 PM, Schaff,Jim <sc...@uc... <mailto:sc...@uc...>> wrote: >>> Hi All, >>> >>> Is it true that libSBML does not support the latest SBML Spatial specification? I know in theory it is orthogonal, but in practice it is essential. >>> >>> Lucian, do you or Frank know how close libSBML is to the latest spec changes? >>> >>> I'd be willing to take a whack at compliance to the latest spec, especially if I don't have to make the libSBML changes. >>> >>> Jim. >>> >>> >>> ________________________________________ >>> From: Lucian Smith <luc...@gm... <mailto:luc...@gm...>> >>> Sent: Wednesday, November 16, 2016 3:07 PM >>> To: The SBML L3 Spatial Processes and Geometries package discussion list >>> Subject: [sbml-spatial] Request: example models >>> >>> Hey, everyone! I have some time to work on the spatial specification >>> again, and it looks pretty close to being finished. At this point, >>> the main thing it needs is some examples that illustrate both the >>> commonly-used aspects of the spec, as well as a few illustrating some >>> of the potentially-confusing edge cases. From there, I think it's >>> mostly simply a matter of making sure at least one group has >>> implemented support for every element in the spec, and it'll be good >>> to go! >>> >>> If anyone has or could put together some simple spatial models that >>> follow the current specification, and could send them my way, I think >>> we can wrap this thing up and call it finished. Thank you! >>> >>> As always, if anyone has any comments on the specification itself, >>> don't hesitate to bring them up. >>> >>> -Lucian >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> sbml-spatial mailing list >>> sbm...@li... <mailto:sbm...@li...> >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforge.net_lists_listinfo_sbml-2Dspatial&d=CwICAg&c=EZxp_D7cDnouwj5YEFHgXuSKoUq2zVQZ_7Fw9yfotck&r=6W0wBewzLZ4dT2ku5JQeMaL3BGQ7J1CI2zO48jPRDC4&m=D71-76AqMfX4FPnO8tmiPyeCvKXXPSbv7fL67OdPOjk&s=zQwyhcdtfpS2YhK0q_zjdryBvhK6vNBFtf_7mAYHpdo&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforge.net_lists_listinfo_sbml-2Dspatial&d=CwICAg&c=EZxp_D7cDnouwj5YEFHgXuSKoUq2zVQZ_7Fw9yfotck&r=6W0wBewzLZ4dT2ku5JQeMaL3BGQ7J1CI2zO48jPRDC4&m=D71-76AqMfX4FPnO8tmiPyeCvKXXPSbv7fL67OdPOjk&s=zQwyhcdtfpS2YhK0q_zjdryBvhK6vNBFtf_7mAYHpdo&e=> >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> sbml-spatial mailing list >>> sbm...@li... <mailto:sbm...@li...> >>> https://lists.sourceforge.net/lists/listinfo/sbml-spatial <https://lists.sourceforge.net/lists/listinfo/sbml-spatial> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> sbml-spatial mailing list >> sbm...@li... <mailto:sbm...@li...> >> https://lists.sourceforge.net/lists/listinfo/sbml-spatial <https://lists.sourceforge.net/lists/listinfo/sbml-spatial> > > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > sbml-spatial mailing list > sbm...@li... <mailto:sbm...@li...> > https://lists.sourceforge.net/lists/listinfo/sbml-spatial <https://lists.sourceforge.net/lists/listinfo/sbml-spatial> > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org <http://slashdot.org/>! http://sdm.link/slashdot_______________________________________________ <http://sdm.link/slashdot_______________________________________________> > sbml-spatial mailing list > sbm...@li... <mailto:sbm...@li...> > https://lists.sourceforge.net/lists/listinfo/sbml-spatial <https://lists.sourceforge.net/lists/listinfo/sbml-spatial> > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot <http://sdm.link/slashdot> _______________________________________________ sbml-spatial mailing list sbm...@li... <mailto:sbm...@li...> https://lists.sourceforge.net/lists/listinfo/sbml-spatial <https://lists.sourceforge.net/lists/listinfo/sbml-spatial> ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot_______________________________________________ sbml-spatial mailing list sbm...@li... https://lists.sourceforge.net/lists/listinfo/sbml-spatial |