Neighbour-Sensing User manual

  Operating details for version 3.7 of the Neighbour-Sensing program

CLICK HERE to download a PDF version of this manual

Starting the program
The program is distributed as part of the 21st Century Guidebook to Fungi self-start CD. Insert the CD into your computer and the Autorun program will initiate your web browser and start the CD, showing you the Contents page. From that point just follow the links on screen to explore the CD and go to the World of Cyberfungi. The Neighbour-Sensing program on this CD will run under Windows from Windows 98 to Windows 7.

If the CD does not self-start, click on your Windows start button, then choose run, and browse to the CD folder Cyberfungi and choose to run AutoRun.exe from within the Cyberfungi folder.

The Neighbour-Sensing program will run very effectively from the CD, BUT you will not be able to save any of your data. This is due to the safety features within Internet browsers that bar browser access to your machine’s resources. Because we are using a website structure to navigate the CD, we fall foul of this feature.

Important
Internet browsers have protective blocks against any Web page that tries to run active content on your computer. Because we use your browser to navigate the Neighbour-Sensing disk, the Java™ program scripting that the Neighbour-Sensing program depends on will trigger these blocks. So when the program attempts to run you will receive a message prompting you to indicate whether you want to allow it to continue. You may also see an information bar offering information about the block immediately beneath the browser’s address bar. This will happen each time you load the CD. If you are happy to keep on clicking Yes to enable the program to continue, then leave matters as they are.

You could change your browser settings (look for Allow active content from CDs to run on My Computer), but we don’t recommend this as it means making a global change to your security settings and will permit active content from external (possibly malign) Internet sources to run on your computer, too.

Instead of this, we suggest that you copy all the relevant content of the CD to your hard-disk (space required = 160 Mb) as described in the next few paragraphs.

If you want to save your experiments, you can avoid the browser security features by copying the program and other files from the CD to your own computer’s hard disk.

There are two ways to do this: you can do it with your own hands, following the instructions below; or you can use our INSTALL program, and let us do it for you.

If you want to DIY, you'll have to Explore the CD. In the root folder you will find a folder called Cyberfungi. Copy this, intact, to your choice of folder on your hard-disk (space required = 160 Mb) and then create two Desktop shortcuts (select the indicated file then right-click and choose Create shortcut):

If you want to save yourself the effort and sit back while we do it all for you, then just click on the hyperlink immediately below.This calls a standard MS-Windows installer package; if you are asked whether to run or save, choose RUN. If you are asked if you want to allow this program to make changes to your computer answer YES.

The installer will add two shortcuts to your desktop: one will run the Neighbour-Sensing program independently of the Internet browser; the other will run the World of Cyberfungi from your own machine exactly as it runs from the CD.

CLICK HERE TO INSTALL NOW

Be patient; the installer is a large file, which Windows and your anti-virus programs will need to inspect, so the process can take 30 minutes or so even on reasonably speedy systems. Our installation packages install our files in your <C:\Program Files> directory. If you ever want to remove World of Cyberfungi from your hard-disk you can do so using the Uninstall a program option on your system's Control Panel.

Contents

1. The main window

1.1 Start button

1.2 Pause check-box

1.3 Scale magnification scroll bar

1.4 scale bar

1.5 orientation scroll bars and front view button

1.6 repaint button

1.7 viewing window scroll bars

1.8 status report line and current strategy

1.9 Built-in parameter sets

1.10 details… control button

2. Categories of hyphae

2.1 Standard hyphae

2.2 Leading hyphae

2.3 Secondary hyphae

2.4 Branching sensitivity

2.5 Maximum branches

3. Control parameters

3.1 Save and Load parameter sets

3.2 Tropisms tab

3.2.1 Negative autotropism

3.2.2 Secondary long range autotropism

3.2.3 Tertiary long range autotropism

3.2.4 Parallel current parallel tropism

3.2.5 Parallel current positive/negative tropism

3.2.6 Gravitropism

3.2.7 Horizontal plane tropism

3.3 Growth and branching tab

3.4 Branching control

3.4.1 Control by the number of neighbouring tips

3.4.2 Probability of branching

3.4.3 Density field regulates branching

3.4.4 Maximal branch angle

3.4.5 Enable secondary (internal) branching

3.4.6 Probability for the new branch to become leading

3.5 Growth control

3.5.1 Control by the number of neighbouring tips

3.5.2 Growth rate

3.5.3 Growth proportional to hyphal length

3.6 The Neighbourhood window

3.6.1 Specify the radius of the neighbourhood

3.6.2 Create the hyphal density field from Hyphal Tips, and/or Branch points, or All of the mycelium

3.7 Age/length limits window

3.8 Destructor. This implements the idea of removing some hyphae.

3.8.1 Hyphal removing

3.8.2 age and length of a hyphal section

3.8.3 Keep references to the dead branches

3.9 Comments to be saved with the parameter set.

3.10 details… window buttons: Return to simulation

3.10.1 Load parameters and Save parameters

3.10.2 Make this page identical and All identical

3.11 Substrate manager dialogue to define Size, Position and substrate tropisms

4. The menu bar

4.1 File menu

