This plugin implements energy term for compartmental cells. It is based on “A New Mechanism for Collective Migration in Myxococcus xanthus”, J. Starruß, Th. Bley, L. Søgaard-Andersen and A. Deutsch, Journal of Statistical Physics, DOI: 10.1007/s10955-007-9298-9, (2007). For a “long” compartmental cell composed of many subcells it imposes constraint on curvature of cells. The syntax is slightly complex:
100.0
-50.0
100.0
-50.0
100.0
-50.0
NeighborOrder="1"/>
NeighborOrder="1"/>
NeighborOrder="1"/>
The InternalTypeSpecificParameter tells Curvature Plugin how many neighbors a cell of given type will have. In this case, numbers which make sense are 1 and 2. The middle segment will have 2 connection and head and tail segments will have only one connection with neighboring segmens (subcells). The connections are established dymamically. The way it happens is that during simulation CC3D constantly monitors pixel copies and during pixel copy between two neighboring cells/subcells it checks if those cells are already “connected” using curvature constraint. If they are not, CC3D will check if connection can be made (e.g. Center cells can have up to two connections and Top and Bottom only one connection). Usually establishing connections takes place at the beginning if the simulation and often happens within first Monte Carlo Step (depending on actual initial configuration, of course, but if segments touch each other connections are established almost immediately). The ActivationEnergy parameter is added to overall energy in order to increase the odds of pixel copy which would lead to new connection. Lambda tag/parameter determines “the strength” of curvature constraint. The higher the Lambda the more “stiff” cells will be i.e. they will tend to align along straight line.
Remark: We are working on reoplacing global Player setting with settings which will apply to current instance of the Polayer. Therefore some of the features in this plugin may not work properly. Please let us know about any problems you have with this plugin
This plugin allows users to specify or configure Player settings directly from CC3DML, without s single click. Some users might prefer this way of setting configuring Player. In addition to this if users want to run two different simulations at the same time on the same machine but with different , say, cell colors, then doing it with “regular” Player configuration file might be tricky. The solution is to use PlayerSetting Plugin. The syntax of this plugin is as follows:
NoOutput="true" ClosePlayerAfterSimulationDone="true" />
|
|
because whenever settings are changed from XML script
they are written by default to disk
This seems to be default behavior of most modern applications.
We may implement this feature later
-->
All the keywords in the above CC3DML correspond to an action in the Player.
Project2D sets up the values of the projection on the Player steering bar. Here we set the player to start 2D display in the xz projection with y coordinate set to 50. Borders and contours properties are handled using Border and Contour elements. Specifying cell colors is done using Cell element. VisualControl element allows users to specify zoom factor and screen update and screenshot frequencies. Screen update frequency migh not work properly when using Python script. In this case CompuCell will use whatever screen update frequency was stored in the config file (by default 1). We may also change things such as screen update frequency or screenshot frequency and choose whether or not to close the player after the simulation.
To start Player in the 3D view instead of adding
tag we add section:
The camera settings stored here position 3D camera. The best way to get those settings is to run a simulation, add 2D screenshot using camera button, switch to 3D and position camera (using mouse) however you like and subsequently add another screenshot using camera button, save screenshot descrition file (File->Save Screenshot Description…) and open up in text editor newly saved screenshot description file (with .sdfml extension) and copy camera setting from there into PlayerSettings section. An example of using Player settings is shown in Demos\cellsort_2D\cellsort_2D_PlayerSettings.xml.
Although the set of allowed changes of player settings is fairly small at the moment we believe that the options that users have right now are quite sufficient for configuring the Player from the CC3DML or python level. We will continue adding new options though.
BoundaryPixelTracker Plugin
This plugin allows storing list of boundary pixels for each cell. The syntax is as follows:
1
This plugin is also used by other plugins as a helper module. Example use of this plugin is found in Demos/BoundaryPixelTrackerExample.
GlobalBoundaryPixelTracker
This plugin tracks boundary pixels of all the cells including Medium. It is used in a Boundary Walker algorithm where instead of blindly picking pixel copy candidate we pick it from the set of pixels comprising boundaries of non frozen cells. In situations when lattice is large and there are not that many cells it makes sense to use BoundaryWalker algorithm to limit number of "wrong" pixel picks when perfming pixel copy attempts.
Remark:BoundaryWalkerAlgorithm does not really work with OpenMP versionof CC3D which includes all versions starting with 3.6.0.
Take a look at the following example:
10
10000
5
1
2
BoundaryWalker
Periodic
2
Here we are using BoundaryWalker algorithm (Potts section) and subsequently we list GlobalBoundaryTracker plugin where we set neighbor order to match that in the Potts section. The neighbor order determines how "thick" the overall boundary of cells will be. The higher this number the more pixels will belong to the boundary.
Share with your friends: |