@@ -2823,18 +2823,20 @@ bool dlg_FeatureScout::openBlobVisDialog()
28232823 blob = m_blobMap[m_activeClassItem->text ()];
28242824 }
28252825 iAAttributes params;
2826- addAttr (params, " Range:" , iAValueType::Continuous, blob ? blob->GetRange () : m_blobManager->GetRange ());
2827- addAttr (params, " Blob body:" , iAValueType::Boolean, blob ? blob->GetShowBlob () : m_blobManager->GetShowBlob ());
2828- addAttr (params, " Use Depth peeling:" , iAValueType::Boolean, m_blobManager->GetUseDepthPeeling ());
2829- addAttr (params, " Blob opacity [0,1]:" , iAValueType::Continuous, blob ? blob->GetBlobOpacity () : m_blobManager->GetBlobOpacity ());
2830- addAttr (params, " Silhouettes:" , iAValueType::Boolean, blob ? blob->GetSilhouette () : m_blobManager->GetSilhouettes ());
2831- addAttr (params, " Silhouettes opacity [0,1]:" , iAValueType::Continuous, blob ? blob->GetSilhouetteOpacity () : m_blobManager->GetSilhouetteOpacity ());
2832- addAttr (params, " 3D labels:" , iAValueType::Boolean, blob ? blob->GetLabel () : m_blobManager->GetLabeling ());
2833- addAttr (params, " Smart overlapping:" , iAValueType::Boolean, m_blobManager->OverlappingIsEnabled ());
2834- addAttr (params, " Separation distance (if smart overlapping):" , iAValueType::Continuous, m_blobManager->GetOverlapThreshold ());
2835- addAttr (params, " Smooth after smart overlapping:" , iAValueType::Boolean, blob ? blob->GetSmoothing () : m_blobManager->GetSmoothing ());
2836- addAttr (params, " Gaussian blurring of the blob:" , iAValueType::Boolean, m_blobManager->GetGaussianBlur ());
2837- addAttr (params, " Gaussian blur variance:" , iAValueType::Continuous, blob ? blob->GetGaussianBlurVariance () : m_blobManager->GetGaussianBlurVariance ());
2826+ addAttr (params, " Range" , iAValueType::Continuous, blob ? blob->GetRange () : m_blobManager->GetRange ());
2827+ addAttr (params, " Blob body" , iAValueType::Boolean, blob ? blob->GetShowBlob () : m_blobManager->GetShowBlob ());
2828+ addAttr (params, " Use Depth peeling" , iAValueType::Boolean, m_blobManager->GetUseDepthPeeling ());
2829+ addAttr (params, " Blob opacity" , iAValueType::Continuous, blob ? blob->GetBlobOpacity () : m_blobManager->GetBlobOpacity (), 0 , 1 );
2830+ addAttr (params, " Silhouettes" , iAValueType::Boolean, blob ? blob->GetSilhouette () : m_blobManager->GetSilhouettes ());
2831+ addAttr (params, " Silhouettes opacity" , iAValueType::Continuous, blob ? blob->GetSilhouetteOpacity () : m_blobManager->GetSilhouetteOpacity (), 0 , 1 );
2832+ addAttr (params, " 3D labels" , iAValueType::Boolean, blob ? blob->GetLabel () : m_blobManager->GetLabeling ());
2833+ addAttr (params, " Smart overlapping" , iAValueType::Boolean, m_blobManager->OverlappingIsEnabled ());
2834+ addAttr (params, " Separation distance" , iAValueType::Continuous, m_blobManager->GetOverlapThreshold ());
2835+ setDependency (params, " Separation distance" , " Smart overlapping" );
2836+ addAttr (params, " Smooth after smart overlapping" , iAValueType::Boolean, blob ? blob->GetSmoothing () : m_blobManager->GetSmoothing ());
2837+ setDependency (params, " Smooth after smart overlapping" , " Smart overlapping" );
2838+ addAttr (params, " Gaussian blurring of the blob" , iAValueType::Boolean, m_blobManager->GetGaussianBlur ());
2839+ addAttr (params, " Gaussian blur variance" , iAValueType::Continuous, blob ? blob->GetGaussianBlurVariance () : m_blobManager->GetGaussianBlurVariance ());
28382840 addAttr (params, " Dimension X" , iAValueType::Discrete, blob ? blob->GetDimensions ()[0 ] : m_blobManager->GetDimensions ()[0 ]);
28392841 addAttr (params, " Dimension Y" , iAValueType::Discrete, blob ? blob->GetDimensions ()[1 ] : m_blobManager->GetDimensions ()[1 ]);
28402842 addAttr (params, " Dimension Z" , iAValueType::Discrete, blob ? blob->GetDimensions ()[2 ] : m_blobManager->GetDimensions ()[2 ]);
@@ -2844,18 +2846,18 @@ bool dlg_FeatureScout::openBlobVisDialog()
28442846 return false ;
28452847 }
28462848 auto values = dlg.parameterValues ();
2847- m_blobManager->SetRange (values[" Range: " ].toDouble ());
2848- m_blobManager->SetShowBlob (values[" Blob body: " ].toBool ());
2849- m_blobManager->SetUseDepthPeeling (values[" Use Depth peeling: " ].toBool ());
2850- m_blobManager->SetBlobOpacity (values[" Blob opacity [0,1]: " ].toDouble ());
2851- m_blobManager->SetSilhouettes (values[" Silhouettes: " ].toBool ());
2852- m_blobManager->SetSilhouetteOpacity (values[" Silhouettes opacity [0,1]: " ].toDouble ());
2853- m_blobManager->SetLabeling (values[" 3D labels: " ].toBool ());
2854- m_blobManager->SetOverlappingEnabled (values[" Smart overlapping: " ].toBool ());
2855- m_blobManager->SetOverlapThreshold (values[" Separation distance (if smart overlapping): " ].toDouble ());
2856- m_blobManager->SetSmoothing (values[" Smooth after smart overlapping: " ].toBool ());
2857- m_blobManager->SetGaussianBlur (values[" Gaussian blurring of the blob: " ].toBool ());
2858- m_blobManager->SetGaussianBlurVariance (values[" Gaussian blur variance: " ].toDouble ());
2849+ m_blobManager->SetRange (values[" Range" ].toDouble ());
2850+ m_blobManager->SetShowBlob (values[" Blob body" ].toBool ());
2851+ m_blobManager->SetUseDepthPeeling (values[" Use Depth peeling" ].toBool ());
2852+ m_blobManager->SetBlobOpacity (values[" Blob opacity" ].toDouble ());
2853+ m_blobManager->SetSilhouettes (values[" Silhouettes" ].toBool ());
2854+ m_blobManager->SetSilhouetteOpacity (values[" Silhouettes opacity" ].toDouble ());
2855+ m_blobManager->SetLabeling (values[" 3D labels" ].toBool ());
2856+ m_blobManager->SetOverlappingEnabled (values[" Smart overlapping" ].toBool ());
2857+ m_blobManager->SetOverlapThreshold (values[" Separation distance" ].toDouble ());
2858+ m_blobManager->SetSmoothing (values[" Smooth after smart overlapping" ].toBool ());
2859+ m_blobManager->SetGaussianBlur (values[" Gaussian blurring of the blob" ].toBool ());
2860+ m_blobManager->SetGaussianBlurVariance (values[" Gaussian blur variance" ].toDouble ());
28592861 int dimens[3 ] = {values[" Dimension X" ].toInt (), values[" Dimension Y" ].toInt (), values[" Dimension Z" ].toInt ()};
28602862 m_blobManager->SetDimensions (dimens);
28612863 return true ;
@@ -2872,29 +2874,32 @@ void dlg_FeatureScout::saveBlobMovie()
28722874 iAAttributes params;
28732875 QStringList modes = (QStringList () << tr (" No rotation" ) << tr (" Rotate Z" ) << tr (" Rotate X" ) << tr (" Rotate Y" ));
28742876 addAttr (params, " Rotation mode" , iAValueType::Categorical, modes);
2875- addAttr (params, " Number of frames:" , iAValueType::Discrete, 24 , 1 );
2876- addAttr (params, " Range from:" , iAValueType::Continuous, m_blobManager->GetRange ());
2877- addAttr (params, " Range to:" , iAValueType::Continuous, m_blobManager->GetRange ());
2878- addAttr (params, " Blob body:" , iAValueType::Boolean, m_blobManager->GetShowBlob ());
2879- addAttr (params, " Blob opacity from [0,1]:" , iAValueType::Continuous, m_blobManager->GetBlobOpacity (), 0 , 1 );
2880- addAttr (params, " Blob opacity to:" , iAValueType::Continuous, m_blobManager->GetBlobOpacity (), 0 , 1 );
2881- addAttr (params, " Silhouettes:" , iAValueType::Boolean, m_blobManager->GetSilhouettes ());
2882- addAttr (params, " Silhouettes opacity from [0,1]:" , iAValueType::Continuous, m_blobManager->GetSilhouetteOpacity ());
2883- addAttr (params, " Silhouettes opacity to:" , iAValueType::Continuous, m_blobManager->GetSilhouetteOpacity ());
2884- addAttr (params, " 3D labels:" , iAValueType::Boolean, m_blobManager->GetLabeling ());
2885- addAttr (params, " Smart overlapping:" , iAValueType::Boolean, m_blobManager->OverlappingIsEnabled ());
2886- addAttr (params, " Separation distance from (if smart overlapping):" , iAValueType::Continuous, m_blobManager->GetOverlapThreshold ());
2887- addAttr (params, " Separation distance to:" , iAValueType::Continuous, m_blobManager->GetOverlapThreshold ());
2888- addAttr (params, " Smooth after smart overlapping:" , iAValueType::Boolean, m_blobManager->GetSmoothing ());
2889- addAttr (params, " Gaussian blurring of the blob:" , iAValueType::Boolean, m_blobManager->GetGaussianBlur ());
2890- addAttr (params, " Gaussian blur variance from:" , iAValueType::Continuous, m_blobManager->GetGaussianBlurVariance ());
2891- addAttr (params, " Gaussian blur variance to:" , iAValueType::Continuous, m_blobManager->GetGaussianBlurVariance ());
2877+ addAttr (params, " Number of frames" , iAValueType::Discrete, 24 , 1 );
2878+ addAttr (params, " Range from" , iAValueType::Continuous, m_blobManager->GetRange ());
2879+ addAttr (params, " Range to" , iAValueType::Continuous, m_blobManager->GetRange ());
2880+ addAttr (params, " Blob body" , iAValueType::Boolean, m_blobManager->GetShowBlob ());
2881+ addAttr (params, " Blob opacity from" , iAValueType::Continuous, m_blobManager->GetBlobOpacity (), 0 , 1 );
2882+ addAttr (params, " Blob opacity to" , iAValueType::Continuous, m_blobManager->GetBlobOpacity (), 0 , 1 );
2883+ addAttr (params, " Silhouettes" , iAValueType::Boolean, m_blobManager->GetSilhouettes ());
2884+ addAttr (params, " Silhouettes opacity from" , iAValueType::Continuous, m_blobManager->GetSilhouetteOpacity (), 0 , 1 );
2885+ addAttr (params, " Silhouettes opacity to" , iAValueType::Continuous, m_blobManager->GetSilhouetteOpacity (), 0 , 1 );
2886+ addAttr (params, " 3D labels" , iAValueType::Boolean, m_blobManager->GetLabeling ());
2887+ addAttr (params, " Smart overlapping" , iAValueType::Boolean, m_blobManager->OverlappingIsEnabled ());
2888+ addAttr (params, " Separation distance from" , iAValueType::Continuous, m_blobManager->GetOverlapThreshold ());
2889+ addAttr (params, " Separation distance to" , iAValueType::Continuous, m_blobManager->GetOverlapThreshold ());
2890+ addAttr (params, " Smooth after smart overlapping" , iAValueType::Boolean, m_blobManager->GetSmoothing ());
2891+ setDependency (params, " Separation distance from" , " Smart overlapping" );
2892+ setDependency (params, " Separation distance to" , " Smart overlapping" );
2893+ setDependency (params, " Smooth after smart overlapping" , " Smart overlapping" );
2894+ addAttr (params, " Gaussian blurring of the blob" , iAValueType::Boolean, m_blobManager->GetGaussianBlur ());
2895+ addAttr (params, " Gaussian blur variance from" , iAValueType::Continuous, m_blobManager->GetGaussianBlurVariance ());
2896+ addAttr (params, " Gaussian blur variance to" , iAValueType::Continuous, m_blobManager->GetGaussianBlurVariance ());
28922897 addAttr (params, " Dimension X from" , iAValueType::Discrete, m_blobManager->GetDimensions ()[0 ]);
2893- addAttr (params, " Dimension X to: " , iAValueType::Discrete, m_blobManager->GetDimensions ()[0 ]);
2898+ addAttr (params, " Dimension X to" , iAValueType::Discrete, m_blobManager->GetDimensions ()[0 ]);
28942899 addAttr (params, " Dimension Y from" , iAValueType::Discrete, m_blobManager->GetDimensions ()[1 ]);
2895- addAttr (params, " Dimension Y to: " , iAValueType::Discrete, m_blobManager->GetDimensions ()[1 ]);
2900+ addAttr (params, " Dimension Y to" , iAValueType::Discrete, m_blobManager->GetDimensions ()[1 ]);
28962901 addAttr (params, " Dimension Z from" , iAValueType::Discrete, m_blobManager->GetDimensions ()[2 ]);
2897- addAttr (params, " Dimension Z to: " , iAValueType::Discrete, m_blobManager->GetDimensions ()[2 ]);
2902+ addAttr (params, " Dimension Z to" , iAValueType::Discrete, m_blobManager->GetDimensions ()[2 ]);
28982903 addAttr (params, " Video quality" , iAValueType::Discrete, 2 , 0 , 2 );
28992904 addAttr (params, " Frame rate" , iAValueType::Discrete, 25 , 1 , 1000 );
29002905
@@ -2910,18 +2915,18 @@ void dlg_FeatureScout::saveBlobMovie()
29102915 auto values = dlg.parameterValues ();
29112916 QString mode = values[" Rotation mode" ].toString ();
29122917 auto imode = static_cast <int >(modes.indexOf (mode));
2913- m_blobManager->SetShowBlob (values[" Blob body: " ].toBool ());
2914- m_blobManager->SetSilhouettes (values[" Silhouettes: " ].toBool ());
2915- m_blobManager->SetLabeling (values[" 3D labels: " ].toBool ());
2916- m_blobManager->SetOverlappingEnabled (values[" Smart overlapping: " ].toBool ());
2917- m_blobManager->SetSmoothing (values[" Smooth after smart overlapping: " ].toBool ());
2918- m_blobManager->SetGaussianBlur (values[" Gaussian blurring of the blob: " ].toBool ());
2919- size_t numFrames = values[" Number of frames: " ].toInt ();
2920- double range[2 ] = {values[" Range from: " ].toDouble (), values[" Range to: " ].toDouble ()};
2921- double blobOpacity[2 ] = {values[" Blob opacity from [0,1]: " ].toDouble (), values[" Blob opacity to: " ].toDouble ()};
2922- double silhouetteOpacity[2 ] = {values[" Silhouettes opacity from [0,1]: " ].toDouble (), values[" Silhouettes opacity to: " ].toDouble ()};
2923- double overlapThreshold[2 ] = {values[" Separation distance from (if smart overlapping): " ].toDouble (), values[" Separation distance to: " ].toDouble ()};
2924- double gaussianBlurVariance[2 ] = {values[" Gaussian blur variance from: " ].toDouble (), values[" Gaussian blur variance to: " ].toDouble ()};
2918+ m_blobManager->SetShowBlob (values[" Blob body" ].toBool ());
2919+ m_blobManager->SetSilhouettes (values[" Silhouettes" ].toBool ());
2920+ m_blobManager->SetLabeling (values[" 3D labels" ].toBool ());
2921+ m_blobManager->SetOverlappingEnabled (values[" Smart overlapping" ].toBool ());
2922+ m_blobManager->SetSmoothing (values[" Smooth after smart overlapping" ].toBool ());
2923+ m_blobManager->SetGaussianBlur (values[" Gaussian blurring of the blob" ].toBool ());
2924+ size_t numFrames = values[" Number of frames" ].toInt ();
2925+ double range[2 ] = {values[" Range from" ].toDouble (), values[" Range to" ].toDouble ()};
2926+ double blobOpacity[2 ] = {values[" Blob opacity from" ].toDouble (), values[" Blob opacity to" ].toDouble ()};
2927+ double silhouetteOpacity[2 ] = {values[" Silhouettes opacity from" ].toDouble (), values[" Silhouettes opacity to" ].toDouble ()};
2928+ double overlapThreshold[2 ] = {values[" Separation distance from" ].toDouble (), values[" Separation distance to" ].toDouble ()};
2929+ double gaussianBlurVariance[2 ] = {values[" Gaussian blur variance from" ].toDouble (), values[" Gaussian blur variance to" ].toDouble ()};
29252930 int dimX[2 ] = {values[" Dimension X from" ].toInt (), values[" Dimension X to" ].toInt ()};
29262931 int dimY[2 ] = {values[" Dimension Y from" ].toInt (), values[" Dimension Y to" ].toInt ()};
29272932 int dimZ[2 ] = {values[" Dimension Z from" ].toInt (), values[" Dimension Z to" ].toInt ()};
0 commit comments