[Scipy-svn] r3917 - in trunk/scipy/ndimage: . src/segment tests
scipy-svn at scipy.org
scipy-svn at scipy.org
Mon Feb 11 20:25:40 EST 2008
Author: chris.burns
Date: 2008-02-11 19:25:33 -0600 (Mon, 11 Feb 2008)
New Revision: 3917
Added:
trunk/scipy/ndimage/tests/slice112.raw
trunk/scipy/ndimage/tests/test_segment.py
Removed:
trunk/scipy/ndimage/src/segment/objectdata.py
trunk/scipy/ndimage/src/segment/tests/
Modified:
trunk/scipy/ndimage/segmenter.py
trunk/scipy/ndimage/setup.py
Log:
Reorg tests for segment module.
Modified: trunk/scipy/ndimage/segmenter.py
===================================================================
--- trunk/scipy/ndimage/segmenter.py 2008-02-11 23:32:11 UTC (rev 3916)
+++ trunk/scipy/ndimage/segmenter.py 2008-02-12 01:25:33 UTC (rev 3917)
@@ -2,13 +2,32 @@
import numpy as N
import scipy.ndimage._segment as S
-# make sure this is local to use as default
-inputname = 'slice112.raw'
+# WARNING: _objstruct data structure mirrors a corresponding data structure
+# in ndImage_Segmenter_structs.h that is built into the _segment.so library.
+# These structs must match!
+_objstruct = N.dtype([('L', 'i'),
+ ('R', 'i'),
+ ('T', 'i'),
+ ('B', 'i'),
+ ('Label', 'i'),
+ ('Area', 'i'),
+ ('cX', 'f'),
+ ('cY', 'f'),
+ ('curveClose', 'i'),
+ ('cXB', 'f'),
+ ('cYB', 'f'),
+ ('bLength', 'f'),
+ ('minRadius', 'f'),
+ ('maxRadius', 'f'),
+ ('aveRadius', 'f'),
+ ('ratio', 'f'),
+ ('compactness', 'f'),
+ ('voxelMean', 'f'),
+ ('voxelVar', 'f'),
+ ('TEM', 'f', 20)]
+ )
-import os
-filename = os.path.join(os.path.split(__file__)[0],inputname)
-
def shen_castan(image, IIRFilter=0.8, scLow=0.3, window=7, lowThreshold=220+2048,
highThreshold=600+2048, dust=16):
"""
@@ -35,7 +54,7 @@
labeledEdges, numberObjects = S.shen_castan_edges(scLow, IIRFilter, window,
lowThreshold, highThreshold, image)
# allocated struct array for edge object measures. for now just the rect bounding box
- ROIList = N.zeros(numberObjects, dtype=S.objstruct)
+ ROIList = N.zeros(numberObjects, dtype=_objstruct)
# return the bounding box for each connected edge
S.get_object_stats(labeledEdges, ROIList)
return labeledEdges, ROIList[ROIList['Area']>dust]
@@ -69,7 +88,7 @@
labeledEdges, numberObjects = S.sobel_edges(sLow, tMode, lowThreshold,
highThreshold, BPHigh, apearture, image)
# allocated struct array for edge object measures. for now just the rect bounding box
- ROIList = N.zeros(numberObjects, dtype=S.objstruct)
+ ROIList = N.zeros(numberObjects, dtype=_objstruct)
# return the bounding box for each connected edge
S.get_object_stats(labeledEdges, ROIList)
# thin (medial axis transform) of the sobel edges as the sobel produces a 'band edge'
@@ -108,7 +127,7 @@
labeledEdges, numberObjects = S.canny_edges(cSigma, cLow, cHigh, tMode, lowThreshold, highThreshold,
BPHigh, apearture, image)
# allocated struct array for edge object measures. for now just the rect bounding box
- ROIList = N.zeros(numberObjects, dtype=S.objstruct)
+ ROIList = N.zeros(numberObjects, dtype=_objstruct)
# return the bounding box for each connected edge
S.get_object_stats(labeledEdges, ROIList)
return labeledEdges, ROIList[ROIList['Area']>dust]
@@ -185,7 +204,7 @@
S.texture_measures(rawImage, labeledEdges, ROIList)
return
-def segment_regions():
+def segment_regions(filename):
"""
sourceImage, labeledMask, ROIList = segment_regions()
@@ -223,7 +242,7 @@
get_texture_measures(sourceImage, labeledMask, ROIList)
return sourceImage, labeledMask, ROIList
-def grow_regions():
+def grow_regions(filename):
"""
regionMask, numberRegions = region_grow()
Inputs - No Input
Modified: trunk/scipy/ndimage/setup.py
===================================================================
--- trunk/scipy/ndimage/setup.py 2008-02-11 23:32:11 UTC (rev 3916)
+++ trunk/scipy/ndimage/setup.py 2008-02-12 01:25:33 UTC (rev 3917)
@@ -20,7 +20,6 @@
depends = ['src/segment/ndImage_Segmenter_structs.h']
)
- #config.add_subpackage('segment')
config.add_data_dir('tests')
config.add_subpackage('register')
Deleted: trunk/scipy/ndimage/src/segment/objectdata.py
===================================================================
--- trunk/scipy/ndimage/src/segment/objectdata.py 2008-02-11 23:32:11 UTC (rev 3916)
+++ trunk/scipy/ndimage/src/segment/objectdata.py 2008-02-12 01:25:33 UTC (rev 3917)
@@ -1,25 +0,0 @@
-
-import numpy as N
-
-objstruct =N.dtype([('L', 'i'),
- ('R', 'i'),
- ('T', 'i'),
- ('B', 'i'),
- ('Label', 'i'),
- ('Area', 'i'),
- ('cX', 'f'),
- ('cY', 'f'),
- ('curveClose', 'i'),
- ('cXB', 'f'),
- ('cYB', 'f'),
- ('bLength', 'f'),
- ('minRadius', 'f'),
- ('maxRadius', 'f'),
- ('aveRadius', 'f'),
- ('ratio', 'f'),
- ('compactness', 'f'),
- ('voxelMean', 'f'),
- ('voxelVar', 'f'),
- ('TEM', 'f', 20)]
- )
-
Copied: trunk/scipy/ndimage/tests/slice112.raw (from rev 3916, trunk/scipy/ndimage/src/segment/tests/slice112.raw)
Copied: trunk/scipy/ndimage/tests/test_segment.py (from rev 3916, trunk/scipy/ndimage/src/segment/tests/test_segment.py)
===================================================================
--- trunk/scipy/ndimage/src/segment/tests/test_segment.py 2008-02-11 23:32:11 UTC (rev 3916)
+++ trunk/scipy/ndimage/tests/test_segment.py 2008-02-12 01:25:33 UTC (rev 3917)
@@ -0,0 +1,29 @@
+
+from scipy.testing import *
+from scipy.ndimage.segmenter import *
+
+inputname = 'slice112.raw'
+
+from os.path import join, dirname
+filename = join(dirname(__file__), inputname)
+
+class TestSegment(TestCase):
+ def test1(self):
+ image = get_slice(filename)
+ sourceImage = image.copy()
+ edges, objects = sobel(image)
+ get_shape_mask(edges, objects)
+ get_voxel_measures(sourceImage, edges, objects)
+ get_texture_measures(sourceImage, edges, objects)
+
+ def test2(self):
+ sourceImage, labeledMask, ROIList = segment_regions(filename)
+
+ def test3(self):
+ regionMask, numberRegions = grow_regions(filename)
+ regionMask.max()
+ #save_slice(regionMask, 'regionMask.raw')
+
+
+if __name__ == "__main__":
+ inittest.main()
More information about the Scipy-svn
mailing list