Skip to content

Commit 092dedb

Browse files
committed
doc: move history and expand µManager and python sections
* doc/design.rst: add an history section but focus on how the design involved instead of the history of cockpit. Also write why we don't use µManager and why we choose Python. * doc/history.rst: renamed to news.rst, moved the history section to the design chapter, and left only the `include` of the NEWS file. The reason is that the history is not that important. Giving it such a prominent location and with the current text, seems like Micron wants to mark its presence which is counterproductive if we want Microscope to be a community project. * doc/news.rst: renamed from history.rst because now there is only the include to the NEWS file.
1 parent c05805e commit 092dedb

File tree

4 files changed

+58
-43
lines changed

4 files changed

+58
-43
lines changed

doc/design.rst

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. Copyright (C) 2017 David Pinto <david.pinto@bioch.ox.ac.uk>
1+
.. Copyright (C) 2019 David Pinto <david.pinto@bioch.ox.ac.uk>
22
33
Permission is granted to copy, distribute and/or modify this
44
document under the terms of the GNU Free Documentation License,
@@ -13,12 +13,16 @@ Design
1313
Problem
1414
=======
1515

16-
Bespoke microscopes are built in research labs by physicists and
17-
biologists that are often not interested in programming. However,
18-
such microscopes are complex systems that rely on the tight
19-
integration between many components and can only be controlled by
20-
custom software. The end result is in-house software that is both
21-
limited in scope and unusable in other projects.
16+
Research laboratories are constantly developing new microscopes that
17+
are are complex systems that rely on the tight integration between
18+
many components. Instead of focusing on the microscopy, these teams
19+
spend substantial time and effort in software development to control
20+
their new microscopes. Such software is limited to the specific
21+
microscope setup and components and becomes unshareable, difficult to
22+
maintain, or incur ongoing licensing costs. A huge amount of time,
23+
effort, and resources is wasted as scientists in different labs, and
24+
even in the same lab, repeatably implement solutions to the same
25+
problems.
2226

2327

2428
Project aims
@@ -43,16 +47,34 @@ Project aims
4347
Choices
4448
=======
4549

46-
µManager
47-
--------
50+
Why not using µManager
51+
----------------------
4852

49-
Why we didn't choose µManager...
53+
`µManager <https://micro-manager.org/>`_ is an existing open source
54+
software for the control of microscopes. It is written in Java and
55+
based on top of ImageJ, an open source image analysis program.
56+
However, µManager design has issues when controlling more complex
57+
microscopes where devices are spread over multiple computers, with
58+
multiple cameras, and devices are synchronised with TTL signals. In
59+
addition, while Java makes it easier to access ImageJ it makes more
60+
difficult to use the whole of numpy and scipy.
5061

5162
Python
5263
------
5364

54-
Python is extensively used for scientific computing, and is the most
55-
likely language the projects users will be familiar with.
65+
Python has multiple features:
66+
67+
#. it is widely used in the scientific community. This increases the
68+
odds that users of Microscope will be capable to participate in its
69+
development.
70+
71+
#. unlike other widespread languages in the scientific community, it
72+
is a general purpose programming language and not mainly for
73+
numerical or symbolic computation.
74+
75+
#. while Python is not firstly a language for numerical computations,
76+
numpy and scipy are the basis for this. Most algorithms for image
77+
analysis are available in Python.
5678

5779

5880
Use cases
@@ -116,3 +138,13 @@ State machine
116138
Devices do not report back their state which prevents from modelling
117139
Microscope as a state machine. For example, users will change
118140
objectives or move the stage.
141+
142+
History
143+
=======
144+
145+
Development of Python Microscope started at `Oxford Micron Bioimaging
146+
Unit <https://www.micron.ox.ac.uk>`_ to provide remote control of
147+
microscope devices independent of hardware specifics. Locally,
148+
development was guided to support development of a new version of
149+
`cockpit <https://www.micron.ox.ac.uk/software/cockpit/>`_, a
150+
graphical user interface for the control of microscopes.

doc/history.rst

Lines changed: 0 additions & 30 deletions
This file was deleted.

doc/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Python Microscope
2222
installing
2323
hacking
2424
maintaining
25-
history
25+
news
2626
contributors
2727

2828
Indices and tables

doc/news.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.. Copyright (C) 2019 David Pinto <david.pinto@bioch.ox.ac.uk>
2+
3+
Permission is granted to copy, distribute and/or modify this
4+
document under the terms of the GNU Free Documentation License,
5+
Version 1.3 or any later version published by the Free Software
6+
Foundation; with no Invariant Sections, no Front-Cover Texts, and
7+
no Back-Cover Texts. A copy of the license is included in the
8+
section entitled "GNU Free Documentation License".
9+
10+
Version News
11+
************
12+
13+
.. include:: ../NEWS

0 commit comments

Comments
 (0)