1 | - BUGS |
---|
2 | |
---|
3 | 1- [DONE] After fitting, the fit panel is not updated with the output values of the fit. |
---|
4 | |
---|
5 | 2- Do this: |
---|
6 | a) load the file line_in_x2_y.txt |
---|
7 | b) fit a straight line, close the Fit Dialog |
---|
8 | c) change the scale using the "Properties" menu to x vs y (linear vs linear) |
---|
9 | You will see an exception that should be fixed. |
---|
10 | |
---|
11 | 3- [DONE] Load the file line_in_x2_y.txt in miniView. Select x^2 and y for the scales. Fit it. |
---|
12 | a) The fit range is wrong, it's not update for the X^2 view. |
---|
13 | b) the fit result is wrong |
---|
14 | c) Even if you update the range, the fit and the plots are wrong. |
---|
15 | |
---|
16 | 4- At the python command prompt, try: |
---|
17 | from sans.guitools.PlotPanel import PlotPanel |
---|
18 | |
---|
19 | You will get an exception: ImportError: No module named fittings |
---|
20 | |
---|
21 | Guitools should not depend on your miniView code. |
---|
22 | |
---|
23 | 5- Each time you open and close the Fit Dialog, a new label "Theory1D" is created in the |
---|
24 | legend. There should always be only one, for the _last_ fit, and the name should be "Fit". |
---|
25 | |
---|
26 | 6- Do this: |
---|
27 | a) Load the file 'line_in_logy_x.txt' |
---|
28 | b) Fit a straight line |
---|
29 | c) The fit shown does not start from the first point and it's not a straight line. |
---|
30 | |
---|
31 | - NOTES that might help for bugs |
---|
32 | 1- Make sure you are fitting the View data, not the underlying data |
---|
33 | 2- Since you are using the log scale from matplotlib, the fit for when one of |
---|
34 | the axis is in log will NOT be a straight line |
---|
35 | 3- Make sure that you are filling the View of the fit result correctly. |
---|
36 | |
---|
37 | |
---|
38 | - NEEDED IMPROVEMENTS |
---|
39 | 1- After loading a new file or changing the scale using the "Properties" menu, remove any previously displayed fit from the graph. |
---|
40 | |
---|
41 | 2- There are additional y scales we need: y, y^2, log(y), 1/y, 1/sqrt(y), log(y * x), log(y * x^2) |
---|
42 | 3- You should change the label according to what the user chose, and not hard-code them. |
---|
43 | For example, in PlotPanel._onEVT_FUNC_PROPERTY, replace |
---|
44 | |
---|
45 | self.graph.xaxis('\\rm{q^{2}} ', 'A^{-2}') |
---|
46 | |
---|
47 | with |
---|
48 | name, units = self.some_plottable.get_xaxis() |
---|
49 | self.graph.xaxis("(%s)^2" % name, "(%s)^2" % units) |
---|
50 | |
---|
51 | That way it still works even if the user is not plotting Intensity versus Q. |
---|
52 | |
---|
53 | 4- In the fit dialog, put the "fit" and "Close" button in the bottom right corner, like in a standard file dialog. |
---|
54 | 5- The layout of the Fit Dialog should be improved. |
---|
55 | 6- The code should be well documented and clean-up (no print statements). |
---|
56 | |
---|