Skip to content

Commit e8472fe

Browse files
committed
Merge branch 'master' into renderer-work
2 parents 9e3ba0a + d7c7de2 commit e8472fe

File tree

55 files changed

+1379
-251
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1379
-251
lines changed

.travis.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ os:
88
compiler:
99
- clang
1010
# TODO: gcc chokes on a boost pthread usage, disabling for now.
11-
#- gcc
11+
#- gcc
1212

1313
#matrix:
1414
# exclude:
@@ -32,3 +32,6 @@ install:
3232
# Not running unit tests at the moment, so turn off testing, which will
3333
# hopefully make OS X builds a bit faster
3434
script: cd bin && cmake -DBUILD_TESTING:BOOL=OFF ../src && make -j8
35+
36+
notifications:
37+
slack: sciinstitute:lZnpQQXNd4Io5iGDPQDpJmI1

TODO.md

Lines changed: 50 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,38 @@ User Requests
88

99
+ better network parameter editing
1010
+ maybe a network wizard?
11-
+ show what files are being used, network file name
11+
+ show what files are being used, network file name
1212
+ better network parameter editing
1313

1414
- more example nets
1515
- more documentation, more sample networks (very useful for demonstrating module functionality)
16-
- undo
1716
- must work with clipboard (through Qt support?)
1817
- search modules, networks for keywords
1918

2019
+ see Matlab descriptors at the top of source files as an example
21-
+ when searching for modules, can we have the option of searching within the module text (i.e. search module GUI component names, variable names etc.)
20+
+ when searching for modules, can we have the option of searching within the module text (i.e. search module GUI component names, variable names etc.)
2221

2322
- error reporting should not kill SCIRun
2423

25-
+ For example, if you end up with an empty field in your network, and you have a bounding box displayed for that field, the bounding box calculation asserts that the diagonal is zero and aborts the program, which is bad. Instead, an error should be displayed and the user should be able to change the network to fix the problem.
24+
+ For example, if you end up with an empty field in your network, and you have a bounding box displayed for that field, the bounding box calculation asserts that the diagonal is zero and aborts the program, which is bad. Instead, an error should be displayed and the user should be able to change the network to fix the problem.
2625

2726
- port colors: change intensities, not just colors
2827

29-
+ get updated palette from Nathan
28+
+ get updated palette from Nathan
3029

3130
- standardize field names etc.
3231

33-
+ i.e. interpolation: source -> target, object -> target, source -> object
32+
+ i.e. interpolation: source -> target, object -> target, source -> object
3433

3534
- support for transparent background in images or movies (image library)
3635
- image or movie resolution options (can we generate higher resolution images than displayed?)
37-
- first time use window
38-
- Nifti reader for SCIRun
36+
- first time use window
37+
- Nifti reader for SCIRun
3938
- STL file support
4039
- Add preset location for saving SCIRun network files
4140
- Parser modules need better error reporting
4241
- Actually implement ColorMap2DSemantics module
43-
- list field properties
42+
- list field properties
4443
- if statement module
4544
- SCIRun should be able to read "obj" format meshes
4645
- Simple importer for 1D colormaps
@@ -54,24 +53,24 @@ User Requests
5453
- hover or hot key to expose some module parameters
5554
- side pane to expose some module parameters
5655

57-
+ expose important dataset parameters too (size, dims, data info etc.)
56+
+ expose important dataset parameters too (size, dims, data info etc.)
5857

5958
- easier way to do notes
6059

6160
+ copy notes with modules
6261
+ easy way to edit or clear notes
6362
+ easy way to manipulate note location
64-
+ render text on top of pipes
63+
+ render text on top of pipes
6564

6665
- better graph layout algorithms?
6766

6867
+ look into graphviz, others?
6968
+ line up modules
70-
+ expose-like (OS X)
69+
+ expose-like (OS X)
7170

72-
- Change exponential widget behavior to be more intuitive
71+
- Change exponential widget behavior to be more intuitive
7372
- Add GUI element for indicating result of "Clear Output" button of module CollectMatrices
74-
- Add string port to Read / Write Nrrd
73+
- Add string port to Read / Write Nrrd
7574
- Add support for newer Matlab file format
7675
- Add cylinder to vector glyph types
7776
- ShowMatrix module should detect matrix dimensions
@@ -82,7 +81,7 @@ User Requests
8281
* Networks
8382