4.1.1 Save mycelia

4.1.2 Save image

4.1.3 Open mycelia file

4.1.4 Write checkpoint to…

4.1.5 Exit program

4.2 Analyse menu

4.2.1 View slice

4.2.2 Measure mycelia

4.3 Show menu

4.3.1 Hyphal tips

4.3.2 Field vectors

4.3.3 Root distance based colors

4.3.4 No colours

4.3.5 Standard front view

4.3.6 Repaint

4.4 Model menu

4.4.1 Restart

4.4.2 Pause (or Continue)

4.4.3 Substrates… opens the Substrate manager to define Size, Position and substrate tropisms

4.4.4 Options opens the model parameter panel to set the model parameters

4.4.5 Robot Activates the animation robot

4.4.6 Help menu

APPENDIX 1: Using more than one processor, Calling FungiMedia_3D.jar from the command line.

1.     The main window

When you first click on the Neighbour-Sensing button on the World of Cyberfungi introductory page the Java™ environment is created (using programs on the CD) and as soon as this is completed you are presented with a button labelled start the application.

Click on this button to start the Neighbour-Sensing program and the main window will appear. This is largely made up of data space (which is three-dimensional, of course), in the centre of which is a red dot representing the first hyphal tip (= fungus spore). The mycelium will grow from this point.

Around the data space are various controls in the form of buttons, scroll bars and menus. The control you might want to use first is the ‘maximise’ button amongst the standard set of three Window controls at top right (minimise-maximise-close). Press ‘maximise’ for the full-screen view.

1.1     At top left of the main Neighbour-Sensing window is the Start button – mouseclick on this to ‘press’ it and the program starts to ‘grow’ a mycelium. When a mycelium is growing the name of this button changes to ‘Start New’.

Why don’t you try that? The program is able to grow mycelia as soon as it starts up. So if you press Start now you can grow a little mycelium that we can use to demonstrate the other controls.  

Note: the program will automatically save data about the mycelium it is simulating, and if you want to do that now then read ahead to the Write checkpoint to option on the File menu (section 4.1.4, below) to direct the save operation to a folder of your choice (we have provided an empty folder called Save_Data you might want to use for this purpose).

As the mycelium grows you will see that some numerical data appear in a status report line on the bottom left of the window frame. These data show you the elapsed time in the simulation, the number of hyphal tips that have been created, the total length of hyphae grown, and the current value of the hyphal growth unit. Note that the time displayed here is program time – the number of iterations of the algorithm – it is not standard time in seconds, so the rate at which this time ‘passes’ depends on the power of your computer and the amount of computation required to display the mycelium being simulated.

1.2     The second most important control for the beginner is the Pause check-box immediately beneath the Start/Start New button.

Mouseclicking the Pause check-box will halt the current simulation; uncheck this box (with another mouseclick) to resume the same simulation. IMPORTANT – to resume a paused experiment, click again on the Pause check-box to remove the check-mark. If you press Start New it will do just that - discard any existing mycelium and start a new mycelium; it will not resume growth of the existing one.

If you are running a simulation now, let it grow to about 300 tips and mouseclick on the Pause check-box, so that you have a smallish mycelium within your data space. We’ll now introduce you to the rest of the controls and here, and throughout this manual, we will list controls starting from the top left of the screen, proceeding to bottom right.

1.3     Alongside the Start/Start New button is the magnification scroll bar (labelled Scale). Mouse-drag (put the cursor on the scroll bar and hold down the left hand mouse key) to take the scroll bar to the right and the magnification is increased. With the scroll bar at the extreme right of the slider you can study the details of interactions of individual hyphal tips. Mouse-drag to the left and magnification decreases. This provides you with a macroscopic view of your simulation. Use the arrow buttons at the ends of the sliders for more precise control over scroll bar movement.

1.4     Notice that as you change the magnification, the scale bar in the top left of the data space automatically adjusts. It always shows 100 units and the length of the scale bar is determined by the magnification scroll bar. These are program length units. They are arbitrary in the sense that they are not standard physical length units, but they are consistent in the sense that they are always the same each time the program runs. Consequently, the scale bar can be used to compare images of different simulations that you may have saved under different magnifications.

1.5     Alongside the pause check-box are two more scroll bars. These are the orientation scroll bars and they enable you to select the viewing angle. Z rotates the simulation around the vertical axis of your screen, X rotates it around the horizontal axis. Notice, that as you rotate the simulation the angles of the current orientation are displayed to the left of the two scroll bars. Again, you can use the arrow buttons at the ends of the sliders for more precise control over scroll bar movement (one degree rotation per click). Note that you can also change the orientation by mouse-dragging across the data space. If you do this, the X and Z angles will update to the final orientation when you release the mouse key. Remember the simulation starts with both X and Z at zero degrees, so you can always reinstate the initial viewing orientation by adjusting the X and Z scroll bars to 0. You can do this by hand if you want to, but the button labelled 0 at top right is the front view button. Pressing this instantly restores X and Z to zero.

1.6     The button labelled R alongside the front view button is the repaint button, which will redraw the simulation screen at the conclusion of a manipulation (this is a fail-safe facility because Java™ sometimes fails to do this automatically).

