View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0015069ParaView(No Category)public2014-10-24 00:202015-01-02 10:43
ReporterAlan Scott 
Assigned ToBen Boeckel (Kitware) 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version4.2 
Target Version4.3Fixed in Version4.3 
Summary0015069: Color legend marks are crazy.
DescriptionThe color legend marks calculator is crazy. I realize that this is a hard problem, but what we have isn't correct. Here is an example, with two screenshots.

Linux, 4.2.0, local server.

* Load can.exo. Apply.
* Last time step. Color by ACCL.
* The next part is dependent on the size of ParaView - thus, varies. I manually change the color range to be 4000 to 2e8th, and get a minimum and maximum tick mark, and one in the middle. Changing the range to be 4100 to 2e8, I see a minimum and maximum, and 4 in the middle. There is a huge jump here, with font rescaling and everything. It is very disruptive. Please make it transition better.

TagsNo tags attached.
ProjectSandia
Topic Namefiner-linear-scalar-bar-increments
Typeincorrect functionality
Attached Filespng file icon color-legend-dense.png [^] (24,080 bytes) 2014-10-24 00:23


png file icon color-legend-sparse.png [^] (23,358 bytes) 2014-10-24 00:23


png file icon 2014-12-03-113918_1918x1063_scrot.png [^] (262,313 bytes) 2014-12-03 11:40

 Relationships

  Notes
(0033663)
Alan Scott (manager)
2014-10-24 15:01

OK, I think I figured this one out. The problem is in file vtkPVScalarBarActor.cxx, around line 342. If the original algorithm decides there are too many raw tick labels, in a loop, it tries to create fewer of them. It basically tries fewer and fewer of them, until it has a good scale count. This is done by working down a magScale array of constants. The constants are spread way too far apart (or the algorithm itself is lacking). What I did was increase the number of items in this array, and decreased the distance between items. Here is my code that fixed this bug:

  //const double magScale[] = { 1.0, 2.0, 2.5, 4.0, 10.0,
  // 20.0, 25.0, 40.0, 100.0 };
  const double magScale[] = { 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0,
                              15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0 };


By the way, an easy way to test this is to change the state setting/ General/ Color Map Range options to "Clamp and Update Every Timestep".
(0033664)
Alan Scott (manager)
2014-10-24 15:02
edited on: 2014-10-24 15:02

Targeting 4.3, since I provided the fix above.

(0033666)
Alan Scott (manager)
2014-10-24 15:45

Next, we have issues in the same code with log color. I will add to this bug, since it is very close to the same problem, and in the same code. To replicate:

* Load can.exo. Apply.
* Last time step. Color by ACCL.
* Color Editor/ Use Log scale.
* Rescale to Custom Range. Min of 1e7, max of 1e8. There are NO labels! This is wrong! Another example is timestep 0, which as data, but it is very, very small (e-5'ish in size).

The reason this is occurring is in vtkPVScalarBarActor::LogTickMarks(), where it calls LinearTickMarks(), after moving into log space, it insists that only integers be returned. But, some color labels don't have integers only!! I changed the call to be:
ticks = this->LinearTickMarks(logrange, maxTicks, minDigits, false);

This looks much better, however, the tick labels are actually on the wrong ticks and need to be corrected. I will let you guys fix it up, but returning floats looks much better.

As a suggestion, LinearTickMarks should take three options for the last variable - true (I want integers), false (float is OK), and recommended (try to return ints, but I will take anything).
(0033888)
Ben Boeckel (Kitware) (developer)
2014-12-03 11:39

Pushed into stage. It looks to be right with changing the true -> false in LogTickMarks. The labels look to be in the right spot here. Attached is a screenshot showing the labels I see for 1e0 -> 1e6 (to make it easier to see what's going on).
(0033906)
Utkarsh Ayachit (administrator)
2014-12-08 08:04

Topics merged into master (v4.2.0-231-g445a425):
        0015171_camera_front_of_plane_widget
        0015172_automatic_annotations
(VTK) exodus-15127
        fix-log-mark-labels
        fix-osx-fileinfo
        fix_pvscalarabar_warning
        genericio_reader_optimization
        include-missing-header
        linking-with-kits-enabled
(VTK) map-scalars-14943
        pvweb-fix-extract-block-bug
        pvweb-fix-incorrect-filter-name
        qt5-find-components
(0033925)
Alan Scott (manager)
2014-12-10 15:19

The log scale has been implemented, but the linear scale has not. Note that I didn't test the log scale. Pushing back to Todo.
(0033949)
Utkarsh Ayachit (administrator)
2014-12-13 08:45

Topics merged into master (v4.2.0-276-g7d070dc):
        cleaner_multislice_view
        finer-linear-scalar-bar-increments
(VTK) python-calc-15125
        python-view-15122
        simple-streaming-source
        sorting-15130
(0033973)
Alan Scott (manager)
2014-12-15 20:20

Perfect.

Tested master, remote server, Linux.

 Issue History
Date Modified Username Field Change
2014-10-24 00:20 Alan Scott New Issue
2014-10-24 00:21 Alan Scott Product Version => 4.2
2014-10-24 00:23 Alan Scott File Added: color-legend-dense.png
2014-10-24 00:23 Alan Scott File Added: color-legend-sparse.png
2014-10-24 15:01 Alan Scott Note Added: 0033663
2014-10-24 15:02 Alan Scott Note Added: 0033664
2014-10-24 15:02 Alan Scott Target Version => 4.3
2014-10-24 15:02 Alan Scott Note Edited: 0033664
2014-10-24 15:45 Alan Scott Note Added: 0033666
2014-11-14 22:52 Utkarsh Ayachit Target Version 4.3 => 4.4
2014-12-02 08:32 Utkarsh Ayachit Assigned To => Ben Boeckel (Kitware)
2014-12-02 08:32 Utkarsh Ayachit Target Version 4.4 => 4.3
2014-12-03 11:39 Ben Boeckel (Kitware) Topic Name => fix-log-mark-labels
2014-12-03 11:39 Ben Boeckel (Kitware) Note Added: 0033888
2014-12-03 11:39 Ben Boeckel (Kitware) Status backlog => gatekeeper review
2014-12-03 11:39 Ben Boeckel (Kitware) Resolution open => fixed
2014-12-03 11:40 Ben Boeckel (Kitware) File Added: 2014-12-03-113918_1918x1063_scrot.png
2014-12-08 08:03 Utkarsh Ayachit Fixed in Version => git-master
2014-12-08 08:04 Utkarsh Ayachit Status gatekeeper review => customer review
2014-12-08 08:04 Utkarsh Ayachit Note Added: 0033906
2014-12-10 15:19 Alan Scott Note Added: 0033925
2014-12-10 15:19 Alan Scott Status customer review => todo
2014-12-11 15:42 Ben Boeckel (Kitware) Topic Name fix-log-mark-labels => finer-linear-scalar-bar-increments
2014-12-11 15:42 Ben Boeckel (Kitware) Status todo => gatekeeper review
2014-12-13 08:45 Utkarsh Ayachit Status gatekeeper review => customer review
2014-12-13 08:45 Utkarsh Ayachit Note Added: 0033949
2014-12-15 20:20 Alan Scott Note Added: 0033973
2014-12-15 20:20 Alan Scott Status customer review => closed
2015-01-02 10:43 Utkarsh Ayachit Fixed in Version git-master => 4.3


Copyright © 2000 - 2018 MantisBT Team