8483
- halt network without killing SCIRun
85-
- stop module in network
84+
- stop module in network
8685

8786
* Subnets
8887

@@ -93,22 +92,22 @@ User Requests
9392
- import network into other network
9493

9594
+ choice to import as subnet or register network
96-
+ choice to save subnet as separate file
95+
+ choice to save subnet as separate file
9796

9897
- 'Duplicate' should work on multiply-selected modules
99-
100-
Qt Migration
98+
99+
Qt Migration
101100
============
102101

103102
* Basic GUI Redesign
104103

105104
- Determine overall look and feel.
106-
105+
107106
+ Background color of network editor
108-
+ Placement of main window widgets--match current design at first?
109-
107+
+ Placement of main window widgets--match current design at first?
108+
110109
- Redesigning major parts of the main window.
111-
110+
112111
+ Menu bar
113112
+ Context menus
114113
+ Toolbars
@@ -118,92 +117,92 @@ Qt Migration
118117
+ Module progress indicators
119118
+ Module general settings: port caching, info on ports, general info: available in "drawer" subwidget
120119
+ Tooltips
121-
+ Command window
122-
123-
- CIBC:Documentation:SCIRun:DevTasks:SCIRunGuiFeatureList
120+
+ Command window
124121

125-
* Major Development Milestones
122+
- CIBC:Documentation:SCIRun:DevTasks:SCIRunGuiFeatureList
126123

127-
- All menu options/preferences work
124+
* Major Development Milestones
125+
126+
- All menu options/preferences work
128127
- Can walk through entire SCIRun tutorial!
129-
- At this point, all essential modules should be converted. Can begin converting other individual modules.
128+
- At this point, all essential modules should be converted. Can begin converting other individual modules.
130129

131130
* Core
132131

133132
- Discuss memory model for Matrix/Arrays/etc.
134133
- Move namespace SCIRunAlgo into SCIRun::Algo to remove need for using directives in headers.
135134
- Replace Thread library with Boost.
136-
- Boost threading notes.
135+
- Boost threading notes.
137136

138137
* IO
139138

140139
- is there a way we can display a brief blurb describing file importer and exporter plugin information (i.e. show a short description of the file types supported, file extensions etc.)?
141-
- change file importer and exporter plugin function pointer table to functors
140+
- change file importer and exporter plugin function pointer table to functors
142141

143142
* Dataflow
144143

145-
- Execute all button in network editor: triggers execution even if network is currently executing. Queue (or block?) request for execution until current execution is done.
144+
- Execute all button in network editor: triggers execution even if network is currently executing. Queue (or block?) request for execution until current execution is done.
146145

147146
* Graphics and Visualization
148147

149-
- Be able to select or click on objects in renderer and get information i.e. node index, position etc.
148+
- Be able to select or click on objects in renderer and get information i.e. node index, position etc.
150149

151150
* OpenGL
152151

153-
- move all OpenGL code into Core (and intermediate layer as needed)
152+
- move all OpenGL code into Core (and intermediate layer as needed)
154153

155154
* Externals
156155

157156
- verify that libpng and zlib are still needed, if so, update
158-
- better XML parsing library (libxml2 is overly complex and buggy)
157+
- better XML parsing library (libxml2 is overly complex and buggy)
159158

160159
* Boost
161160

162161
- Boost is an external project in the CMake build
163-
- In case Boost needs to be built outside of SCIRun: Boost build notes
162+
- In case Boost needs to be built outside of SCIRun: Boost build notes
164163

165164
* Build
166165

167-
- merge all generated headers into a single generated header file
166+
- merge all generated headers into a single generated header file
168167

169168
* Testing
170169

171-
- Add regression testing feature to diff numerical output, either through text files or of matrix objects directly.
170+
- Add regression testing feature to diff numerical output, either through text files or of matrix objects directly.
172171

173172
* Core
174173

175-
- Isosurface algorithm is very slow and should be rewritten
174+
- Isosurface algorithm is very slow and should be rewritten
176175

177176
* Error Handling and Exceptions
178177

179178
- SCIRun exceptions could use an overhaul.
180179
- SCIRun assertions could also use an overhaul.
181180
- The same kind of assertions need to be used throughout the code. Currently, we're using:
182-
181+
183182
+ assert from cassert
184183
+ SCIRun's custom ASSERT macros
185-
+ Boost static assert (perhaps it would be best to replace all other asserts with Boost assert utilities?)
184+
+ Boost static assert (perhaps it would be best to replace all other asserts with Boost assert utilities?)
186185

