DatasetBingham::DatasetBingham( QString filename, QVector<QVector<float> > data, nifti_image* header ) : DatasetNifti( filename, Fn::DatasetType::NIFTI_BINGHAM, header ), m_data( data ), m_renderer( 0 ) { m_properties.set( Fn::Property::SCALING, 1.0f, 0.1f, 2.0f, true ); m_properties.set( Fn::Property::OFFSET, 0, -1, 1, true ); m_properties.set( Fn::Property::ORDER, 4 ); m_properties.set( Fn::Property::LOD, 2, 0, 4, true ); m_properties.set( Fn::Property::RENDER_FIRST, true, true ); m_properties.set( Fn::Property::RENDER_SECOND, false, true ); m_properties.set( Fn::Property::RENDER_THIRD, false, true ); m_properties.set( Fn::Property::RENDER_SAGITTAL, false, true ); m_properties.set( Fn::Property::RENDER_CORONAL, false, true ); m_properties.set( Fn::Property::RENDER_AXIAL, true, true ); examineDataset(); }
DatasetScalar::DatasetScalar( QString filename, QVector<float> data, nifti_image* header ) : DatasetNifti( filename, Fn::DatasetType::NIFTI_SCALAR, header ), m_data( data ), m_colormapRenderer( 0 ) { m_properties.set( Fn::Property::INTERPOLATION, false, true ); m_properties.set( Fn::Property::ALPHA, 1.0f, 0.0, 1.0, true ); m_properties.set( Fn::Property::COLORMAP, 0, true ); m_properties.set( Fn::Property::DIM, 1 ); m_properties.set( Fn::Property::HAS_TEXTURE, true ); examineDataset(); m_properties.set( Fn::Property::RENDER_COLORMAP, false, true ); m_properties.set( Fn::Property::COLORMAP_X, 50, 1, 2000, true ); m_properties.set( Fn::Property::COLORMAP_Y, 50, 1, 2000, true ); m_properties.set( Fn::Property::COLORMAP_DX, 400, 1, 2000, true ); m_properties.set( Fn::Property::COLORMAP_DY, 20, 1, 100, true ); m_properties.set( Fn::Property::COLORMAP_TEXT_SIZE, 30, 1, 100, true ); }
Dataset3D::Dataset3D( QDir filename, std::vector<QVector3D> data, nifti_image* header ) : DatasetNifti( filename, Fn::DatasetType::NIFTI_VECTOR, header ), m_data( data ), m_renderer( 0 ), m_stippleRenderer( 0 ) { m_properties["maingl"].createInt( Fn::Property::D_COLORMAP, -1 ); m_properties["maingl"].createBool( Fn::Property::D_INTERPOLATION, false, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_ALPHA, 1.0f, 0.0, 1.0, "general" ); m_properties["maingl"].createInt( Fn::Property::D_DIM, 3 ); m_properties["maingl"].createFloat( Fn::Property::D_SCALING, 1.0f, 0.0f, 2.0f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_OFFSET, 0.0f, -0.5, 0.5, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_VECTORS_STICKS, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_SAGITTAL, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_CORONAL, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_AXIAL, true, "general" ); m_properties["maingl"].createBool( Fn::Property::D_HAS_TEXTURE, true ); connect( m_properties["maingl"].getProperty( Fn::Property::D_RENDER_VECTORS_STICKS ), SIGNAL( valueChanged( QVariant ) ), this, SLOT( switchRenderSticks() ) ); connect( m_properties["maingl"].getProperty( Fn::Property::D_SCALING ), SIGNAL( valueChanged( QVariant ) ), this, SLOT( scalingChanged() ) ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_VECTORS_STIPPLES, false, "stipples" ); connect( m_properties["maingl"].getProperty( Fn::Property::D_RENDER_VECTORS_STIPPLES ), SIGNAL( valueChanged( QVariant ) ), this, SLOT( switchRenderStipples() ) ); m_properties["maingl"].createList( Fn::Property::D_STIPPLE_PROB_MASK, { "none" }, 0, "stipples" ); connect( m_properties["maingl"].getProperty( Fn::Property::D_STIPPLE_PROB_MASK ), SIGNAL( valueChanged( QVariant ) ), this, SLOT( probMaskChanged() ) ); m_properties["maingl"].createColor( Fn::Property::D_COLOR, QColor( 255, 0, 0 ), "stipples" ); m_properties["maingl"].createFloat( Fn::Property::D_STIPPLE_THICKNESS, 1.0f, 0.1f, 5.0f, "stipples" ); m_properties["maingl"].createFloat( Fn::Property::D_STIPPLE_GLYPH_SIZE, 1.0f, 1.0f, 5.0f, "stipples" ); m_properties["maingl"].createList( Fn::Property::D_STIPPLE_SLICE_ORIENT, { "axial", "coronal", "sagittal" }, 0, "stipples" ); examineDataset(); PropertyGroup props2( m_properties["maingl"] ); m_properties.insert( "maingl2", props2 ); m_properties["maingl2"].getProperty( Fn::Property::D_ACTIVE )->setPropertyTab( "general" ); connect( Models::g(), SIGNAL( dataChanged( QModelIndex, QModelIndex ) ), this, SLOT( updateMaskSelect() ) ); connect( Models::d(), SIGNAL( dataChanged( QModelIndex, QModelIndex ) ), this, SLOT( updateMaskSelect() ) ); updateMaskSelect(); probMaskChanged(); }
DatasetBingham::DatasetBingham( QDir filename, std::vector<std::vector<float> > data, nifti_image* header ) : DatasetNifti( filename, Fn::DatasetType::NIFTI_BINGHAM, header ), m_data( data ), m_renderer( 0 ) { m_properties["maingl"].createFloat( Fn::Property::D_SCALING, 1.0f, 0.1f, 2.0f, "general" ); m_properties["maingl"].createInt( Fn::Property::D_OFFSET, 0, -1, 1, "general" ); m_properties["maingl"].createInt( Fn::Property::D_ORDER, 4 ); m_properties["maingl"].createInt( Fn::Property::D_LOD, 2, 0, 4, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_FIRST, true, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_SECOND, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_THIRD, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_SAGITTAL, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_CORONAL, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_AXIAL, true, "general" ); examineDataset(); PropertyGroup props2( m_properties["maingl"] ); m_properties.insert( "maingl2", props2 ); m_properties["maingl2"].getProperty( Fn::Property::D_ACTIVE )->setPropertyTab( "general" ); }
DatasetTensor::DatasetTensor( QDir filename, std::vector<std::vector<float> > data, nifti_image* header ) : DatasetNifti( filename, Fn::DatasetType::NIFTI_TENSOR, header ), m_renderer( 0 ), m_rendererEV( 0 ), m_renderGlpyhs( false ) { for ( unsigned int i = 0; i < data.size(); ++i ) { Matrix m( 3, 3 ); m( 1, 1 ) = data.at( i )[0]; m( 1, 2 ) = data.at( i )[1]; m( 1, 3 ) = data.at( i )[2]; m( 2, 1 ) = data.at( i )[1]; m( 2, 2 ) = data.at( i )[3]; m( 2, 3 ) = data.at( i )[4]; m( 3, 1 ) = data.at( i )[2]; m( 3, 2 ) = data.at( i )[4]; m( 3, 3 ) = data.at( i )[5]; m_data.push_back( m ); } m_properties["maingl"].createInt( Fn::Property::D_CREATED_BY, (int)Fn::Algo::TENSORFIT ); m_properties["maingl"].createFloat( Fn::Property::D_FA_THRESHOLD, 0.01f, 0.0f, 1.0f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_EV_THRESHOLD, 10.0f, 0.0f, 10.f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_GAMMA, 0.1f, 0.0f, 10.0f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_OFFSET, 0.0f, -0.5f, 0.5f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_SCALING, 0.5f, 0.0f, 2.0f, "general" ); m_properties["maingl"].createInt( Fn::Property::D_TENSOR_RENDERMODE, 0, 0, 3, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_SAGITTAL, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_CORONAL, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_AXIAL, true, "general" ); examineDataset(); PropertyGroup props2( m_properties["maingl"] ); m_properties.insert( "maingl2", props2 ); m_properties["maingl2"].getProperty( Fn::Property::D_ACTIVE )->setPropertyTab( "general" ); }
DatasetTensor::DatasetTensor( QDir filename, std::vector<Matrix> data, nifti_image* header ) : DatasetNifti( filename, Fn::DatasetType::NIFTI_TENSOR, header ), m_data( data ), m_logData( 0 ), m_renderer( 0 ), m_rendererEV( 0 ), m_renderGlpyhs( false ) { m_properties["maingl"].createFloat( Fn::Property::D_FA_THRESHOLD, 0.01f, 0.0f, 1.0f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_EV_THRESHOLD, 10.0f, 0.0f, 10.f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_GAMMA, 0.1f, 0.0f, 10.0f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_OFFSET, 0.0f, -1.0f, 1.0f, "general" ); m_properties["maingl"].createFloat( Fn::Property::D_SCALING, 0.5f, 0.0f, 2.0f, "general" ); m_properties["maingl"].createList( Fn::Property::D_TENSOR_RENDERMODE, { "superquadric", "1st ev", "2nd ev", "3rd ev" }, 0, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_SAGITTAL, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_CORONAL, false, "general" ); m_properties["maingl"].createBool( Fn::Property::D_RENDER_AXIAL, true, "general" ); examineDataset(); PropertyGroup props2( m_properties["maingl"] ); m_properties.insert( "maingl2", props2 ); m_properties["maingl2"].getProperty( Fn::Property::D_ACTIVE )->setPropertyTab( "general" ); }