Software: Difference between revisions

From BanghamLab
Jump to navigation Jump to search
(Fixing the formatting.)
 
(45 intermediate revisions by 4 users not shown)
Line 35: Line 35:
[[GFtbox Example pages|'''''Examples''''': from publications]]<br><br>
[[GFtbox Example pages|'''''Examples''''': from publications]]<br><br>


[https://sourceforge.net/p/gftbox/ <span style="color: Gray">'''''Download GFTbox''''' from SourceForge</span>]<br><br>
[https://github.com/JIC-Enrico-Coen/GrowthToolbox <span style="color: Gray">'''''Download GFTbox''''' from GitHub</span>]
<span style="color: Gray">'''''Download GFTbox project files:''''' </span><br><br>


[http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/OpenSourceDownload_PLoS_SauretGueto_2013/GPT_Petal_PLoS_20130502.zip <span style="color: Gray">'''''Petals''''' Sauret-Güeto et al 2013</span>]<br><br>
[https://github.com/JIC-Enrico-Coen <span style="color: Gray">'''''Download GFTbox models''''' from GitHub</span>]<br><br>
 
|}
[http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/OpenSourceDownload_Science_Paper_2012/GPT_ArabidopsisLeafModel_20120207.zip <span style="color: Gray">'''''Leaves''''' Kuchen et al 2012</span>]<br><br>
 
[http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/OpenSourceDownload_PLoS_Kennaway_2011/Kennaway-etal-2011.zip <span style="color: Gray">'''''Principles and concepts''''' Kennaway et al 2011</span>]<br><br>
 
[http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/OpenSourceDownload_PLoS_Green_2011/Green-etal-2010.zip <span style="color: Gray">'''''Snapdragon''''' Green et al 2011, Cui et al 2010</span>]<br><br>
 
|width="50%"| <span style="color:#AF002A;"> ''GFtbox'' is an implementation of the Growing Polarised Tissue Framework (GPT-framework) for understanding and modelling the relationship between gene activity and the growth of shapes such leaves, flowers and animal embryos ([http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.1002071 Kennaway et al 2011]). </span><br><br>
 
<span style="color:#AF002A;">The GPT-framework was used to capture an understanding of (to model) the growing petal ([http://www.plosbiology.org/article/info%3Adoi%2F10.1371%2Fjournal.pbio.1001550 Sauret-Güeto et al 2013]), leaf ([http://www.sciencemag.org/content/335/6072/1092.abstract Kuchen et al 2012]) and Snapdragon flower [http://www.plosbiology.org/article/info%3Adoi%2F10.1371%2Fjournal.pbio.1000537 Green et al 2011]. The Snapdragon model was validated by comparing the results with other mutant and transgenic flowers [http://www.plosbiology.org/article/info%3Adoi%2F10.1371%2Fjournal.pbio.1000538 Cui et al 2010.]</span><br><br>


The key point is how '''outgrowths can be specified by genes'''. The icon shows an asymmetrical outgrowth. Conceptually, it is specifed by two independent patterns under genetic control: a pattern of growth and a pattern of organisers. The outgrowth arises from a region of extra overall growth. Growth is aligned along axes set by two interacting systems. Organisers at the ends of the mesh create a lengthwise gradient. This gradient interacts with the second due to putative organisers that generate polariser sinks in the region that becomes the tips of the palette outgrowth. ([http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.1002071 Kennaway et al 2011]). These hypotheses need to be tested in biological systems.
|}


==<span style="color:DarkGreen;">Viewing and measuring volume images: '''VolViewer'''==
==<span style="color:DarkGreen;">Viewing and measuring volume images: '''VolViewer'''==
Line 99: Line 87:
==<span style="color:Chocolate;">MSERs, extrema, connected-set filters and sieves==
==<span style="color:Chocolate;">MSERs, extrema, connected-set filters and sieves==
====<span style="color:Chocolate;">The algorithm finding MSER's starts with a connected-set opening or 'o' sieve</span>====
====<span style="color:Chocolate;">The algorithm finding MSER's starts with a connected-set opening or 'o' sieve</span>====
[[Comparison of Matlab MSER's and 'o' sieve|Comparison of Matlab MSER's and 'o' sieve]] Essentially, no difference.
{| border="0" cellpadding="5" cellspacing="5"
{| border="0" cellpadding="5" cellspacing="5"
|- valign="top"
|- valign="top"
Line 105: Line 94:
|}
|}


===<span style="color: #C364C5;">For finding features in and segmenting images. </span>===
===<span style="color: #C364C5;">Finding interest points, features and segmenting images. </span>===
[[MSER and Sieve Details|<span style="color:Chocolate;">'''What? How? Where?'''</span>]] <span style="color: #C364C5;"><- <- <- Start here for setting the context <- <-<br><br>
#[[MSER and Sieve Details|<span style="color:Chocolate;">'''Technical briefing'''</span>]] <span style="color: #C364C5;">MSER's incorporate 'o' sieves.
[[MSER's and Connected sets|<span style="color:Chocolate;">'''''Tutorials''''': from the beginning</span>]]<br>
#[[MSER's and Connected sets|<span style="color:Chocolate;">'''The twist''': from restricted median filters to sieves and MSER's</span>]]
 
#One dimensional sieves (measure length)
##[[Types of 1D sieve|Types of 1D sieve]]
##[[First applied to hydrophobicity plots|First applied to hydrophobicity plots]] but lets exploit their idempotency.
#Two dimensional sieves (measure areas)
##Properties
##Relation to MSER's
#Three dimensional sieves (measure volumes)
##[[Segment by volume|Segment by volume]] instant gratification.
<!--[[siv Download|<span style="color: Gray">'''''Download''''' </span>]]<br><br>-->
<!--[[siv Download|<span style="color: Gray">'''''Download''''' </span>]]<br><br>-->


<!-- [[Software#MSERs extrema connected-set filters and sieves|<span style="color:Green;">'''MORE'''</span>]] -->
<!-- [[Software#MSERs extrema connected-set filters and sieves|<span style="color:Green;">'''MORE'''</span>]] -->
[[Details_on_hydrophobicity_plots | <span style="color:#C364C5;">'''Jump directly to the first application of the data-sieve as reviewed by Fasman here ...'''</span>]]
[[Image:hydrophobicity_plots_Fasman.jpg|700px]]<br><br>
From Fasman and Gilbert "The prediction of transmembrane protein sequences and their conformation: an evaluation" in Trends in Biochemistry 15 pp 89:91
Left: Running mean (c.f Gaussian): <span style="color:#C364C5;">no good</span>, Right: Median based Data-sieve: <span style="color:#C364C5;">much better</span><br><br>


===<span style="color:Chocolate;">Art, extrema of light and shade: '''''PhotoArtMaster'''''===
===<span style="color:Chocolate;">Art, extrema of light and shade: '''''PhotoArtMaster'''''===
Line 139: Line 131:


====The final version of the Windows ArtMaster2.0 [http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/OpenSource_ArtMaster/ArtMaster2.0Release.zip <span style="color: #B31B1B">'''''is downloadable here'''''</span>]  with no support.====
====The final version of the Windows ArtMaster2.0 [http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/OpenSource_ArtMaster/ArtMaster2.0Release.zip <span style="color: #B31B1B">'''''is downloadable here'''''</span>]  with no support.====
Unzip into (for example) the "Program Files" directory then set your system environment to include: ''C:\Program Files\Pam2.0 Release\jre\bin;C:\Program Files\Pam2.0 Release\bin;'' (You may need help for this. I right clicked 'computer' from the 'Start' menu, then selected 'Advanced system settings', then 'Environment Variables' and finally slid through the System variables until I found and selected 'Path'. This allowed me to edit the path by adding ';C:\Program Files\Pam2.0 Release\jre\bin;C:\Program Files\Pam2.0 Release\bin' to the end). Some sort of help using the software is available in [http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/SieveWebPages/a4a_2_screensize.pdf <span style="color: Chocolate">''''this essay''''' </span>].<br><br>
Unzip into (for example) the "Program Files" directory then set your system environment to include: ''C:\Program Files\Pam2.0 Release\jre\bin;C:\Program Files\Pam2.0 Release\bin;'' (You may need help for this. I right clicked 'computer' from the 'Start' menu, then selected 'Advanced system settings', then 'Environment Variables' and finally slid through the System variables until I found and selected 'Path'. This allowed me to edit the path by adding ';C:\Program Files\Pam2.0 Release\jre\bin;C:\Program Files\Pam2.0 Release\bin' to the end). Rather detailed help using the software is available in [http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/SieveWebPages/a4a_2_screensize.pdf <span style="color: Chocolate">''''this essay''''' </span>].<br><br>
[http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/SieveWebPages/Art_For_All_a4a_3_web2.pdf <span style="color: Chocolate">'''''The sieve algorithms underpinning PhotoArtMaster software''''' </span>] are described in an extract of the  
[http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/SieveWebPages/Art_For_All_a4a_3_web2.pdf <span style="color: Chocolate">'''''The sieve algorithms underpinning PhotoArtMaster software''''' </span>] are described in an extract of the  
[http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/SieveWebPages/a4a_2_screensize.pdf <span style="color: Chocolate">''''essay''''' </span>]. These documents were written to support our Fo2Pix company. PhotoArtMaster originally  sold >65,000 licences but ill health forced the closure of Fo2Pix.
[http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/SieveWebPages/a4a_2_screensize.pdf <span style="color: Chocolate">''''essay''''' </span>]. These documents were written to support our Fo2Pix company. PhotoArtMaster originally  sold >65,000 licences but ill health forced the closure of Fo2Pix.
Line 163: Line 155:
<br><br>
<br><br>
===1 A===
===1 A===
{| border="0" cellpadding="5" cellspacing="3"
|- valign="top"
|width="300pt"|<wikiflv width="300" height="300" logo="false"  loop="true" background="white">GPT_rd_rk_tentacles_20120417-0004.flv|GPT_rd_rk_tentacles_20120417-0004_First.png</wikiflv> A simple reaction-diffusion system develops a pattern of spots.
|<wikiflv width="300" height="300" logo="false"  loop="true" background="white">GPT_rd_rk_tentacles_20120417-0001.flv|GPT_rd_rk_tentacles_20120417-0004.png</wikiflv>
<br>Two simple growth rules translate the pattern into directed growth. The changing geometry that arises through growth causes the reaction-diffusion patterning to continue to change. These movies were used in a London Science Museum exhibit in association with a video interview with me.
|}


=<span style="color:DarkGreen;">Open source systems to which we have contributed=
=<span style="color:DarkGreen;">Open source systems to which we have contributed=
Line 192: Line 178:


Tool for recursively finding what further functions a function depends on. See [[myDepFun|''Details'']]
Tool for recursively finding what further functions a function depends on. See [[myDepFun|''Details'']]
==<span style="color:DarkGreen;">PIN Point==
{| border="0" cellpadding="5" cellspacing="5"
|- valign="top"
|width="10%"|[[File:PinPoint.jpg]]
|width="40%"|Tool for analysing PIN Signal in cells.
|width="50%"| [http://cmpdartsvr1.cmp.uea.ac.uk/downloads/software/PinPoint.zip <span style="color: Gray">'''''Download''''' </span>]<br><br>
Sample Project
|}


=<span style="color:DarkGreen;">In development</span>=
=<span style="color:DarkGreen;">In development</span>=
Line 204: Line 200:
The icon shows a spherical cell sliced open to show concentric components: cell wall (magenta), plasma-membrane (yellow), cytoplasm (green) and vacuole (yellow). Microtubules (blue) grow in 3D within the cytoplasm.
The icon shows a spherical cell sliced open to show concentric components: cell wall (magenta), plasma-membrane (yellow), cytoplasm (green) and vacuole (yellow). Microtubules (blue) grow in 3D within the cytoplasm.
|}
|}
=<span style="color:Navy;">Historical</span>=
=<span style="color:Navy;">Historical</span>=
==<span style="color:Navy;">Robot arm:  still in production after 30 years (serving local industry)</span>==
==<span style="color:Navy;">Robot arm:  still in production after 30 years (serving local industry)</span>==

Latest revision as of 10:49, 10 December 2021

Current activity: a collaboration with the CoenLab with the aim of understanding how patterns of gene activity in biological organs influence the developing shape. The BanghamLab is focussed on the conceptual underpinning: concepts captured in computational growth models, experimental data visualisation and analysis.

Notes on documenting our software

Notes for Lab members on how to contribute to this Wiki and where to put downloads.
Matlab tip: searching a large data structure for a particular field. Clear the command window. Evaluate the structure to list all the fields, then use the usual control-f search tool on the command window.

Computational biology

Quantitative understanding of growing shapes: GFtbox

We developed GFtbox to allow us to model the growth of complex shapes with the ultimate goal: to understand the relationships between genes, growth and form.

Growth of a flower Example of a growing snapdragon flower and some mutants ( Green et al 2011). Growth is specified by factors (genes) according to the Growing Polarised Tissue Framework. Colours represent putative gene activity, arrows the polariser gradient and spots clones. GPT_Snapdragon_2010_Green_et_al-0002.png</wikiflv>
<imgicon>GPT_thumbnail2.png|120px|GFtbox</imgicon>

For modelling the growth of shapes.

Ready Reference Manual

(PC, Mac, Linux, uses Matlab
no Mathworks toolboxes needed
Matlab 30 day free trial and
student edition)


Ready Reference'for ancillary functions: in interaction function and external functions' Manual

What? How? Where? Background

Tutorials: from the beginning Start here

Examples: from publications

Download GFTbox from GitHub

Download GFTbox models from GitHub


Viewing and measuring volume images: VolViewer

<imgicon>VolViewer-logo.png|120px|VolViewer</imgicon> For viewing and measuring volume images on both normal and stereo screens. Typical images from: confocal microscope and Optical Projection Tomography (OPT) images

What? How? Where?

Tutorials: from the beginning

Download

(Windows, Mac, Linux)

Output from VolViewer has appeared in:

Cell: Online Gallery | Front cover: Handbook of Plant Science | Front cover: The Plant Cell | American Scientist | Royal Microscopical Society: Infocus Magazine | Bundled with the Bioptonic 3001 scanner: Bioptonics Viewer | The Daily Mail | The Guardian newspaper: 3D Fruit fly | Qt Ambassador program | Triffid Nurseries website



VolViewer is used as a stand-alone app. or as a viewport for other systems, e.g. Matlab programs. VolViewer uses OpenGL and Qt to provide a user friendly application to interactively explore and quantify multi-dimensional biological images. It has been successfully used in our lab to explore and quantify confocal microscopy and optical projection tomography images. Written by Jerome Avondo it is open-source and is also compatible with the Open Microscopy Environment (OME) (Chris Allen and Avondo, et. al. OMERO: flexible, model-driven data management for experimental biology Nature Methods 9, 245–253 (2012))
Silique.PNG).

Analysing shapes in 2D and 3D: AAMToolbox

<imgicon>AAMToolbox_logo.jpg|120px|AAMToolbox</imgicon> For analysing populations of shapes and colours within the shapes using principal component analysis.

What? How? Where?

Tutorials: from the beginning

Download revised Nov2012


(PC, Mac, Linux, uses Matlab
no Mathworks toolboxes needed
Matlab 30 day free trial and
student edition)

The AAMToolbox enables the user analyse the shape and colour of collections of similar objects. Originally developed to analyse face shapes for lipreading (Matthews et al. 2002version of pdf), we have used it extensively for analysing the shapes of leaves (Langlade et al 2005.,Bensmihen et al. 2010) and petals (Whibley et al 2006,Feng et al. 2010). The analysis can be applied to art, for example, finding systematic differences between portraits by Rembrandt and Modigliani.

Analysing the shapes of clones: SectorAnalysisToolbox

<imgicon>Sector analysis icon.jpg|120px|SectorAnalysisToolbox</imgicon> For analysing the shapes of marked cell clones.

What? How? Where?

Tutorials: from the beginning

Download

(PC, Mac, Linux, uses Matlab
no Mathworks toolboxes needed
Matlab 30 day free trial and
student edition)

The SectorAnalysisToolbox enables the user analyse the shapes of marked clones in a sheet of tissue.

Algorithms

MSERs, extrema, connected-set filters and sieves

The algorithm finding MSER's starts with a connected-set opening or 'o' sieve

Comparison of Matlab MSER's and 'o' sieve Essentially, no difference.

MSERs Cameraman image. Superimposed red spots are maximal extrema and blue spots are minima. Irregular cyan, blue and yellow regions illustrate regions associated with maxima and the magenta region is a minimum. MSERs over scale-space
Isometric view of the cameraman image with superimposed maxima (red) and minima (blue). The trees trace the maxima through increasing scale-space. Large spots have been identified as stable extrema.

Finding interest points, features and segmenting images.

  1. Technical briefing MSER's incorporate 'o' sieves.
  2. The twist: from restricted median filters to sieves and MSER's
  3. One dimensional sieves (measure length)
    1. Types of 1D sieve
    2. First applied to hydrophobicity plots but lets exploit their idempotency.
  4. Two dimensional sieves (measure areas)
    1. Properties
    2. Relation to MSER's
  5. Three dimensional sieves (measure volumes)
    1. Segment by volume instant gratification.


Art, extrema of light and shade: PhotoArtMaster

Art created using ArtMaster, and ArtMaster itself was featured in an exhibit at the London Victoria and Albert (V&A) Museum exhibition 'Cheating? How to make Perfect Work of Art' (2003). The exhibition centered on the idea of Hockney's that advances in realism and accuracy in the history of Western art since the Renaissance were primarily the result of optical aids such as the camera obscura, camera lucida, and curved mirrors. My exhibit used a touch screen (rare in those days) and ArtMaster to help visitors create 'paintings' from photographs. finding its name. (It is entirely different in principle from the software more recently used by Hockney to paint with an iPad.)

DegasLightAndShade.jpgEmma face Art C.jpg



Illustration of PhotoArtMaster used to find and 'paint' with regions of light and shade crisply segmented from a photograph. Likewise, on the right, edges.

PhotoArtMaster

Saturday 07/06/2014: Inspired Photographer of the Year 2013 Tony Bennett when asked whether his photograph Mists and Reflections had been Photoshopped replied something like
"A digital camera delivers an unemotional raw image of pixels that you have to manipulate to create your photograph" Photographers manipulate as little as possible.
However there is another path one that creates pictures. For this you need another piece of software: PhotoArtMaster (ArtMaster). Professional Photographer said "Forget any comparison whatsoever with the art filters in Photoshop - this software reaches out and enters different stratospheres" Professional Photographer.

Early versions of PhotoArtMaster are still available from Amazon at low prices (I'm not sure where they come from.) [1] . Some help for both the early versions and the latest version can be found in 'this document ).

Links to third party PhotoArtMastered pictures

The final version of the Windows ArtMaster2.0 is downloadable here with no support.

Unzip into (for example) the "Program Files" directory then set your system environment to include: C:\Program Files\Pam2.0 Release\jre\bin;C:\Program Files\Pam2.0 Release\bin; (You may need help for this. I right clicked 'computer' from the 'Start' menu, then selected 'Advanced system settings', then 'Environment Variables' and finally slid through the System variables until I found and selected 'Path'. This allowed me to edit the path by adding ';C:\Program Files\Pam2.0 Release\jre\bin;C:\Program Files\Pam2.0 Release\bin' to the end). Rather detailed help using the software is available in 'this essay .

The sieve algorithms underpinning PhotoArtMaster software are described in an extract of the 'essay . These documents were written to support our Fo2Pix company. PhotoArtMaster originally sold >65,000 licences but ill health forced the closure of Fo2Pix.

Trees 1.jpg



Illustration of PhotoArtMaster used to find and 'paint' with regions of colour crisply segmented from a photograph.


Reaction-diffusion and morphogenesis

Tentacles morphogenesis.png

Illustration of morphogenesis inspired by Turing's paper.

Example using growth toolbox GPT_ReactionDiffusionTentacles_20121211.zip

1 A

Open source systems to which we have contributed

OMERO

<imgicon>OMERO_DIAGRAM.jpg|100px|OMERO</imgicon> For working with the OME image database.

See Details, Download
OMERO Workshop

(Windows, Mac, Linux)

Open Microscopy Environment Remote Objects (OMERO). for visualising, managing, and annotating scientific image data. See also our OMERO Workshop training course we ran in April 2011.

Tools and Utilities

BioformatsConverter

<imgicon>BioformatsConverterZip.png|100px|BioformatsConverter</imgicon> For converting microscope manufacturer proprietary file formats.

See Details

(Windows, Mac, Linux)

This tool allows for the batch conversion of microscope manufacturer proprietary file formats, to the open source OME-TIFF standard. Uses the Bioformats library.

Dependency Checking Tool

Tool for recursively finding what further functions a function depends on. See Details

PIN Point

PinPoint.jpg Tool for analysing PIN Signal in cells. Download

Sample Project

In development

MTtbox

<imgicon>MTtboxA.jpg|100px|BioformatsConverter</imgicon> For modelling the behaviour of microtubules within a cell.

See Details

(Windows, Mac, Linux)

In development. The idea is to be able to model the behaviour of growing microtubules and factors as they react chemically and diffuse within the different cell compartments.

The icon shows a spherical cell sliced open to show concentric components: cell wall (magenta), plasma-membrane (yellow), cytoplasm (green) and vacuole (yellow). Microtubules (blue) grow in 3D within the cytoplasm.

Historical

Robot arm: still in production after 30 years (serving local industry)

2014-06-10 14.22.20 small robot.jpg For teaching production control and interrupt programming.

1983 and we are in a world of Apple II and BBC B computers - the 6502 processor reigns. Particularly good for real-time control it responded very fast to hardware interrupts from, for example, the timer. To illustrate timer interrupts what better than digital servo-motors? Set up the on-board timers to produce a stream of 'heartbeat' of pulses, one every 20 ms out of the parallel port and control up to eight motors. Pulse widths, from 1 to 2 ms, control the position of each motor arm. Derek Fulton and I made some loose lab. money by writing a series of articles showing exactly how to build and, in particular, control this robot arm.Bangham et al.. Our copyright, I took it to a local company LJ-Electronics (now LJ-Creative) who incorporated it detail for detail into their product line. Originally, they called it the Emu. Still in production: Lovely outcome.

Historical