187186
* Modules
188187

189188
- Possible Problem Modules
190-
189+
191190
+ ShowMatrix: this module should be completely rewritten
192191
+ CreateMatrix: bug #327
193192
+ GeneratePointSamplesFromFieldOrWidget: spinner boxes in both tabs are not editable. This is really annoying if one wants to generate a large number of samples.
194193
+ GeneratePointSamplesFromField: The execution pattern for this module should be improved. Also, SCIRun test networks are using GeneratePointSamplesFromFieldOrWidget, so there are no tests for this module.
195-
+ CreateAndEditColorMap: the GUI is not very usable and can be difficult to navigate.
194+
+ CreateAndEditColorMap: the GUI is not very usable and can be difficult to navigate.
196195

197196
- Module Improvements
198-
199-
+ See if it's possible to encapsulate common functionality in Matlab Importer modules in a parent class. Same with Exporter modules.
197+
198+
+ See if it's possible to encapsulate common functionality in Matlab Importer modules in a parent class. Same with Exporter modules.
200199

201200
Known Bugs
202201
==========
203202

204-
* Duplicated modules in networks
203+
* Duplicated modules in networks
205204
* Adjusting current displayed slice in ShowTextureSlices
206-
* Connecting module after disabling and enabling can crash SCIRun
205+
* Connecting module after disabling and enabling can crash SCIRun
207206
* Row indices not displayed for newly created rows in CreateMatrix
208207
* Error reading fields created using older SCIRun versions
209208
* BioTensor crashes on Windows
@@ -234,14 +233,13 @@ Known Bugs
234233
* CreateAndEditColormap SegFault
235234
* Segfault caused by key/button click on widget
236235
* Matlab file text field gets cleared on execute in ExportDatatypesToMatlab
237-
* Transparency not supported in ExtractIsosurface geometry output
236+
* Transparency not supported in ExtractIsosurface geometry output
238237
* RemoveZerosFromMatrix module is broken
239238
* RemoveZeroRowsAndColumns module does not remove zero columns
240239
* GenerateLinearSegments output field has geometry size 0
241240
* CreateAndEditColorMap hangs on execution
242241
* ExtractIsosurface module geometry ignores opacity
243242
* SolveLinearSystem Jacobi method does not converge when used with AddKnownsToLinearSystem
244-
* JoinFields crashes when Merge duplicate elements is selected
245243
* ShowField crashes if attempting to display data value text in a field with no data
246244
* ShowTextureSlices crashes when its output port is used more than once.
247245
* InsertHexVolSheet creates invalid elements
@@ -262,7 +260,7 @@ Resolved Bugs
262260
=============
263261

264262
* SCIRun crashes when you write a movie to a directory where you do not have the permission to.
265-
* libxml2 does not resolve local DTD path
263+
* libxml2 does not resolve local DTD path
266264
* SCIRun module GeneratePlanarElectrode causes SCIRun to crash when loading.
267265
* ShowAndEditCameraWidget UI is broken
268266
* Changing spaces in OS X 10.6.3 logs user out
@@ -274,7 +272,7 @@ Resolved Bugs
274272
* Record movie causes SCIRun to hang
275273
* Memory leaks in BuildFEGridMapping algorithm
276274
* CollectMatrices does not detect new inputs
277-
* Missing parser documentation in CreateFieldData Medium
275+
* Missing parser documentation in CreateFieldData Medium
278276
* String port input does not update parser module expression
279277
* Deleting CreateAndEditColorMap2D from network crashes SCIRun.
280278
* SolveLinearSystem graph does not show the current iteration
@@ -288,5 +286,5 @@ Resolved Bugs
288286
* Closing rendering window crashes X11 in XQuartz 2.7.x
289287
* Crash when displaying text in LatVol (duplicate)
290288
* SparseRowMatrix::put cannot put values in matrix if number of non-zero values 0
291-
* Visualization test networks hang on Ubuntu when executed on startup
292-
* TriSurf mesh get_edges with nodes argument broken
289+
* Visualization test networks hang on Ubuntu when executed on startup
290+
* TriSurf mesh get_edges with nodes argument broken

0 commit comments

Comments
 (0)