function [Groundtruth,hyperdata,panseg,groundtruthsize] = ALDataread(dataset)

switch dataset
    case 'DFC2013'
        %% Ground truth map
        Groundtruth = double(ENVIImgRead('E:\Workspace\Datasets\DFC2013\2013_IEEE_GRSS_DF_Contest_Groundtruth'));% 640*320
        Groundtruth(Groundtruth == 13) = 6;Groundtruth(Groundtruth == 14) = 10;Groundtruth(Groundtruth == 15) = 11;
        groundtruthsize = size(Groundtruth);
        Groundtruth = reshape(Groundtruth,groundtruthsize(1)*groundtruthsize(2),1);
        % 高光谱读取
        hyperdata = double(ENVIImgRead('E:\Workspace\Datasets\DFC2013\2013_IEEE_GRSS_DF_Contest_CASI'));
        hyperdata = imresize(hyperdata,0.25,'bilinear');

        hyperdata = imresize(hyperdata,groundtruthsize,'bilinear');
        hyperdata = (hyperdata-min(hyperdata(:)))/(max(hyperdata(:))-min(hyperdata(:)));
        hyperdata = reshape(hyperdata,groundtruthsize(1)*groundtruthsize(2),size(hyperdata,3));
        % 全色图像分割结果
        panseg = double(ENVIImgRead('E:\Workspace\Datasets\DFC2013\WorldViewII_Houston_seg3570\WorldViewII_Houston_attributes.dat'));
        panseg = imresize(panseg,groundtruthsize,'nearest');
        panseg = reshape(panseg,groundtruthsize(1)*groundtruthsize(2),2);
        
        %% subset
    case 'Sandiego'
        % Ground truth map
        Groundtruth = multibandread('Datasets/Sandiego/sanmap',[400,400,1],'uint8',0,'bsq','ieee-le');
        groundtruthsize = size(Groundtruth);
        Groundtruth = reshape(Groundtruth,groundtruthsize(1)*groundtruthsize(2),1);
        % 高光谱读取
        hyperdata = multibandread('Datasets/Sandiego/Sandiego',[400,400,126],'uint16',0,'bsq','ieee-le');
        hyperdata = imresize(hyperdata,0.25,'nearest');
        
        hyperdata = imresize(hyperdata,4,'bilinear');
        hyperdata = reshape(hyperdata,groundtruthsize(1)*groundtruthsize(2),126);
        hyperdata = (hyperdata-min(hyperdata(:)))/(max(hyperdata(:))-min(hyperdata(:)));
        % 全色图像分割结果
        panseg = multibandread('Datasets/Sandiego/SandiegoSeg/SandiegoPan_attributes.dat',[400,400,2],'single',0,'bsq','ieee-le');
        panseg = reshape(panseg,400*400,2);
    case 'Indian'
        load('E:\Workspace\Datasets\Indian\Indiana_truemap.mat');
        X = double(X');
        groundtruthsize = size(X);
        Groundtruth = reshape(X,groundtruthsize(1)*groundtruthsize(2),1);
        
        load('E:\Workspace\Datasets\Indian\Indiana_200.mat');
        hyperdata = imresize(double(XX),0.25,'bilinear');
        hyperdata = imresize(hyperdata,groundtruthsize,'bilinear');
        hyperdata = (hyperdata-min(hyperdata(:)))/(max(hyperdata(:))-min(hyperdata(:)));
        hyperdata = reshape(hyperdata,groundtruthsize(1)*groundtruthsize(2),200);
        
        panseg = ENVIImgRead('E:\Workspace\Datasets\Indian\Indian_Seg2060\Indian_attributes.dat');
        panseg = reshape(panseg,groundtruthsize(1)*groundtruthsize(2),2); 
                    
end