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 );
}
Exemplo n.º 3
0
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();
}
Exemplo n.º 4
0
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" );
}
Exemplo n.º 5
0
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" );
}
Exemplo n.º 6
0
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" );
}