diff --git a/TASKS.txt b/TASKS.txt index 8bfc19ee..153a7098 100644 --- a/TASKS.txt +++ b/TASKS.txt @@ -5,6 +5,15 @@ How to contribute to ``skimage`` ====================================== +.. toctree:: + :hidden: + + gitwash/index + gsoc2011 + coverage_table + cell_profiler + + Developing Open Source is great fun! Join us on the `skimage mailing list `_ and tell us which of the following challenges you'd like to solve. @@ -33,13 +42,10 @@ Implement Algorithms - Convex hulls of objects in a labels matrix (simply adapt current convex hull image code--this one's low hanging fruit). Generalise this solution to also skeletonize objects in a labels matrix. -- :strike:`Histograms of oriented gradients` -- :strike:`Fast radon transform` -- :strike:`Probabilistic Hough transform` Drawing (directly on an ndarray) ```````````````````````````````` -- Wu's algorithm for lines and circles +- Wu's algorithm for circles - Text rendering Infrastructure @@ -54,29 +60,19 @@ modified to work as part of the scikit, others may be lacking in documentation or tests. * :strike:`Connected components` - * :strike:`Grey-level co-occurrence matrices` - * :strike:`Marching squares` * Nadav's bilateral filtering (first compare against CellProfiler's code, based on http://groups.csail.mit.edu/graphics/bilagrid/bilagrid_web.pdf) Also see https://github.com/stefanv/scikits-image/tree/bilateral - * :strike:`2D iso-contour finding (sub-pixel precision) [ask Zach Pincus]` * 2D image warping via thin-plate splines [ask Zach Pincus] Merge code provided by `CellProfiler `_ team ````````````````````````````````````````````````````````````````````````` -* :strike:`Canny filter` (Canny, J., *A Computational Approach To Edge Detection*, - IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986) -* :strike:`Prewitt filter` - convolution with ``[[1,1,1], [0,0,0], [-1,-1,-1]]`` to - detect edges -* :strike:`Sobel filter - convolution with` ``[[1,2,1], [0,0,0], [-1,-2,-1]]`` :strike:`to detect edges` * Roberts filter - convolution with diagonal and anti-diagonal kernels to detect edges * Minimum enclosing circles of objects in a labels matrix -* :strike:`Map-coloring of a labels matrix - assign each label a color so that - all adjacent labels have different colors` -- simply plot with colormap "spectral". -* :strike:`Skeletonize`, spur removal, thinning, thickening, and other morphological - operations on binary images, framework for creating arbitrary morphological - operations using a 3x3 grid. +* spur removal, thinning, thickening, and other morphological operations on + binary images, framework for creating arbitrary morphological operations + using a 3x3 grid. Their SVN repository is read-accessible at @@ -125,6 +121,4 @@ docs * Add examples to the gallery * Write topics for the `user guide `_ -* :strike:`Build docs outside source directory` * Integrate BiBTeX plugin into Sphinx build -* :strike:`Create a kick-ass website` diff --git a/doc/ext/gen_rst.py b/doc/ext/gen_rst.py index 89da260d..de34d4b8 100644 --- a/doc/ext/gen_rst.py +++ b/doc/ext/gen_rst.py @@ -47,6 +47,16 @@ plot_rst_template = """ :lines: %(end_row)s- """ + +toctree_template = """ + +.. toctree:: + :hidden: + + %s + +""" + # The following strings are used when we have several pictures: we use # an html div tag that our CSS uses to turn the lists into horizontal # lists. @@ -144,13 +154,10 @@ def generate_dir_rst(dir, fhindex, example_dir, root_dir, plot_gallery): print 'Skipping this directory' print 80*'_' return - fhindex.write(""" + example_description = file(os.path.join(src_dir, 'README.txt')).read() + fhindex.write("""\n\n%s\n\n""" % example_description) -%s - - -""" % file(os.path.join(src_dir, 'README.txt')).read()) if not os.path.exists(target_dir): os.makedirs(target_dir) @@ -159,20 +166,25 @@ def generate_dir_rst(dir, fhindex, example_dir, root_dir, plot_gallery): if not a.startswith('plot') and a.endswith('.py'): return 'zz' + a return a - for fname in sorted(os.listdir(src_dir), key=sort_key): - if fname.endswith('py'): - generate_file_rst(fname, target_dir, src_dir, plot_gallery) - thumb = os.path.join(dir, 'images', 'thumb', fname[:-3] + '.png') - link_name = os.path.join(dir, fname).replace(os.path.sep, '_') - fhindex.write('.. figure:: %s\n' % thumb) - if link_name.startswith('._'): - link_name = link_name[2:] - fhindex.write(' :figclass: gallery\n') - if dir != '.': - fhindex.write(' :target: ./%s/%s.html\n\n' % (dir, fname[:-3])) - else: - fhindex.write(' :target: ./%s.html\n\n' % link_name[:-3]) - fhindex.write(' :ref:`example_%s`\n\n' % link_name) + + examples = [fname for fname in sorted(os.listdir(src_dir), key=sort_key) + if fname.endswith('py')] + ex_names = [ex[:-3] for ex in examples] # strip '.py' extension + fhindex.write(toctree_template % '\n '.join(ex_names)) + + for fname in examples: + generate_file_rst(fname, target_dir, src_dir, plot_gallery) + thumb = os.path.join(dir, 'images', 'thumb', fname[:-3] + '.png') + link_name = os.path.join(dir, fname).replace(os.path.sep, '_') + fhindex.write('.. figure:: %s\n' % thumb) + if link_name.startswith('._'): + link_name = link_name[2:] + fhindex.write(' :figclass: gallery\n') + if dir != '.': + fhindex.write(' :target: ./%s/%s.html\n\n' % (dir, fname[:-3])) + else: + fhindex.write(' :target: ./%s.html\n\n' % link_name[:-3]) + fhindex.write(' :ref:`example_%s`\n\n' % link_name) fhindex.write(""" .. raw:: html diff --git a/doc/source/index.txt b/doc/source/index.txt index 362d79ab..3c6ff75c 100644 --- a/doc/source/index.txt +++ b/doc/source/index.txt @@ -11,6 +11,19 @@ This SciKit_ is an image processing toolbox for SciPy_. Sections ======== +.. toctree:: + :hidden: + + overview + api + api_changes + install + user_guide + contribute + license + auto_examples/index + + .. list-table:: :class: contentstable