1.7     The data space is always much larger than the field of view shown on your screen, so you will notice the usual Windows scroll bars at the right-hand and bottom edges of the window. These move your viewing window around the available data space.

1.8     We’ve already mentioned the status report line on the bottom left of the window frame, and to the right of that you’ll notice a drop-down menu box, called current strategy, for fast setting one of the built-in parameter sets.

1.9     At first start-up, the menu contains several simple ready-prepared parameter sets any of which can be selected if the user wants to begin with a known model parameter set. The ready-made parameter sets are <random> (= random growth and random branching); <Boletus> (= branching, but not growth, regulated by the number of neighbouring tips); <Amanita> (= growth regulated by negative autotropism to the density of neighbouring hyphae, and branching regulated by the number of neighbouring tips (not by the density field)); <Tricholoma> (= both autotropic growth response and branching are regulated by the hyphal density field); and <Conus> (= hyphal tips given a gravitropic reaction at 45° to the vertical so the simulation produces cup-shaped tissues), <Cords> (= galvanotropism is turned on, and results in aggregation of hyphae into linear structures, similar to fungal cords), and <Standard> (which is a “typical” parameter set, producing realistic fungal colonies and serves as a useful starting point for many experiments). Any alteration made by the user to the parameter sets activates the <Modified> entry in this menu.

1.10   The next major control button at the bottom of the main window is labelled details ‘Pressing’ this button raises a set of dialogue boxes tabbed along the top of the window which group together the numerous parameters over which the user has control. Also on the right of this window there are three additional tabs corresponding to three categories of hyphae – this arrangement allows all parameters to be varied for all three hyphal types – and a fourth tab labelled summary which displays a short summary of the coding equivalent to the complete parameter settings, and is useful for documenting the experimental work. You can cut-and-paste from this window to make a summarised record of your parameters sets during your experiments. (Note that you can also access the text-equivalent of your complete parameter sets by using the Save and Load parameter sets buttons which are described below.

Return to top

2.     Categories of hyphae

2.1      standard hyphae are the hyphae that normally start developing when a simulation is started.

2.2     Leading hyphae can emerge from the colony peripheral growth zone (with a probability determined by the user in the parameter set under the tab labelled Growth and Branching) to take on a leading role (in the formation of mycelial cords, for example) and can have a completely different parameter set from other hyphae.

2.3     Secondary hyphae are branches that arise late, far behind the peripheral growth zone, when mature hyphal segments (of either Standard or Leading hyphae) resume branching to in-fill the older parts of the colony. Again, the user can enable secondary branching in the parameter set under the tab labelled Growth and Branching and the fresh secondary hyphal tips can have a completely different parameter set from the other hyphal tips in the mycelium.

2.4     Secondary branching is enabled by altering the sensitivity of the older segments to the regulatory factors that stopped their standard branching when the mycelium first formed. Basically, standard branching is suppressed in parts of the mycelium that are optimally dense (according to the tropism rules set by the user). To enable secondary branching the sensitivity threshold must be set higher using the sensitivity adjustment under the tab labelled “Growth and Branching”. The default setting for this is unity (i.e. no difference in sensitivity), but the user can change this to, say, 2 or 4 (to make branching 2- or 4-times less sensitive to the density field) and secondary branching can then begin. The related control max branches permits the user to decide the number of secondary branches that will be produced.

2.5     It is possible to enter any values for the sensitivity adjustment and max branches (there are no limitations set in the program) BUT BEWARE: these are computationally intensive and high values are really only practicable with multi-processor high performance computers. With a desktop PC we recommend staying in the range 1-5 for sensitivity adjustment, and not exceeding 20 max branches.

Return to top

3.      Control parameters

Along the top of the ‘details…’ window are a series of tabs identifying the control parameter groups. These are detailed below.

3.1     It is possible to Save and Load parameter sets, so you can experiment towards parameter sets of interest to you without losing track of the parameter settings providing you save the parameters at regular intervals. The Save parameters and Load parameters buttons are along the bottom edge of the ‘details…’ window. Pressing either one calls a Windows dialogue in which you can specify the path and file name for the Save or Load function you are carrying out. The parameter sets are saved as .XML files which are treated as text files by Microsoft Word, so if you want to insert the control parameter settings into another document, or print them for reference, then use MS Word to access the XML file. But note that these XML files are working parts of the program, so they are complete – every parameter setting is recorded and every parameter is identified with its program tags. If you only need a non-redundant summary of your parameter settings, then cut-and-paste from the summary tab screen (see above).

3.2     Now let’s return to the six tabs along the top of the ‘details…’ window.  The tab labelled Tropisms gives access to the seven different tropisms that can be assigned to the hyphal tips:

3.2.1     Negative autotropism, based on the hyphal density field (intensity inversely proportional to distance), with a persistence factor that controls the aversion vector, and the opportunity to rotate the tropic sensor around the hyphal axis;

3.2.2     Secondary long range autotropism and, if it is activated, the opportunity to set its impact, the way it attenuates with distance (either directly proportional to the square root of distance or inversely proportional to the square root of distance), and the opportunity to rotate the tropic sensor around the hyphal axis;

3.2.3     Tertiary long range autotropism, which attenuates as rapidly as the negative autotropism but can be given a large impact, so the user has the opportunity to set its impact and to rotate the tropic sensor around the hyphal axis;

3.2.4     Parallel current parallel tropism, which is a galvanotropism (based on an electric field being produced by the hypha which is parallel to the hyphal long axis) which can orient hyphae in parallel arrays (the field is directional, it corresponds with the growth direction of the hypha; any other hyphal tip which responds to this field will turn to grow in the same direction);

3.2.5     Parallel current positive/negative tropism, which is a galvanotropism which can bring hyphae together (= positive) or keep them apart (= negative) on the basis of their response to the intensity of the galvanotropic field: this works very similarly to long range autotropism (but, of course, depends on an assumed electrical field, rather than density of hyphae);

3.2.6     Gravitropism, which orients hyphae relative to the vertical axis of the user’s screen and can be adjusted for angle of response (0-90° positive and negative), sensitivity (range 0 to 1), rotation of the gravitropic sensor around the hyphal axis, and implementation of a root distance dependent gravitropic angle turn. ‘Root distance’ is the distance from the hyphal tip to the initial point from which mycelial development started (the ‘root’); it’s effectively hyphal age, but expressed in a way that the program can more easily measure. Consequently, this feature allows you to set an age-dependent change in gravitropism. So, when the root distance reaches the value you set in start at, the angle of the gravitropic reaction starts changing gradually towards the value you set in till value as the root distance increases towards the value you set in end at. If growth continues and the root distance increases further, the angle of the gravitropic reaction remains equal to the final till value setting.

3.2.7     Horizontal plane tropism provides a way of producing colonies growing in/on a substratum like agar or soil; the user can set the impact (determining how strongly the hyphal tips are limited to the horizontal plane) and the permissible Layer thickness (in standard distance units).

3.3     The tab labelled Growth and branching allows the regulation of these two features to be determined. Remember, the two are independent; growth can be regulated separately, and differently, from branching.

3.4     Under Branching you can control:

3.4.1    Whether branching is controlled by the number of neighbouring tips:

bullet click on the check box to bring this into effect (when this is unchecked branching does not depend on the number of neighbouring tips);
bullet also, decide on the threshold number of tips that permits branching (you will set the size of the neighbourhood in the next dialogue window).
bullet Branching will take place at a randomly-chosen position around the periphery of the hypha if Optimal initial branch orientation is left unchecked. If this box is checked then the position of branch emergence will be calculated to be optimal for the tropic vectors acting on the tip at the time of branching.

3.4.2        By default there is a 100% probability of branching (subject to other rules you may set elsewhere), but you can determine the probability of branching by:

bullet Checking the check box alongside the sentence ‘if the tip can branch …’, and
bullet Entering your probability of branching in the adjacent window.

3.4.3        Checking the Density field regulates branching check box makes branching dependent on the mycelial mass (rather than the number of tips) in the neighbourhood (you will define the meaning of ‘hyphal mass’ in the next dialogue window).

3.4.4        Maximal branch angle obviously allows you to determine the angle of branching by setting its maximum value (the default is 180° which effectively means that any angle is acceptable; user can set this to smaller angles of choice).

3.4.5        Enable secondary (internal) branching, and

3.4.6        Probability for the new branch to become leading have both been described above.

3.5     Under Growth you can determine:

3.5.1    Whether growth is controlled by the number of neighbouring tips:

bullet click on the check box to bring this into effect (when this is unchecked growth does not depend on the tip neighbourhood);
bullet also, decide on the threshold number of tips that permits growth (you will set the size of the neighbourhood in the next dialogue box).

3.5.2    The Growth rate, and

3.5.3    Whether growth rate is proportional to hyphal length; in this case you also need to specify the value of the proportionality coefficient (or accept the suggested value of 0.1) AND the maximum value of the growth rate (suggested value 5: effectively you are setting here the maximum specific growth rate – otherwise the rate will go on increasing as hyphal length increases and could go through the roof!). The effect of this parameter is to make hyphal tips more dispersed around the colony. The way it works is that the set growth rate (default value = 1, but you can change that) is compared with a calculated growth rate derived from ‘hyphal length behind this tip × proportionality coefficient’; the higher value is used as the growth rate for the next branch, providing it does not exceed the set maximum.

3.6     The Neighbourhood window is deceptively simple, but its few controls allow you to establish the nature of the information that the hyphal tips sense and the range over which they sense it. Well, that’s the effect, but we’re dealing with insensate cyberhyphae, so in strict mathematical terms you are actually determining the nature of the information used to calculate the growth vector of, and/or branching capability of, each hyphal tip in the visualisation, and the range over which that information is collected.

3.6.1      Enter a number in the first window to specify (in standard length units) the radius within which tips are considered to be ‘neighbouring’.

3.6.2      Then choose (by checking the check boxes) whether to create the hyphal density field from:

bullet Hyphal Tips, and/or
bullet Branch points, or
bullet All of the mycelium (but note the warning that this last choice makes for slow calculation because it is very demanding of the processor).
bullet If you choose All of the mycelium you get the opportunity to specify the charge unit length which is the length of hyphal segment that generates the same field as a hyphal tip in the alternative ‘hyphal-tip-driven’ mechanism.

3.7     In the Age/length limits window you can decide the conditions under which growth and/or branching will be halted. In each case you check the box to implement the control and then enter a numerical limiting value to:

bullet Stop growing after the tip exceeds X time units
bullet Stop branching after the tip exceeds X time units
bullet Stop growing after the hyphal section length exceeds X standard length units.

Your limiting value will replace the X in the above statements.

3.8     The final regulatory window in this set is reached through the tab labelled Destructor. This implements the idea of removing some hyphae.

3.8.1    If you select the check box Hyphal removing supposed then hyphae will be removed in accordance with the rules you specify in the rest of the window. Removal proceeds in a basipetal direction from the hyphal tip that qualifies for removal to the closest branch point that does not qualify. If this check box is unchecked hyphae are not removed. When the check box is checked, the rest of the options are made available. You can select one of two conditions:

3.8.1.1   Hypha is removed if the density at the tip exceeds a certain threshold value

bullet Check the box to implement
bullet Enter the threshold value in the data window.

3.8.1.2   The second option is that a hyphal section is removed if the number of tips supported by the section is less than the given threshold value

bullet Check the box to implement
bullet Enter the threshold value in the data window.

3.8.2    Hyphal removal must be implemented after some delay, otherwise the initial growth of the mycelium will be jeopardised, so the next two controls establish those limitations:

bullet Minimum and maximum age of a hyphal section
bullet Minimum and maximum length of a hyphal section

Combining these two limitations enables young mycelia to develop and limits removal to hyphal sections that are not supporting the set minimum number of hyphal tips.

3.8.3    Finally, if the check box Keep references to the dead branches is checked, then a hyphal branch which is deemed to be dead (by the criteria set as above) does not contribute to the hyphal density field, but remains on display in the visualisation in a different colour (green for the first ten iterations of the program, then yellow). However, if the box is unchecked then the data is discarded and the dead branches are removed from the visualisation (this option reduces the computational load and may be the option of choice if processor performance is an issue).

3.9     The final tab, Comments, allows the user to make notes about the parameter sets. There is a separate Comments window for each hyphal category, Standard, Leading and Secondary. What you write is up to you, but it will be saved with the parameter set.

3.10   At the bottom of the ‘details…’ window are a set of buttons. If you just want to get back to see what your new parameter set does to the cybermycelium, then simple ‘press’ Return to simulation.

3.10.1  The buttons Load parameters and Save parameters do just what their names imply. ‘Pressing’ them brings up a file management dialogue in which you can specify file name and path, and were described above.

3.10.2  The other two buttons save you the chore of copying over parameters between the different categories of hyphae. If you make a change to one hyphal category (say, Standard hyphae) and want it to apply to the other two, then ‘press’ Make this page identical and all your most recent changes will propagate to the other two hyphal categories. In this case only your most recent changes will be copied over; if you’ve not changed parameters in which the categories differ, then these differences will remain unchanged. On the other hand if you want to make all three option sets identical to the current set then ‘press’ All identical and all parameter values for the currently active hyphal category will be copied into the other two categories. In this case any parameter values that previously differed between the hyphal options will be over-written to match the currently active category even if you’ve not been working on them recently.

3.11   Now ‘press’ Return to simulation to get back to the main view screen so that we can mention the final button on that screen – at the bottom right hand corner. The control button labelled Substrates opens a (Substrate manager) dialogue that allows the user to add substrates (to which hyphae will have a positive tropism) or inhibitors (negative tropism).  User can select substrate size, position and attractiveness. It is important to remember to ‘press’ the Add new button after selecting the characteristics for a new substrate/inhibitor. A list of all currently placed substrates/inhibitors is maintained in the lower part of this window. Any one of the list can be selected at any time and modified; modifications are put into effect by ‘pressing’ the Change selected button. The button labelled Remove all substrates will clear all settings. Single items can be used by selecting with the cursor and ‘pressing’ Change selected.  Any number (and any combination) of substrates or inhibitors can be added or removed at any time during a simulation. Just pause your simulation (click on the pause checkbox) and make the changes; then un-pause (click again on the pause checkbox) to resume the simulation. More information on the Substrates manager is in section 4.4.3.

Return to top

4.      The menu bar

The menu bar along the top of the main view screen has the following menus and submenus:

4.1       File menu

4.1.1    Save mycelia Store information about all model parameters, the state of the current mycelium and any currently existing substrates into an XML file. Choosing this option brings up a file save dialogue for you to specify the path and filename for the save operation. The string “.mycelia.” will be added to your chosen filename to enable the program to identify this as a mycelia file. This is a highly effective way to store simulations. The file can be later reloaded (using the Open mycelia file option) for continuation or further manipulation. The XML file will generally be much smaller than an image file, but contains all the information the Neighbour-Sensing program needs to recreate an image. All these save operations can save data to a folder of your choice, but we have provided an empty folder called Save_Data you might want to use for this purpose.

4.1.2    Save image Save the current view of the current mycelium as a graphic file in .JPG format. Choosing this option brings up a file save dialogue for you to specify the path and filename for the save operation, but the dialogue box contains additional check boxes allowing you to save simultaneously (and with matching file names) the additional information about the parameter set (as plain TXT and/or XML) and an XML mycelia file.

4.1.3    Open mycelia file Open (an XML) mycelia file that was previously created by Save mycelia or Save image commands, or as automated checkpoint. Choosing this option brings up a file open dialogue which you can direct to the appropriate path so that the program can find a mycelia file (the filename of which will terminate in “…xxx.mycelia.xml”).

4.1.4    Write checkpoint to This option activates/inactivates automated mycelia saving after each model iteration. The mycelia files which are stored as a consequence of activating this function can be used subsequently for animations or statistical analysis. Activate the option with a mouse click; you will be prompted for the folder where to store the checkpoint files. Completion of this operation will insert a check-mark (‘tick’) on this option on the file menu. Subsequently, you can deactivate the save option with a second mouseclick.

4.1.5    Exit program Quits the program and returns you to the Windows desktop.

4.2       Analyse menu

The Analyse menu turns on two additional modes (slice view and mycelia measurement). These two modes will be discussed separately immediately below. The Return to initial view option on this menu returns you to the main simulation mode.

4.2.1    Choose View slice from the Analyse menu and the main panel will be replaced by the mycelia slice panel which offers the following options:

4.2.1.1   Slice thickness scroll bar to set the thickness of the slice.

4.2.1.2   Save image button to save the slice (not the whole mycelium) as a graphic image.

4.2.1.3   Return button to cancel the slice mode and return to the main mode.

The main part of this panel will show the mycelium slice, including a scale bar as well as a scale bar indicating the slice thickness. Mouse dragging in this view changes the viewing angle.

4.3.1.4   At the bottom of the panel is the Slice plane scroll bar, which changes the position of the slice plane.

4.3.1.5   The three buttons (X, Y and Z) in the bottom right hand corner change the orientation of the slice plane.

4.2.2    Choose Measure mycelia from the Analyse menu and the main panel will be replaced by the mycelia measurement panel which allows you to collect data describing the statistical and macroscopic properties of the growing colony in your simulation. The panel consists of three separate tabs:

4.2.2.1   The Distributions tab allows selection of the property being measured and shows the statistical distribution of its value in the mycelium components. This tab contains the following options:

4.2.2.2   Disable measurements checkbox, if selected this suspends all measurements but not the simulation.

4.2.2.3   Measure only terminal sections checkbox, when selected, forces measurement of terminal sections only (that is, sections ending in a growing hyphal tip). If this option is not selected, all sections of mycelia are measured.

4.2.2.4   Return button closes the measurement panel (the measurement continues and can be viewed later by returning to this mode).

The statistical distribution histogram shows the statistical distribution of the measurements. The graph is only active for individual properties (like section length) and not for global properties (like colony diameter).

4.2.2.5   The property selection list at the extreme left of the mycelia measurement panel allows you to select the property to be measured. This can be a local property (like segment age) or a global one (like hyphal growth unit).

4.2.2.6   At the bottom of the panel you will see the Intervals input field, which specifies how the data will be grouped into intervals for the distribution histogram.

4.2.2.7   The Max y, Max x and Min x fields specify the boundary values that can be displayed on the graph. All fields can be left empty for the program to make automatic selections.

4.2.2.8   The Save numeric button saves the distribution histogram in numeric format (as a text file). You will be prompted for the file name and path if you press this button.

4.2.2.9   Press the Save image button to save the histogram image as a JPG file. Again, you will be prompted for the file name and path for the save operation.

4.2.2.10 The Measure button updates the histogram view after you make a modification to the input fields.

4.2.2.11 The Time related tab brings up a graphic that shows how the measured property (shown as the Y value and identified at the top of the graph) changes in time (X value). For individual properties like the tip age it displays the averaged value.

4.2.2.12 Min y, Max y, Min x and Max x input fields and the Fixed 0 checkbox specify boundary values that are displayed in the graph. The input fields can be left empty for automated selection.

4.2.2.13 Save numeric stores the graph in numeric format (as a text file). You will be prompted for the file name and path.

4.2.2.14 Save image button saves the graph image as a JPG file.

4.2.2.15 Refresh repaints the graph.

4.2.2.16 The History monitor tab provides a comprehensive view of how the distribution of the measured property changes in time. The vertical dimension of this image represents time (one line per program time unit). The horizontal dimension of the image represents the values of the measured parameter, plotting a point for each measured value. The activate check box turns the history monitor on. The Save image button saves the history image.

4.3       Show menu

This menu allows you to customise your view of the mycelium.

4.3.1     Hyphal tips If this option is activated, the hyphal tips are displayed as tiny coloured points. Their colour indicates the state of the hyphal tip, depending on its history, surroundings and the parameter set of the current model simulation:

Colour

Growth possible?

Branching possible?
Red Yes Yes
Green No Yes
Blue Yes No
Black No No

4.3.2     Field vectors If activated, the field vectors, which are currently sensed by each hyphal tip, are displayed a short coloured lines, emerging from the tip. The number of lines depends on the number of fields currently included in the current model.

4.3.3     Root distance based colors If activated, the colour of a hyphal segment depends on the distance from the point where growth originated (i.e. distance to the root). This distance is computed as the total distance, not just the shortest. This is essentially colour coding on the basis of hyphal age. In this case green represents hyphal segments close to the initial point, and red those which are very far from the initial point This coloring is ‘normalized’ by the program first finding the longest distance in the mycelium and then assigning the colours for each point depending on the percentage distance to the root.

If this option is inactivated, the colour of a hyphal segment depends on the number of branches it supports:

Colour Number of supported branches
Black Over 64
Brown 32-64
Blue 16-31
Green 8-15
Magenta 4-7
Pink 1-3
Red None (apical section)

Additionally, in experiments that include dead, leading or secondary branches the default colouring of normal branches is over-ridden and the colour indicates the state of the hyphal segment:

Colour State
Green Dead section, 9 time units or less after death of the segment
Yellow Dead section more than 9 time units after death of the segment
Blue Leading branch
Red Secondary branch

4.3.4    No colours Hyphae are displayed in black and white. This is intended for illustrations planned for use in printed figures. If the simulation includes secondary hyphae these branches are displayed in grey and the rest of the mycelium will be displayed in black. When you reset a colour choice after using the No colours option you should choose Standard front view to restore the mycelium to its default colours as well as default orientation.

4.3.5    Standard front view Turns the mycelial view angle to the front view.

4.3.6    Repaint Repaints the mycelia (Java™ sometimes fails to do this automatically).

4.4       Model menu 

The Model menu controls the simulation process and model parameters.

4.4.1    Restart restarts the development from the single hyphal tip. This is the menu equivalent of the Start new button and it discards the current simulation.

4.4.2    Pause (or Continue) suspends or resumes the current simulation.

4.4.3     Substrates… opens the Substrate manager panel (referred to above, section 3.11, and detailed below). The Substrate manager panel allows the user to add attractive or inhibitory substrates. It contains the following controls:

4.4.3.1   Return to main window returns to the main simulation window.

4.4.3.2   Size input field specifies the radius of the substrate. The current version supports spherical substrates only. The hyphae can enter inside the substrate (subject to the parameters chosen).

4.4.3.3   Position input fields specify the centre of the spherical substrate, (X, Y and Z co-ordinates), in the same program-conditional units in which the whole mycelium is measured.

4.4.3.4   Negative tropisms (inhibitory substrate) check box indicates that the hyphae will avoid this substrate rather than trying to get closer to it. Inhibitory substrates are shown in red, whilst attractive substrates (that cause positive tropisms) are shown in green.

4.4.3.5    Attractiveness specifies the attractive force of the substrate, in relative units. If the current model supposes that the autotropic field is generated by hyphal tips only, this number indicates how much the field of the substrate is stronger than the field of the single hyphal tip. If the autotropic field is generate by the whole mycelia, this number indicates how much the field of the substrate is stronger than the field of the hyphal section with the length, defined as “charge unit length” in the Neighbourhood section of the model parameters.

4.4.3.6    Remove all substrates removes all substrates from the model.

4.4.3.7    Remove selected removes the substrate(s) you select by highlighting with your mouse.

4.4.3.8    Change selected updates the properties of the selected substrate to the values of the input fields described above.

4.4.3.9    Add new Enables you to add a new substrate with the properties that you specify in the input fields.

The substrate list, which takes up the majority of this panel, shows all substrates currently present in the model simulation. Substrates in this list can be selected with your mouse for modifying and removing. Substrates can be modified at any time during simulations. The substrate information is stored in mycelia.xml files together with other mycelial data.

4.4.4    Options opens the model parameter panel (explained in detail in section 3, above).

4.4.4.1   The parameter panel sets the model parameters. The model supports three hyphal types (standard, leading and secondary). Each group has its separate independent parameter set. In the top right corner it is possible to choose the current parameter group. The last tab in this group (summary) displays a short non-redundant summary of the complete model parameter set. It is used for documenting the work.

4.4.4.2   The model parameters for each hyphal type are also classified into categories (tropisms, growth and branching, neighbourhood, age/length limits, destructor and comments).

4.4.4.3   The button Make this page identical makes the currently visible parameter setting valid for all hyphal types.

4.4.4.4   The button All identical overrides all settings for other hyphal types with settings for the currently selected hyphal type.

4.4.4.5   At the bottom of the panel there are buttons for loading (Load parameters) and storing (Save parameters) the model parameters. The parameters are also automatically stored when saving the whole mycelium in .mycelia.xml files.

4.4.5     Robot Activates the animation robot. Immediately on choosing this option you will be presented with a file management dialogue to choose the folder and filename of the ‘AutoDoc’ robot file in which your manipulations will be recorded (they will be saved as a TXT format file). At the same time, some new control options appear at the bottom of the main window. When you’ve made your choice of path and name of the file in which the manipulations will be logged you will have access to the new controls. The new panel contains controls to alter some model parameters manually and interactively. These alterations can be recorded (in the ‘AutoDoc’ robot file). Later, you can rerun the simulation and replay the automated parameter alterations so that parameters are automatically changed during the new simulation in the same way as they were modified by the operator during the original simulation (when they were recorded). At the start of the replay process you will be prompted for the file name where the original alterations were recorded.

The robot control panel consist of four parameters. Each parameter has a checkbox that activates its scroll bar slider control on the robot control panel. If this box is unchecked, the value for the corresponding parameter will be taken from the model options panel in the usual way and not from the robot panel.

To the right of the checkbox is a short label, naming the parameter and its current value. The value is changed by sliding the scroll bar located adjacent to this text. The control parameters are:

4.4.5.1   Angle The angle of the plagiogravitropic reaction. This parameter only has effect if the gravitropic reaction is supposed in the current model.

4.4.5.2   Autotropism b The long range positive autotropism (used to force hypha to join together).

4.4.5.3   +/- galvanotropism The positive-negative galvanotropism, forcing hyphae to grow at a  right angle (90°) in relation to each other.

4.4.5.4   || galvanotropism The parallel galvanotropism, which forces hyphae to grow in parallel, forming stems and mycelial cords.

4.4.5.5   The checkbox Robot, at the extreme bottom right of the panel, activates the automatic parameter alteration for the replay process. After selecting this checkbox you will be prompted for the file where alterations were previously recorded.

IMPORTANT: you must ensure that the parameter set(s) for the hyphal category(ies) you are attempting to manipulate DO have the appropriate parameters specified and activated. These check boxes on the robot panel only activate manual manipulation. You can twiddle the ‘gravitropic reaction’ scroll bar as much as you like, but if you’ve not activated gravitropism on the details…> Tropisms window for the appropriate hyphal category (Standard, Leading and/or Secondary) then nothing can happen.

[If you just want to give the animation robot a try, we suggest you use the <conus> sample parameter set. This has a 45° gravitropic angle setting in its parameters and usually produces a conical fan of hyphae. You can manipulate the gravitropic angle setting with the scroll bar and change the cone into…well, anything you like, really.]

When you want to repeat the manipulations you just check the check box labelled Robot and you will be presented with a file management dialogue to choose the folder and filename of the robot file containing your manipulations. Once you’ve loaded this file and resumed the visualisation, all of your manipulations will be repeated for you on a timescale of program time units.

But there’s more. Remember that as the replay is proceeding you can pause the visualisation at any time in order to slice it, re-scale it, rotate it, and/or save it. So if you’ve produced a structure of particular interest you can generate all sorts of illustrations of its development. And you can always re-run it again if you later think of something you should have examined at a different scale, or from a different angle.

But there’s even more.  If you have produced a structure of particular interest you will really want a visual record of the parameter changes that generated it. Well, remember that the ‘AutoDoc’ robot file in which your manipulations are recorded is saved as a TXT format file. The data in that file is actually formatted as a table – the first column = time (in program time units) when the alteration was made; second column = angle of gravitropic reaction; third column = level of long-distance autotropic reaction; fourth column = level of parallel galvanotropic reaction; fifth column = +/-  galvanotropic reaction. This text file is tab-delimited and can be imported into graphical programs (like Excel, MathCad, FigP, etc.) as data for generating graphs and charts of the parameter variations to match with your illustrations of the developing visualisation.

…and finally: you can edit the robot file manually with a TEXT editor (like Notepad). So you could manually change the timings of the manipulations, for example; or cut and paste different manipulations together. There’s power in them robot files!

4.4.6    Help menu: This currently provides a list of the program keys for running in console mode.

Return to top

APPENDIX 1: Using more than one processor

Calling FungiMedia_3D.jar from the command line

FungiMedia_3D.jar is a cross platform Java™ application, able to run on any computer supporting Java™ 1.4 or compatible. Depending on the platform and your purpose, you may need to run this file from a command line. On most supercomputers, this is the only way to run the program.

The program itself is called by the following command:

java –jar FungiMedia_3D.jar –f ./taskFile.mycelia.xml –c other keys

The following keys are supported

–f file specifies the task file that is usually prepared to run the program under Windows or other graphic environment.

-c Blocks the programs graphic user interface. The key is mandatory in batch mode where the interaction with the user is not possible. It can also be used to run a prepared task under Windows, which results in faster execution.

-save interval  Specifies the interval, in program time units, for saving the current situation in a standard task file. –save 1 is used to create sets that can be later converted into animations. If this is not planned, it is better to use larger interval values, as saving takes execution time. The default value is 10.

-until  time Specifies the time (in program time units, not the absolute time) to terminate the program. It is used when we wish to limit how long the simulation should continue.

-r file Specifies (if required) the robot file, containing changes of adjustable parameters.

-output folder Specifies the folder where results must be written. By default, results are written to the folder from where the program was started.

-p number_of_processors Specifies the expected number of processors on a multiprocessor computer. It must be equal to or a little larger than the actual number of processors available for use, but too large a value slows the execution. The program cannot use more processors than are specified with this key.

Return to top

Close the window to return to the previous page