Changeset 138:c8ad9e7459cc


Ignore:
Timestamp:
07/03/2010 08:42:06 PM (9 years ago)
Author:
Dmitry Fedorov <fedorov@…>
Branch:
default
Phase:
public
Message:

bioview3d: updated libbioimage, added channel fusion

Location:
bioView3D
Files:
133 added
1 deleted
20 edited

Legend:

Unmodified
Added
Removed
  • bioView3D/libsrc/libbioimg/formats/jpeg/dim_jpeg_format.cpp

    r119 r138  
    1010    04/22/2004 13:06 - First creation
    1111    08/04/2004 22:25 - Update to FMT_IFS 1.2, support for io protorypes
     12    2010-06-24 15:11 - EXIF/IPTC extraction
    1213       
    13   Ver : 2
     14  Ver : 3
    1415*****************************************************************************/
    1516
     
    266267
    267268  sizeof(TDimFormatHeader),
    268   "1.0.0",
     269  "1.1.0",
    269270  "DIMIN JPEG CODEC",
    270271  "JPEG-JFIF Compliant CODEC",
     
    308309  dimJpegAddMetaDataProc,  //TDimAddMetaDataProc
    309310  dimJpegReadMetaDataAsTextProc, //TDimReadMetaDataAsTextProc
    310 
    311   NULL,
     311  jpeg_append_metadata, //TDimAppendMetaDataProc
     312
    312313  NULL,
    313314  NULL,
  • bioView3D/libsrc/libbioimg/formats/jpeg/dim_jpeg_format.h

    r119 r138  
    99  History:
    1010    04/22/2004 13:06 - First creation
     11    08/04/2004 22:25 - Update to FMT_IFS 1.2, support for io protorypes
     12    2010-06-24 15:11 - EXIF/IPTC extraction
    1113       
    12   Ver : 1
     14  Ver : 3
    1315*****************************************************************************/
    1416
     
    1820#include <dim_img_format_interface.h>
    1921#include <dim_img_format_utils.h>
     22
     23#include <tag_map.h>
    2024
    2125// DLL EXPORT FUNCTION
     
    5357char* dimJpegReadMetaDataAsTextProc ( TDimFormatHandle *fmtHndl );
    5458
     59DIM_UINT jpeg_append_metadata (TDimFormatHandle *fmtHndl, DTagMap *hash );
     60
    5561#endif // DIM_JPEG_FORMAT_H
  • bioView3D/libsrc/libbioimg/formats/jpeg/dim_jpeg_format_io.cpp

    r119 r138  
    1111    03/29/2004 22:23 - First creation
    1212    08/04/2004 22:25 - Update to FMT_IFS 1.2, support for io protorypes
     13    2010-06-24 15:11 - EXIF/IPTC extraction
    1314       
    14   Ver : 2
     15  Ver : 3
    1516*****************************************************************************/
    1617
    1718#include "dim_jpeg_format.h"
    1819
     20#include <exiv2/image.hpp>
     21#include <exiv2/exif.hpp>
    1922
    2023struct my_error_mgr : public jpeg_error_mgr {
     
    701704
    702705
    703 
    704 
    705 
    706 
     706//----------------------------------------------------------------------------
     707// META DATA PROC
     708//----------------------------------------------------------------------------
     709
     710DIM_UINT jpeg_append_metadata (TDimFormatHandle *fmtHndl, DTagMap *hash ) {
     711  if (fmtHndl == NULL) return 1;
     712  if (!hash) return 1;
     713  if ( isCustomReading ( fmtHndl ) ) return 1;
     714  if (!fmtHndl->fileName) return 1;
     715
     716  Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(fmtHndl->fileName);
     717  if (image.get()==0) return 1;
     718  image->readMetadata();
     719
     720  Exiv2::ExifData &exifData = image->exifData();
     721  if (!exifData.empty()) {
     722    Exiv2::ExifData::const_iterator end = exifData.end();
     723    for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != end; ++i) {
     724        xstring mykey = i->key();
     725        mykey = mykey.replace(".", "/");
     726        xstring myval = i->print();
     727        hash->set_value( mykey, myval );
     728    }
     729  }
     730
     731  Exiv2::IptcData &iptcData = image->iptcData();
     732  if (!iptcData.empty()) {
     733    Exiv2::IptcData::iterator end = iptcData.end();
     734    for (Exiv2::IptcData::iterator i = iptcData.begin(); i != end; ++i) {
     735      xstring mykey = i->key();
     736      mykey = mykey.replace(".", "/");
     737      xstring myval = i->print();
     738      hash->set_value( mykey, myval );
     739    }
     740  }
     741
     742  return 0;
     743}
     744
     745
  • bioView3D/libsrc/libbioimg/formats/meta_format_manager.cpp

    r95 r138  
    3434#include <cstring>
    3535
     36#include <xtypes.h>
    3637#include <xstring.h>
    3738
     
    4647  writeTagItem.tagLength = 0;
    4748  writeTagItem.tagType   = DIM_TAG_NOTYPE;
     49
     50  display_channel_tag_names.push_back("display_channel_red");
     51  display_channel_tag_names.push_back("display_channel_green");
     52  display_channel_tag_names.push_back("display_channel_blue");
     53  display_channel_tag_names.push_back("display_channel_yellow");
     54  display_channel_tag_names.push_back("display_channel_magenta");
     55  display_channel_tag_names.push_back("display_channel_cyan");
     56  display_channel_tag_names.push_back("display_channel_gray");
    4857}
    4958
     
    107116  metadata.clear();
    108117
    109   display_lut.resize(3);
     118  display_lut.resize(TMetaFormatManager::NumDisplayChannels);
     119  for (int i=0; i<TMetaFormatManager::NumDisplayChannels; ++i) display_lut[i] = -1;
     120
    110121  if (info.samples == 1)
    111     for (int i=0; i<3; ++i) display_lut[i] = 0;
     122    for (int i=0; i<3; ++i)
     123      display_lut[i] = 0;
    112124  else
    113     if (info.samples == 2) {
    114       for (int i=0; i<2; ++i) display_lut[i] = i;
    115       display_lut[2] = -1;
    116     }
    117   else
    118   if (info.samples >= 3)
    119     for (int i=0; i<3; ++i) display_lut[i] = i;
     125    for (int i=0; i<dim::min<int>(TMetaFormatManager::NumDisplayChannels, info.samples); ++i)
     126      display_lut[i] = i;
    120127
    121128  switch ( info.resUnits ) {
     
    222229  }
    223230
    224   if (display_lut.size() >= 3) {
    225     appendMetadata( "display_channel_red",   display_lut[0] );
    226     appendMetadata( "display_channel_green", display_lut[1] );
    227     appendMetadata( "display_channel_blue",  display_lut[2] );
    228   }
     231  for (int i=0; i<dim::min<int>(display_lut.size(), display_channel_tag_names.size()); ++i)
     232    appendMetadata( display_channel_tag_names[i], display_lut[i] );
    229233
    230234  // hack towards new system: in case the format loaded all data directly into the map, refresh static values
     
    299303
    300304  // LUT
    301   v = get_metadata_tag_int( "display_channel_red", -2 );
    302   if (v>-2) display_lut[0] = v; 
    303 
    304   v = get_metadata_tag_int( "display_channel_green", -2 );
    305   if (v>-2) display_lut[1] = v; 
    306 
    307   v = get_metadata_tag_int( "display_channel_blue", -2 );
    308   if (v>-2) display_lut[2] = v; 
     305  for (int i=0; i<display_channel_tag_names.size(); ++i) {
     306    v = get_metadata_tag_int( display_channel_tag_names[i], -2 );
     307    if (v>-2) display_lut[i] = v; 
     308  }
     309
    309310
    310311  // ------------------------------------------
  • bioView3D/libsrc/libbioimg/formats/meta_format_manager.h

    r95 r138  
    3838class TMetaFormatManager : public TDimFormatManager {
    3939public:
     40  static const int NumDisplayChannels = 7;
     41  enum DisplayChannels { dcRed=0, dcGreen=1, dcBlue=2, dcYellow=3, dcMagenta=4, dcCyan=5, dcGray=6 };
     42
    4043  TMetaFormatManager();
    4144  ~TMetaFormatManager();
     
    7881
    7982  TDimTagItem   writeTagItem;
     83  std::vector<std::string> display_channel_tag_names;
    8084
    8185  // key-value pairs for metadata
  • bioView3D/libsrc/libbioimg/formats_api/dim_image.cpp

    r135 r138  
    270270  if (bmp==NULL) return img;
    271271
     272  // small optimization
     273  if ( this->depth()==depth && this->pixelType()==pxt && method==DimLut::ltLinearFullRange )
     274    return *this;
     275
     276  // run the whole thing
    272277  DIM_UINT w = bmp->i.width;
    273278  DIM_UINT h = bmp->i.height;
     
    11461151      else
    11471152      if ( map[sample].size()==1 ) // if no fusion is going on simply copy the data
    1148         memcpy( img.bits(sample), bmp->bits[sample], img.bytesPerChan() );
     1153        memcpy( img.bits(sample), bmp->bits[*map[sample].begin()], img.bytesPerChan() );
    11491154      else // ok, here we fuse
    11501155      if (bmp->i.depth==8 && bmp->i.pixelType==D_FMT_UNSIGNED)
     
    11811186}
    11821187
    1183 TDimImage TDimImage::fuse( int red, int green, int blue, int yellow, int magenta, int cyan ) const {
     1188TDimImage TDimImage::fuse( int red, int green, int blue, int yellow, int magenta, int cyan, int gray ) const {
    11841189  std::vector< std::set<int> > mapping;
    11851190  std::set<int> rv, gv, bv;
    1186   // Color mixing: Y=R+G, M=R+B, C=B+G
     1191  // Color mixing: Y=R+G, M=R+B, C=B+G, GR=R+G+B
    11871192
    11881193  rv.insert(red);
    11891194  rv.insert(yellow);
    11901195  rv.insert(magenta);
     1196  rv.insert(gray);
    11911197
    11921198  gv.insert(green);
    11931199  gv.insert(yellow);
    11941200  gv.insert(cyan);
     1201  gv.insert(gray);
    11951202
    11961203  bv.insert(blue);
    11971204  bv.insert(magenta);
    11981205  bv.insert(cyan);
     1206  bv.insert(gray);
    11991207 
    12001208  mapping.push_back(rv);
     
    12471255}
    12481256
     1257//------------------------------------------------------------------------------------
     1258//Append channels
     1259//------------------------------------------------------------------------------------
     1260
     1261void TDimImage::updateGeometry( const unsigned int &z, const unsigned int &t ) {
     1262  if (bmp==NULL) return;
     1263  if (z>0) {
     1264    bmp->i.number_z = z;
     1265    metadata.set_value( "image_num_z", z );
     1266  }
     1267
     1268  if (t>0) {
     1269    bmp->i.number_t = t;
     1270    metadata.set_value( "image_num_t", t );
     1271  }
     1272}
     1273
     1274void TDimImage::updateResolution( const double r[4] ) {
     1275  if (bmp==NULL) return;
     1276  bmp->i.xRes = r[0];
     1277  bmp->i.yRes = r[1];
     1278  bmp->i.resUnits = DIM_RES_um;
     1279
     1280  metadata.set_value("pixel_resolution_x", r[0]);
     1281  metadata.set_value("pixel_resolution_y", r[1]);
     1282  metadata.set_value("pixel_resolution_z", r[2]);
     1283  metadata.set_value("pixel_resolution_t", r[3]);
     1284  metadata.set_value( "pixel_resolution_unit_x", "microns" );
     1285  metadata.set_value( "pixel_resolution_unit_y", "microns" );
     1286  metadata.set_value( "pixel_resolution_unit_z", "microns" );
     1287  metadata.set_value( "pixel_resolution_unit_t", "seconds" );
     1288}
     1289
     1290
    12491291
    12501292
  • bioView3D/libsrc/libbioimg/formats_api/dim_image.h

    r135 r138  
    151151    inline DIM_UINT     channels()  const { return samples(); }
    152152    inline D_DataFormat pixelType() const { if (bmp==NULL) return D_FMT_UNSIGNED; else return bmp->i.pixelType; }
    153 
    154     void updateGeometry( const unsigned int &z=0, const unsigned int &t=0 ) {
    155       if (bmp==NULL) return;
    156       if (z>0) bmp->i.number_z = z;
    157       if (t>0) bmp->i.number_t = t;
    158     }
     153    inline DIM_UINT     numT()      const { if (bmp==NULL) return 0; else return bmp->i.number_t; }
     154    inline DIM_UINT     numZ()      const { if (bmp==NULL) return 0; else return bmp->i.number_z; }
     155
     156    void updateGeometry( const unsigned int &z=0, const unsigned int &t=0 );
     157    void updateResolution( const double r[4] );
     158    void updateResolution( const std::vector< double > &r ) { updateResolution( &r[0] ); }
    159159
    160160    TDimImageBitmap *imageBitmap() { return bmp; }
     
    283283
    284284    // this overloaded method provides a simple way of mixing up to 6 channels into the output 3 channel image
    285     TDimImage fuse( int red, int green, int blue, int yellow=-1, int magenta=-1, int cyan=-1 ) const;
     285    TDimImage fuse( int red, int green, int blue, int yellow=-1, int magenta=-1, int cyan=-1, int gray=-1 ) const;
    286286
    287287    // this overloaded method provides a simple way of mixing up to 6 channels into the output 3 channel image
  • bioView3D/libsrc/libtiff/tif_dirread.c

    r119 r138  
    38193819        if (tif->tif_dir.td_photometric == PHOTOMETRIC_PALETTE &&
    38203820            !TIFFFieldSet(tif, FIELD_COLORMAP)) {
    3821                 MissingRequired(tif, "Colormap");
    3822                 goto bad;
     3821    // dima: try to recover instead of punting directly
     3822    // dima: gracefully accept as a GRAY or an RGB image in case palette is missing
     3823    if ( tif->tif_dir.td_bitspersample>=8 && tif->tif_dir.td_samplesperpixel==3)
     3824      tif->tif_dir.td_photometric = PHOTOMETRIC_RGB;
     3825    else if (tif->tif_dir.td_bitspersample>=8)
     3826      tif->tif_dir.td_photometric = PHOTOMETRIC_MINISBLACK;
     3827    else {
     3828                  MissingRequired(tif, "Colormap");
     3829                  goto bad;
     3830    }
    38233831        }
    38243832        /*
  • bioView3D/libsrc/pole/pole.cpp

    r88 r138  
    44   Performance optimization: Dmitry Fedorov
    55   Copyright 2009 <www.bioimage.ucsb.edu> <www.dimin.net>
    6 
    7    Version: 0.3
     6   
     7   Fix for more than 236 mbat block entries : Michel Boudinot
     8   Copyright 2010 <Michel.Boudinot@inaf.cnrs-gif.fr>
     9
     10   Version: 0.4
    811
    912   Redistribution and use in source and binary forms, with or without
     
    908911  blocks.clear();
    909912  blocks.resize( header->num_bat );
    910   for( unsigned i = 0; i < 109; i++ )
     913
     914//+ mb
     915  for( unsigned i = 0; i < 109; i++ )
    911916    if( i >= header->num_bat ) break;
    912917    else blocks[i] = header->bb_blocks[i];
    913   if( (header->num_bat > 109) && (header->num_mbat > 0) )
     918
     919  if( (header->num_bat > 109) && (header->num_mbat > 0) )
    914920  {
    915921    unsigned char* buffer2 = new unsigned char[ bbat->blockSize ];
    916922    unsigned k = 109;
     923    unsigned sector;
    917924    for( unsigned r = 0; r < header->num_mbat; r++ )
    918925    {
    919       loadBigBlock( header->mbat_start+r, buffer2, bbat->blockSize );
     926      if(r == 0) // 1st meta bat location is in file header.
     927        sector = header->mbat_start;
     928      else      // next meta bat location is the last current block value.
     929        sector = blocks[--k];
     930      loadBigBlock( sector, buffer2, bbat->blockSize );
    920931      for( unsigned s=0; s < bbat->blockSize; s+=4 )
    921932      {
     
    923934        else  blocks[k++] = readU32( buffer2 + s );
    924935      } 
    925      }   
     936    }   
    926937    delete[] buffer2;
    927938  }
     939//- mb
    928940
    929941  // load big bat
  • bioView3D/libsrc/pole/pole.h

    r88 r138  
    55   Copyright 2009 <www.bioimage.ucsb.edu> <www.dimin.net>
    66
    7    Version: 0.3
     7   Fix for more than 236 mbat block entries : Michel Boudinot
     8   Copyright 2010 <Michel.Boudinot@inaf.cnrs-gif.fr>
     9
     10   Version: 0.4
    811
    912   Redistribution and use in source and binary forms, with or without
  • bioView3D/msvc2008/bioView3D.rc

    r112 r138  
    5454
    5555VS_VERSION_INFO VERSIONINFO
    56  FILEVERSION 0,0,14,14
    57  PRODUCTVERSION 0,0,14,14
     56 FILEVERSION 0,0,15,15
     57 PRODUCTVERSION 0,0,15,15
    5858 FILEFLAGSMASK 0x17L
    5959#ifdef _DEBUG
     
    7272            VALUE "CompanyName", "Center for Bio-Image Informatics"
    7373            VALUE "FileDescription", "bioView3D"
    74             VALUE "FileVersion", "0, 0, 14, 14"
     74            VALUE "FileVersion", "0, 0, 15, 15"
    7575            VALUE "InternalName", "bioView3D"
    7676            VALUE "LegalCopyright", "Copyright (C) 2010, Center for Bio-Image Informatics"
    7777            VALUE "OriginalFilename", "bioView3D"
    7878            VALUE "ProductName", "bioView3D"
    79             VALUE "ProductVersion", "0, 0, 14, 14"
     79            VALUE "ProductVersion", "0, 0, 15, 15"
    8080        END
    8181    END
  • bioView3D/msvc2008/bioView3D.vcproj

    r119 r138  
    139139                                AdditionalOptions="-Zm200 -EHsc -w34100 -w34189 -Zm200 -EHsc -w34100 -w34189 -w34100 -w34189"
    140140                                Optimization="4"
    141                                 AdditionalIncludeDirectories="&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include\QtXml&quot;;&quot;$(QTDIR)\include\QtOpenGL&quot;;&quot;$(QTDIR)\include\QtNetwork&quot;;&quot;$(QTDIR)\include\ActiveQt&quot;;&quot;$(QTDIR)\include\QtWebKit&quot;;&quot;$(PlatformName)\$(ConfigurationName)&quot;;.;&quot;$(QTDIR)\mkspecs\win32-msvc2005&quot;;..\libsrc\eigen;..\libsrc\libbioimg\formats;..\libsrc\libbioimg\formats_api;..\libsrc\libbioimg\core_lib;..\libsrc\libjpeg;..\libsrc\libpng;..\libsrc\libtiff;..\libsrc\zlib;..\src\widgets;..\src;..\libsrc\ffmpeg\include;&quot;..\libsrc\ffmpeg\include-win&quot;;..\libsrc\libbioimg;..\libsrc\bisquik;..\libsrc\opengl;..\libsrc\pole"
     141                                AdditionalIncludeDirectories="&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include\QtXml&quot;;&quot;$(QTDIR)\include\QtOpenGL&quot;;&quot;$(QTDIR)\include\QtNetwork&quot;;&quot;$(QTDIR)\include\ActiveQt&quot;;&quot;$(QTDIR)\include\QtWebKit&quot;;&quot;$(PlatformName)\$(ConfigurationName)&quot;;.;&quot;$(QTDIR)\mkspecs\win32-msvc2005&quot;;..\libsrc\eigen;..\libsrc\libbioimg\formats;..\libsrc\libbioimg\formats_api;..\libsrc\libbioimg\core_lib;..\libsrc\libjpeg;..\libsrc\libpng;..\libsrc\libtiff;..\libsrc\zlib;..\src\widgets;..\src;..\libsrc\ffmpeg\include;&quot;..\libsrc\ffmpeg\include-win&quot;;..\libsrc\libbioimg;..\libsrc\bisquik;..\libsrc\opengl;..\libsrc\pole;..\libsrc\exiv2"
    142142                                PreprocessorDefinitions="_WINDOWS;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_OPENGL_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_NETWORK_LIB;QT_THREAD_SUPPORT;DIM_FFMPEG_FORMAT;FFMPEG_VIDEO_DISABLE_MATLAB;DIM_USE_QT;_MSVC"
    143143                                GeneratePreprocessedFile="0"
     
    326326                                EnableIntrinsicFunctions="true"
    327327                                FavorSizeOrSpeed="1"
    328                                 AdditionalIncludeDirectories="&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include\QtXml&quot;;&quot;$(QTDIR)\include\QtNetwork&quot;;&quot;$(QTDIR)\include\QtOpenGL&quot;;&quot;$(QTDIR)\include\ActiveQt&quot;;&quot;$(QTDIR)\include\QtWebKit&quot;;&quot;$(PlatformName)\$(ConfigurationName)&quot;;.;&quot;$(QTDIR)\mkspecs\win32-msvc2005&quot;;..\libsrc\eigen;..\libsrc\libbioimg\formats;..\libsrc\libbioimg\formats_api;..\libsrc\libbioimg\core_lib;..\libsrc\libjpeg;..\libsrc\libpng;..\libsrc\libtiff;..\libsrc\zlib;..\src\widgets;..\src;..\libsrc\ffmpeg\include;&quot;..\libsrc\ffmpeg\include-win&quot;;..\libsrc\libbioimg;..\libsrc\bisquik;..\libsrc\opengl;..\libsrc\pole"
     328                                AdditionalIncludeDirectories="&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include\QtXml&quot;;&quot;$(QTDIR)\include\QtNetwork&quot;;&quot;$(QTDIR)\include\QtOpenGL&quot;;&quot;$(QTDIR)\include\ActiveQt&quot;;&quot;$(QTDIR)\include\QtWebKit&quot;;&quot;$(PlatformName)\$(ConfigurationName)&quot;;.;&quot;$(QTDIR)\mkspecs\win32-msvc2005&quot;;..\libsrc\eigen;..\libsrc\libbioimg\formats;..\libsrc\libbioimg\formats_api;..\libsrc\libbioimg\core_lib;..\libsrc\libjpeg;..\libsrc\libpng;..\libsrc\libtiff;..\libsrc\zlib;..\src\widgets;..\src;..\libsrc\ffmpeg\include;&quot;..\libsrc\ffmpeg\include-win&quot;;..\libsrc\libbioimg;..\libsrc\bisquik;..\libsrc\opengl;..\libsrc\pole;..\libsrc\exiv2"
    329329                                PreprocessorDefinitions="QT_NO_DEBUG;NDEBUG;_WINDOWS;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_OPENGL_LIB;QT_NETWORK_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;DIM_FFMPEG_FORMAT;FFMPEG_VIDEO_DISABLE_MATLAB;DIM_USE_QT;_MSVC"
    330330                                GeneratePreprocessedFile="0"
     
    442442                                >
    443443                                <FileConfiguration
    444                                         Name="Release|Win32"
    445                                         ExcludedFromBuild="true"
    446                                         >
    447                                         <Tool
    448                                                 Name="VCCLCompilerTool"
    449                                         />
    450                                 </FileConfiguration>
    451                                 <FileConfiguration
    452                                         Name="Release|x64"
     444                                        Name="Debug|Win32"
     445                                        ExcludedFromBuild="true"
     446                                        >
     447                                        <Tool
     448                                                Name="VCCLCompilerTool"
     449                                        />
     450                                </FileConfiguration>
     451                                <FileConfiguration
     452                                        Name="Debug|x64"
    453453                                        ExcludedFromBuild="true"
    454454                                        >
     
    462462                                >
    463463                                <FileConfiguration
    464                                         Name="Debug|Win32"
    465                                         ExcludedFromBuild="true"
    466                                         >
    467                                         <Tool
    468                                                 Name="VCCLCompilerTool"
    469                                         />
    470                                 </FileConfiguration>
    471                                 <FileConfiguration
    472                                         Name="Debug|x64"
     464                                        Name="Release|Win32"
     465                                        ExcludedFromBuild="true"
     466                                        >
     467                                        <Tool
     468                                                Name="VCCLCompilerTool"
     469                                        />
     470                                </FileConfiguration>
     471                                <FileConfiguration
     472                                        Name="Release|x64"
    473473                                        ExcludedFromBuild="true"
    474474                                        >
     
    482482                                >
    483483                                <FileConfiguration
    484                                         Name="Release|Win32"
    485                                         ExcludedFromBuild="true"
    486                                         >
    487                                         <Tool
    488                                                 Name="VCCLCompilerTool"
    489                                         />
    490                                 </FileConfiguration>
    491                                 <FileConfiguration
    492                                         Name="Release|x64"
     484                                        Name="Debug|Win32"
     485                                        ExcludedFromBuild="true"
     486                                        >
     487                                        <Tool
     488                                                Name="VCCLCompilerTool"
     489                                        />
     490                                </FileConfiguration>
     491                                <FileConfiguration
     492                                        Name="Debug|x64"
    493493                                        ExcludedFromBuild="true"
    494494                                        >
     
    502502                                >
    503503                                <FileConfiguration
    504                                         Name="Debug|Win32"
    505                                         ExcludedFromBuild="true"
    506                                         >
    507                                         <Tool
    508                                                 Name="VCCLCompilerTool"
    509                                         />
    510                                 </FileConfiguration>
    511                                 <FileConfiguration
    512                                         Name="Debug|x64"
     504                                        Name="Release|Win32"
     505                                        ExcludedFromBuild="true"
     506                                        >
     507                                        <Tool
     508                                                Name="VCCLCompilerTool"
     509                                        />
     510                                </FileConfiguration>
     511                                <FileConfiguration
     512                                        Name="Release|x64"
    513513                                        ExcludedFromBuild="true"
    514514                                        >
     
    522522                                >
    523523                                <FileConfiguration
    524                                         Name="Release|Win32"
    525                                         ExcludedFromBuild="true"
    526                                         >
    527                                         <Tool
    528                                                 Name="VCCLCompilerTool"
    529                                         />
    530                                 </FileConfiguration>
    531                                 <FileConfiguration
    532                                         Name="Release|x64"
     524                                        Name="Debug|Win32"
     525                                        ExcludedFromBuild="true"
     526                                        >
     527                                        <Tool
     528                                                Name="VCCLCompilerTool"
     529                                        />
     530                                </FileConfiguration>
     531                                <FileConfiguration
     532                                        Name="Debug|x64"
    533533                                        ExcludedFromBuild="true"
    534534                                        >
     
    542542                                >
    543543                                <FileConfiguration
    544                                         Name="Debug|Win32"
    545                                         ExcludedFromBuild="true"
    546                                         >
    547                                         <Tool
    548                                                 Name="VCCLCompilerTool"
    549                                         />
    550                                 </FileConfiguration>
    551                                 <FileConfiguration
    552                                         Name="Debug|x64"
     544                                        Name="Release|Win32"
     545                                        ExcludedFromBuild="true"
     546                                        >
     547                                        <Tool
     548                                                Name="VCCLCompilerTool"
     549                                        />
     550                                </FileConfiguration>
     551                                <FileConfiguration
     552                                        Name="Release|x64"
    553553                                        ExcludedFromBuild="true"
    554554                                        >
     
    562562                                >
    563563                                <FileConfiguration
    564                                         Name="Debug|Win32"
    565                                         ExcludedFromBuild="true"
    566                                         >
    567                                         <Tool
    568                                                 Name="VCCLCompilerTool"
    569                                         />
    570                                 </FileConfiguration>
    571                                 <FileConfiguration
    572                                         Name="Debug|x64"
     564                                        Name="Release|Win32"
     565                                        ExcludedFromBuild="true"
     566                                        >
     567                                        <Tool
     568                                                Name="VCCLCompilerTool"
     569                                        />
     570                                </FileConfiguration>
     571                                <FileConfiguration
     572                                        Name="Release|x64"
    573573                                        ExcludedFromBuild="true"
    574574                                        >
     
    582582                                >
    583583                                <FileConfiguration
    584                                         Name="Release|Win32"
    585                                         ExcludedFromBuild="true"
    586                                         >
    587                                         <Tool
    588                                                 Name="VCCLCompilerTool"
    589                                         />
    590                                 </FileConfiguration>
    591                                 <FileConfiguration
    592                                         Name="Release|x64"
     584                                        Name="Debug|Win32"
     585                                        ExcludedFromBuild="true"
     586                                        >
     587                                        <Tool
     588                                                Name="VCCLCompilerTool"
     589                                        />
     590                                </FileConfiguration>
     591                                <FileConfiguration
     592                                        Name="Debug|x64"
    593593                                        ExcludedFromBuild="true"
    594594                                        >
     
    642642                                >
    643643                                <FileConfiguration
    644                                         Name="Debug|Win32"
    645                                         ExcludedFromBuild="true"
    646                                         >
    647                                         <Tool
    648                                                 Name="VCCLCompilerTool"
    649                                         />
    650                                 </FileConfiguration>
    651                                 <FileConfiguration
    652                                         Name="Debug|x64"
     644                                        Name="Release|Win32"
     645                                        ExcludedFromBuild="true"
     646                                        >
     647                                        <Tool
     648                                                Name="VCCLCompilerTool"
     649                                        />
     650                                </FileConfiguration>
     651                                <FileConfiguration
     652                                        Name="Release|x64"
    653653                                        ExcludedFromBuild="true"
    654654                                        >
     
    662662                                >
    663663                                <FileConfiguration
    664                                         Name="Release|Win32"
    665                                         ExcludedFromBuild="true"
    666                                         >
    667                                         <Tool
    668                                                 Name="VCCLCompilerTool"
    669                                         />
    670                                 </FileConfiguration>
    671                                 <FileConfiguration
    672                                         Name="Release|x64"
     664                                        Name="Debug|Win32"
     665                                        ExcludedFromBuild="true"
     666                                        >
     667                                        <Tool
     668                                                Name="VCCLCompilerTool"
     669                                        />
     670                                </FileConfiguration>
     671                                <FileConfiguration
     672                                        Name="Debug|x64"
    673673                                        ExcludedFromBuild="true"
    674674                                        >
     
    682682                                >
    683683                                <FileConfiguration
    684                                         Name="Release|Win32"
    685                                         ExcludedFromBuild="true"
    686                                         >
    687                                         <Tool
    688                                                 Name="VCCLCompilerTool"
    689                                         />
    690                                 </FileConfiguration>
    691                                 <FileConfiguration
    692                                         Name="Release|x64"
     684                                        Name="Debug|Win32"
     685                                        ExcludedFromBuild="true"
     686                                        >
     687                                        <Tool
     688                                                Name="VCCLCompilerTool"
     689                                        />
     690                                </FileConfiguration>
     691                                <FileConfiguration
     692                                        Name="Debug|x64"
    693693                                        ExcludedFromBuild="true"
    694694                                        >
     
    702702                                >
    703703                                <FileConfiguration
    704                                         Name="Debug|Win32"
    705                                         ExcludedFromBuild="true"
    706                                         >
    707                                         <Tool
    708                                                 Name="VCCLCompilerTool"
    709                                         />
    710                                 </FileConfiguration>
    711                                 <FileConfiguration
    712                                         Name="Debug|x64"
     704                                        Name="Release|Win32"
     705                                        ExcludedFromBuild="true"
     706                                        >
     707                                        <Tool
     708                                                Name="VCCLCompilerTool"
     709                                        />
     710                                </FileConfiguration>
     711                                <FileConfiguration
     712                                        Name="Release|x64"
    713713                                        ExcludedFromBuild="true"
    714714                                        >
     
    722722                                >
    723723                                <FileConfiguration
    724                                         Name="Debug|Win32"
    725                                         ExcludedFromBuild="true"
    726                                         >
    727                                         <Tool
    728                                                 Name="VCCLCompilerTool"
    729                                         />
    730                                 </FileConfiguration>
    731                                 <FileConfiguration
    732                                         Name="Debug|x64"
     724                                        Name="Release|Win32"
     725                                        ExcludedFromBuild="true"
     726                                        >
     727                                        <Tool
     728                                                Name="VCCLCompilerTool"
     729                                        />
     730                                </FileConfiguration>
     731                                <FileConfiguration
     732                                        Name="Release|x64"
    733733                                        ExcludedFromBuild="true"
    734734                                        >
     
    742742                                >
    743743                                <FileConfiguration
    744                                         Name="Release|Win32"
    745                                         ExcludedFromBuild="true"
    746                                         >
    747                                         <Tool
    748                                                 Name="VCCLCompilerTool"
    749                                         />
    750                                 </FileConfiguration>
    751                                 <FileConfiguration
    752                                         Name="Release|x64"
     744                                        Name="Debug|Win32"
     745                                        ExcludedFromBuild="true"
     746                                        >
     747                                        <Tool
     748                                                Name="VCCLCompilerTool"
     749                                        />
     750                                </FileConfiguration>
     751                                <FileConfiguration
     752                                        Name="Debug|x64"
    753753                                        ExcludedFromBuild="true"
    754754                                        >
     
    802802                                >
    803803                                <FileConfiguration
    804                                         Name="Release|Win32"
    805                                         ExcludedFromBuild="true"
    806                                         >
    807                                         <Tool
    808                                                 Name="VCCLCompilerTool"
    809                                         />
    810                                 </FileConfiguration>
    811                                 <FileConfiguration
    812                                         Name="Release|x64"
     804                                        Name="Debug|Win32"
     805                                        ExcludedFromBuild="true"
     806                                        >
     807                                        <Tool
     808                                                Name="VCCLCompilerTool"
     809                                        />
     810                                </FileConfiguration>
     811                                <FileConfiguration
     812                                        Name="Debug|x64"
    813813                                        ExcludedFromBuild="true"
    814814                                        >
     
    822822                                >
    823823                                <FileConfiguration
    824                                         Name="Debug|Win32"
    825                                         ExcludedFromBuild="true"
    826                                         >
    827                                         <Tool
    828                                                 Name="VCCLCompilerTool"
    829                                         />
    830                                 </FileConfiguration>
    831                                 <FileConfiguration
    832                                         Name="Debug|x64"
     824                                        Name="Release|Win32"
     825                                        ExcludedFromBuild="true"
     826                                        >
     827                                        <Tool
     828                                                Name="VCCLCompilerTool"
     829                                        />
     830                                </FileConfiguration>
     831                                <FileConfiguration
     832                                        Name="Release|x64"
    833833                                        ExcludedFromBuild="true"
    834834                                        >
     
    842842                                >
    843843                                <FileConfiguration
    844                                         Name="Release|Win32"
    845                                         ExcludedFromBuild="true"
    846                                         >
    847                                         <Tool
    848                                                 Name="VCCLCompilerTool"
    849                                         />
    850                                 </FileConfiguration>
    851                                 <FileConfiguration
    852                                         Name="Release|x64"
     844                                        Name="Debug|Win32"
     845                                        ExcludedFromBuild="true"
     846                                        >
     847                                        <Tool
     848                                                Name="VCCLCompilerTool"
     849                                        />
     850                                </FileConfiguration>
     851                                <FileConfiguration
     852                                        Name="Debug|x64"
    853853                                        ExcludedFromBuild="true"
    854854                                        >
     
    862862                                >
    863863                                <FileConfiguration
    864                                         Name="Debug|Win32"
    865                                         ExcludedFromBuild="true"
    866                                         >
    867                                         <Tool
    868                                                 Name="VCCLCompilerTool"
    869                                         />
    870                                 </FileConfiguration>
    871                                 <FileConfiguration
    872                                         Name="Debug|x64"
     864                                        Name="Release|Win32"
     865                                        ExcludedFromBuild="true"
     866                                        >
     867                                        <Tool
     868                                                Name="VCCLCompilerTool"
     869                                        />
     870                                </FileConfiguration>
     871                                <FileConfiguration
     872                                        Name="Release|x64"
    873873                                        ExcludedFromBuild="true"
    874874                                        >
     
    882882                                >
    883883                                <FileConfiguration
    884                                         Name="Release|Win32"
    885                                         ExcludedFromBuild="true"
    886                                         >
    887                                         <Tool
    888                                                 Name="VCCLCompilerTool"
    889                                         />
    890                                 </FileConfiguration>
    891                                 <FileConfiguration
    892                                         Name="Release|x64"
     884                                        Name="Debug|Win32"
     885                                        ExcludedFromBuild="true"
     886                                        >
     887                                        <Tool
     888                                                Name="VCCLCompilerTool"
     889                                        />
     890                                </FileConfiguration>
     891                                <FileConfiguration
     892                                        Name="Debug|x64"
    893893                                        ExcludedFromBuild="true"
    894894                                        >
     
    902902                                >
    903903                                <FileConfiguration
    904                                         Name="Debug|Win32"
    905                                         ExcludedFromBuild="true"
    906                                         >
    907                                         <Tool
    908                                                 Name="VCCLCompilerTool"
    909                                         />
    910                                 </FileConfiguration>
    911                                 <FileConfiguration
    912                                         Name="Debug|x64"
     904                                        Name="Release|Win32"
     905                                        ExcludedFromBuild="true"
     906                                        >
     907                                        <Tool
     908                                                Name="VCCLCompilerTool"
     909                                        />
     910                                </FileConfiguration>
     911                                <FileConfiguration
     912                                        Name="Release|x64"
    913913                                        ExcludedFromBuild="true"
    914914                                        >
     
    922922                                >
    923923                                <FileConfiguration
    924                                         Name="Release|Win32"
    925                                         ExcludedFromBuild="true"
    926                                         >
    927                                         <Tool
    928                                                 Name="VCCLCompilerTool"
    929                                         />
    930                                 </FileConfiguration>
    931                                 <FileConfiguration
    932                                         Name="Release|x64"
     924                                        Name="Debug|Win32"
     925                                        ExcludedFromBuild="true"
     926                                        >
     927                                        <Tool
     928                                                Name="VCCLCompilerTool"
     929                                        />
     930                                </FileConfiguration>
     931                                <FileConfiguration
     932                                        Name="Debug|x64"
    933933                                        ExcludedFromBuild="true"
    934934                                        >
     
    942942                                >
    943943                                <FileConfiguration
    944                                         Name="Debug|Win32"
    945                                         ExcludedFromBuild="true"
    946                                         >
    947                                         <Tool
    948                                                 Name="VCCLCompilerTool"
    949                                         />
    950                                 </FileConfiguration>
    951                                 <FileConfiguration
    952                                         Name="Debug|x64"
     944                                        Name="Release|Win32"
     945                                        ExcludedFromBuild="true"
     946                                        >
     947                                        <Tool
     948                                                Name="VCCLCompilerTool"
     949                                        />
     950                                </FileConfiguration>
     951                                <FileConfiguration
     952                                        Name="Release|x64"
    953953                                        ExcludedFromBuild="true"
    954954                                        >
     
    10021002                                >
    10031003                                <FileConfiguration
    1004                                         Name="Debug|Win32"
    1005                                         ExcludedFromBuild="true"
    1006                                         >
    1007                                         <Tool
    1008                                                 Name="VCCLCompilerTool"
    1009                                         />
    1010                                 </FileConfiguration>
    1011                                 <FileConfiguration
    1012                                         Name="Debug|x64"
     1004                                        Name="Release|Win32"
     1005                                        ExcludedFromBuild="true"
     1006                                        >
     1007                                        <Tool
     1008                                                Name="VCCLCompilerTool"
     1009                                        />
     1010                                </FileConfiguration>
     1011                                <FileConfiguration
     1012                                        Name="Release|x64"
    10131013                                        ExcludedFromBuild="true"
    10141014                                        >
     
    10221022                                >
    10231023                                <FileConfiguration
    1024                                         Name="Release|Win32"
    1025                                         ExcludedFromBuild="true"
    1026                                         >
    1027                                         <Tool
    1028                                                 Name="VCCLCompilerTool"
    1029                                         />
    1030                                 </FileConfiguration>
    1031                                 <FileConfiguration
    1032                                         Name="Release|x64"
     1024                                        Name="Debug|Win32"
     1025                                        ExcludedFromBuild="true"
     1026                                        >
     1027                                        <Tool
     1028                                                Name="VCCLCompilerTool"
     1029                                        />
     1030                                </FileConfiguration>
     1031                                <FileConfiguration
     1032                                        Name="Debug|x64"
    10331033                                        ExcludedFromBuild="true"
    10341034                                        >
     
    10421042                                >
    10431043                                <FileConfiguration
    1044                                         Name="Release|Win32"
    1045                                         ExcludedFromBuild="true"
    1046                                         >
    1047                                         <Tool
    1048                                                 Name="VCCLCompilerTool"
    1049                                         />
    1050                                 </FileConfiguration>
    1051                                 <FileConfiguration
    1052                                         Name="Release|x64"
     1044                                        Name="Debug|Win32"
     1045                                        ExcludedFromBuild="true"
     1046                                        >
     1047                                        <Tool
     1048                                                Name="VCCLCompilerTool"
     1049                                        />
     1050                                </FileConfiguration>
     1051                                <FileConfiguration
     1052                                        Name="Debug|x64"
    10531053                                        ExcludedFromBuild="true"
    10541054                                        >
     
    10621062                                >
    10631063                                <FileConfiguration
    1064                                         Name="Debug|Win32"
    1065                                         ExcludedFromBuild="true"
    1066                                         >
    1067                                         <Tool
    1068                                                 Name="VCCLCompilerTool"
    1069                                         />
    1070                                 </FileConfiguration>
    1071                                 <FileConfiguration
    1072                                         Name="Debug|x64"
     1064                                        Name="Release|Win32"
     1065                                        ExcludedFromBuild="true"
     1066                                        >
     1067                                        <Tool
     1068                                                Name="VCCLCompilerTool"
     1069                                        />
     1070                                </FileConfiguration>
     1071                                <FileConfiguration
     1072                                        Name="Release|x64"
    10731073                                        ExcludedFromBuild="true"
    10741074                                        >
     
    10821082                                >
    10831083                                <FileConfiguration
    1084                                         Name="Debug|Win32"
    1085                                         ExcludedFromBuild="true"
    1086                                         >
    1087                                         <Tool
    1088                                                 Name="VCCLCompilerTool"
    1089                                         />
    1090                                 </FileConfiguration>
    1091                                 <FileConfiguration
    1092                                         Name="Debug|x64"
     1084                                        Name="Release|Win32"
     1085                                        ExcludedFromBuild="true"
     1086                                        >
     1087                                        <Tool
     1088                                                Name="VCCLCompilerTool"
     1089                                        />
     1090                                </FileConfiguration>
     1091                                <FileConfiguration
     1092                                        Name="Release|x64"
    10931093                                        ExcludedFromBuild="true"
    10941094                                        >
     
    11021102                                >
    11031103                                <FileConfiguration
    1104                                         Name="Release|Win32"
    1105                                         ExcludedFromBuild="true"
    1106                                         >
    1107                                         <Tool
    1108                                                 Name="VCCLCompilerTool"
    1109                                         />
    1110                                 </FileConfiguration>
    1111                                 <FileConfiguration
    1112                                         Name="Release|x64"
     1104                                        Name="Debug|Win32"
     1105                                        ExcludedFromBuild="true"
     1106                                        >
     1107                                        <Tool
     1108                                                Name="VCCLCompilerTool"
     1109                                        />
     1110                                </FileConfiguration>
     1111                                <FileConfiguration
     1112                                        Name="Debug|x64"
    11131113                                        ExcludedFromBuild="true"
    11141114                                        >
     
    23552355                                                RelativePath="..\libsrc\libbioimg\formats\mpeg\debug.cpp"
    23562356                                                >
    2357                                                 <FileConfiguration
    2358                                                         Name="Debug|x64"
    2359                                                         >
    2360                                                         <Tool
    2361                                                                 Name="VCCLCompilerTool"
    2362                                                         />
    2363                                                 </FileConfiguration>
    2364                                                 <FileConfiguration
    2365                                                         Name="Release|x64"
    2366                                                         >
    2367                                                         <Tool
    2368                                                                 Name="VCCLCompilerTool"
    2369                                                         />
    2370                                                 </FileConfiguration>
    23712357                                        </File>
    23722358                                        <File
    23732359                                                RelativePath="..\libsrc\libbioimg\formats\mpeg\dim_ffmpeg_format.cpp"
    23742360                                                >
    2375                                                 <FileConfiguration
    2376                                                         Name="Debug|x64"
    2377                                                         >
    2378                                                         <Tool
    2379                                                                 Name="VCCLCompilerTool"
    2380                                                         />
    2381                                                 </FileConfiguration>
    2382                                                 <FileConfiguration
    2383                                                         Name="Release|x64"
    2384                                                         >
    2385                                                         <Tool
    2386                                                                 Name="VCCLCompilerTool"
    2387                                                         />
    2388                                                 </FileConfiguration>
    23892361                                        </File>
    23902362                                        <File
    23912363                                                RelativePath="..\libsrc\libbioimg\formats\mpeg\dim_ffmpeg_format_io.cpp"
    23922364                                                >
    2393                                                 <FileConfiguration
    2394                                                         Name="Debug|x64"
    2395                                                         >
    2396                                                         <Tool
    2397                                                                 Name="VCCLCompilerTool"
    2398                                                         />
    2399                                                 </FileConfiguration>
    2400                                                 <FileConfiguration
    2401                                                         Name="Release|x64"
    2402                                                         >
    2403                                                         <Tool
    2404                                                                 Name="VCCLCompilerTool"
    2405                                                         />
    2406                                                 </FileConfiguration>
    24072365                                        </File>
    24082366                                        <File
    24092367                                                RelativePath="..\libsrc\libbioimg\formats\mpeg\FfmpegCommon.cpp"
    24102368                                                >
    2411                                                 <FileConfiguration
    2412                                                         Name="Debug|x64"
    2413                                                         >
    2414                                                         <Tool
    2415                                                                 Name="VCCLCompilerTool"
    2416                                                         />
    2417                                                 </FileConfiguration>
    2418                                                 <FileConfiguration
    2419                                                         Name="Release|x64"
    2420                                                         >
    2421                                                         <Tool
    2422                                                                 Name="VCCLCompilerTool"
    2423                                                         />
    2424                                                 </FileConfiguration>
    24252369                                        </File>
    24262370                                        <File
    24272371                                                RelativePath="..\libsrc\libbioimg\formats\mpeg\FfmpegIVideo.cpp"
    24282372                                                >
    2429                                                 <FileConfiguration
    2430                                                         Name="Debug|x64"
    2431                                                         >
    2432                                                         <Tool
    2433                                                                 Name="VCCLCompilerTool"
    2434                                                         />
    2435                                                 </FileConfiguration>
    2436                                                 <FileConfiguration
    2437                                                         Name="Release|x64"
    2438                                                         >
    2439                                                         <Tool
    2440                                                                 Name="VCCLCompilerTool"
    2441                                                         />
    2442                                                 </FileConfiguration>
    24432373                                        </File>
    24442374                                        <File
    24452375                                                RelativePath="..\libsrc\libbioimg\formats\mpeg\FfmpegOVideo.cpp"
    24462376                                                >
    2447                                                 <FileConfiguration
    2448                                                         Name="Debug|x64"
    2449                                                         >
    2450                                                         <Tool
    2451                                                                 Name="VCCLCompilerTool"
    2452                                                         />
    2453                                                 </FileConfiguration>
    2454                                                 <FileConfiguration
    2455                                                         Name="Release|x64"
    2456                                                         >
    2457                                                         <Tool
    2458                                                                 Name="VCCLCompilerTool"
    2459                                                         />
    2460                                                 </FileConfiguration>
    24612377                                        </File>
    24622378                                        <File
    24632379                                                RelativePath="..\libsrc\libbioimg\formats\mpeg\registry.cpp"
    24642380                                                >
    2465                                                 <FileConfiguration
    2466                                                         Name="Debug|x64"
    2467                                                         >
    2468                                                         <Tool
    2469                                                                 Name="VCCLCompilerTool"
    2470                                                         />
    2471                                                 </FileConfiguration>
    2472                                                 <FileConfiguration
    2473                                                         Name="Release|x64"
    2474                                                         >
    2475                                                         <Tool
    2476                                                                 Name="VCCLCompilerTool"
    2477                                                         />
    2478                                                 </FileConfiguration>
    24792381                                        </File>
    24802382                                </Filter>
     
    33163218                        <File
    33173219                                RelativePath="..\libs\vc2008_x64\avutil-50.lib"
     3220                                >
     3221                                <FileConfiguration
     3222                                        Name="Debug|Win32"
     3223                                        ExcludedFromBuild="true"
     3224                                        >
     3225                                        <Tool
     3226                                                Name="VCCustomBuildTool"
     3227                                        />
     3228                                </FileConfiguration>
     3229                                <FileConfiguration
     3230                                        Name="Release|Win32"
     3231                                        ExcludedFromBuild="true"
     3232                                        >
     3233                                        <Tool
     3234                                                Name="VCCustomBuildTool"
     3235                                        />
     3236                                </FileConfiguration>
     3237                        </File>
     3238                        <File
     3239                                RelativePath="..\libs\vc2008_x64\libexiv2.lib"
    33183240                                >
    33193241                                <FileConfiguration
  • bioView3D/src/glwidget.cpp

    r116 r138  
    9191  auto_resize_to_fit_hardware = true;
    9292
    93   map.push_back(-1);
    94   map.push_back(-1);
    95   map.push_back(-1);
     93  map.resize(7, -1);
    9694
    9795  gobjects.insertDefaultRenderProc( "point", gobject_render_point_gl );
     
    738736void GLWidget::setChannelMapping( const std::vector<int> &_map ) {
    739737  map.assign( _map.begin(), _map.end() );
    740   if (map.size()<3) map.push_back(-1);
    741   if (map.size()<3) map.push_back(-1);
    742   if (map.size()<3) map.push_back(-1);
     738  map.resize( 7, -1);
    743739}
    744740
     
    874870    TDimImage img = stack[z]->deepCopy();
    875871    img.remapChannels( map );
     872    //TDimImage img = stack[z]->fuse( map[0], map[1], map[2], map[3], map[4], map[5], map[6] );
    876873
    877874    emit inProgress( "Creating voxels", z, volume.volume_size[2]-1 );
     
    10591056
    10601057    emit inProgress( "Creating voxels", volume.volume_size[2]-z, volume.volume_size[2] );
     1058   
     1059    // TGBYMCGr mapping
     1060    TDimImage img = stack[z]->fuse( map[0], map[1], map[2], map[3], map[4], map[5], map[6] );
    10611061
    10621062    for (int y=0; y<volume.volume_size[1]; ++y) {
     1063      /*
     1064      // RGB mapping
    10631065      unsigned char *pr = (unsigned char *) line_black.bytes();
    10641066      unsigned char *pg = (unsigned char *) line_black.bytes();
     
    10671069      if (map[1]>=0) pg = (unsigned char *) stack[z]->scanLine( map[1], y );
    10681070      if (map[2]>=0) pb = (unsigned char *) stack[z]->scanLine( map[2], y );
     1071      */
     1072
     1073      // TGBYMCGr mapping
     1074      unsigned char *pr = (unsigned char *) img.scanLine( 0, y );
     1075      unsigned char *pg = (unsigned char *) img.scanLine( 1, y );
     1076      unsigned char *pb = (unsigned char *) img.scanLine( 2, y );
    10691077
    10701078      for (int x=0; x<volume.volume_size[0]; ++x) {
  • bioView3D/src/movie_export.cpp

    r101 r138  
    109109  if (!glw) return; 
    110110  if (fileName.isEmpty()) return;
    111   int num_frames = flypath.size();
    112111
    113112  //----------------------------------------------------------
     
    121120  QByteArray op = options.toLatin1();
    122121
    123   TMetaFormatManager fm;
     122  TDimFormatManager fm;
    124123  if (fm.isFormatSupportsWMP( ff.data() ) == false) return;
    125124
     
    127126  if ( fm.sessionStartWrite(fn.data(), ff.data(), op.data())==0 ) {
    128127    TDimImage img;
     128    int num_frames = flypath.size();
    129129    for (int page=0; page<num_frames; ++page) {
    130130      int a = dim::round<int>( flypath[page].a() * 16.0 );
     
    134134      glw->setCameraPosition( flypath[page].x(), flypath[page].y(), flypath[page].z(), false );
    135135      glw->setCameraScale( flypath[page].s(), false );
    136       glw->update();
     136      //glw->update();
     137      glw->repaint();
    137138
    138139      QApplication::processEvents();
     
    140141      img.fromQImage( qimg );
    141142      if (fm.sessionWriteImage( img.imageBitmap(), page ) != 0) break;
     143      QApplication::processEvents();
    142144      if (glw->progress && glw->progress->isIdle()) break;
    143145      if (glw->progress) glw->progress->doProgress("Writing movie", page, num_frames );
     
    147149  if (glw->progress) glw->progress->stop();
    148150}
     151
     152void DMovieExport::showPreview( const DCamPath<double, double, double> &flypath ) {
     153  int num_frames = flypath.size();
     154  if (glw->progress) glw->progress->startNow(true);
     155  for (int page=0; page<num_frames; ++page) {
     156    int a = dim::round<int>( flypath[page].a() * 16.0 );
     157    int b = dim::round<int>( flypath[page].b() * 16.0 );
     158    int g = dim::round<int>( flypath[page].g() * 16.0 );
     159    glw->setCameraRotation( a, b, g, false );
     160    glw->setCameraPosition( flypath[page].x(), flypath[page].y(), flypath[page].z(), false );
     161    glw->setCameraScale( flypath[page].s(), false );
     162    glw->update();
     163    QApplication::processEvents();
     164    if (glw->progress) glw->progress->doProgress("Previewing movie", page, num_frames );
     165  }
     166  if (glw->progress) glw->progress->stop();
     167}
  • bioView3D/src/movie_export.h

    r101 r138  
    4242
    4343  void exportVideo( const DCamPath<double, double, double> &flypath, const QString &fileName, const QString &format, double fps = 30.0 );
     44  void showPreview( const DCamPath<double, double, double> &flypath );
     45
    4446
    4547public slots:
  • bioView3D/src/ui/voxelator.ui

    r128 r138  
    88    <x>0</x>
    99    <y>0</y>
    10     <width>965</width>
    11     <height>777</height>
     10    <width>936</width>
     11    <height>739</height>
    1212   </rect>
    1313  </property>
     
    1616  </property>
    1717  <widget class="QWidget" name="centralwidget">
    18    <layout class="QGridLayout" name="gridLayout_4">
    19     <property name="horizontalSpacing">
    20      <number>4</number>
     18   <property name="sizePolicy">
     19    <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
     20     <horstretch>0</horstretch>
     21     <verstretch>0</verstretch>
     22    </sizepolicy>
     23   </property>
     24   <layout class="QHBoxLayout" name="horizontalLayout_2">
     25    <property name="spacing">
     26     <number>2</number>
    2127    </property>
    2228    <property name="margin">
    2329     <number>4</number>
    2430    </property>
    25     <item row="0" column="0">
    26      <widget class="GLWidget" name="glWidget" native="true">
     31    <item>
     32     <widget class="QWidget" name="centralArea" native="true">
    2733      <property name="sizePolicy">
    28        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
     34       <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
     35        <horstretch>4</horstretch>
     36        <verstretch>0</verstretch>
     37       </sizepolicy>
     38      </property>
     39      <layout class="QVBoxLayout" name="verticalLayout_2">
     40       <property name="spacing">
     41        <number>2</number>
     42       </property>
     43       <property name="margin">
     44        <number>0</number>
     45       </property>
     46       <item>
     47        <widget class="GLWidget" name="glWidget" native="true">
     48         <property name="sizePolicy">
     49          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
     50           <horstretch>0</horstretch>
     51           <verstretch>0</verstretch>
     52          </sizepolicy>
     53         </property>
     54         <property name="minimumSize">
     55          <size>
     56           <width>200</width>
     57           <height>200</height>
     58          </size>
     59         </property>
     60         <property name="lineWidth" stdset="0">
     61          <number>0</number>
     62         </property>
     63         <property name="text" stdset="0">
     64          <string/>
     65         </property>
     66        </widget>
     67       </item>
     68       <item>
     69        <widget class="QWidget" name="cameraControlWidget" native="true">
     70         <property name="sizePolicy">
     71          <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
     72           <horstretch>0</horstretch>
     73           <verstretch>0</verstretch>
     74          </sizepolicy>
     75         </property>
     76         <layout class="QGridLayout" name="gridLayout_3">
     77          <property name="margin">
     78           <number>0</number>
     79          </property>
     80          <property name="spacing">
     81           <number>0</number>
     82          </property>
     83          <item row="0" column="0" rowspan="2">
     84           <widget class="QGroupBox" name="groupBox_4">
     85            <property name="title">
     86             <string>Camera rotation</string>
     87            </property>
     88            <layout class="QGridLayout" name="gridLayout_2">
     89             <item row="0" column="0">
     90              <widget class="QLabel" name="label">
     91               <property name="text">
     92                <string>X: </string>
     93               </property>
     94              </widget>
     95             </item>
     96             <item row="0" column="1">
     97              <widget class="QSlider" name="xSlider">
     98               <property name="toolTip">
     99                <string>value</string>
     100               </property>
     101               <property name="orientation">
     102                <enum>Qt::Horizontal</enum>
     103               </property>
     104               <property name="tickPosition">
     105                <enum>QSlider::TicksBelow</enum>
     106               </property>
     107              </widget>
     108             </item>
     109             <item row="1" column="0">
     110              <widget class="QLabel" name="label_2">
     111               <property name="text">
     112                <string>Y: </string>
     113               </property>
     114              </widget>
     115             </item>
     116             <item row="1" column="1">
     117              <widget class="QSlider" name="ySlider">
     118               <property name="orientation">
     119                <enum>Qt::Horizontal</enum>
     120               </property>
     121               <property name="tickPosition">
     122                <enum>QSlider::TicksBelow</enum>
     123               </property>
     124              </widget>
     125             </item>
     126             <item row="2" column="0">
     127              <widget class="QLabel" name="label_3">
     128               <property name="text">
     129                <string>Z: </string>
     130               </property>
     131              </widget>
     132             </item>
     133             <item row="2" column="1">
     134              <widget class="QSlider" name="zSlider">
     135               <property name="orientation">
     136                <enum>Qt::Horizontal</enum>
     137               </property>
     138               <property name="tickPosition">
     139                <enum>QSlider::TicksBelow</enum>
     140               </property>
     141              </widget>
     142             </item>
     143            </layout>
     144           </widget>
     145          </item>
     146          <item row="0" column="1" rowspan="2">
     147           <widget class="QGroupBox" name="groupBox_3">
     148            <property name="sizePolicy">
     149             <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
     150              <horstretch>0</horstretch>
     151              <verstretch>0</verstretch>
     152             </sizepolicy>
     153            </property>
     154            <property name="title">
     155             <string>Camera move</string>
     156            </property>
     157            <layout class="QGridLayout">
     158             <property name="leftMargin">
     159              <number>2</number>
     160             </property>
     161             <property name="topMargin">
     162              <number>0</number>
     163             </property>
     164             <property name="rightMargin">
     165              <number>2</number>
     166             </property>
     167             <property name="bottomMargin">
     168              <number>0</number>
     169             </property>
     170             <property name="spacing">
     171              <number>0</number>
     172             </property>
     173             <item row="0" column="1">
     174              <widget class="QPushButton" name="cameraUpBtn">
     175               <property name="text">
     176                <string>^</string>
     177               </property>
     178              </widget>
     179             </item>
     180             <item row="1" column="0">
     181              <widget class="QPushButton" name="cameraLeftBtn">
     182               <property name="sizePolicy">
     183                <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
     184                 <horstretch>0</horstretch>
     185                 <verstretch>0</verstretch>
     186                </sizepolicy>
     187               </property>
     188               <property name="minimumSize">
     189                <size>
     190                 <width>25</width>
     191                 <height>0</height>
     192                </size>
     193               </property>
     194               <property name="text">
     195                <string>&lt;</string>
     196               </property>
     197              </widget>
     198             </item>
     199             <item row="1" column="1">
     200              <widget class="QPushButton" name="cameraResetBtn">
     201               <property name="text">
     202                <string>reset</string>
     203               </property>
     204              </widget>
     205             </item>
     206             <item row="1" column="2">
     207              <widget class="QPushButton" name="cameraRightBtn">
     208               <property name="text">
     209                <string>&gt;</string>
     210               </property>
     211              </widget>
     212             </item>
     213             <item row="2" column="1">
     214              <widget class="QPushButton" name="cameraDownBtn">
     215               <property name="text">
     216                <string>v</string>
     217               </property>
     218              </widget>
     219             </item>
     220            </layout>
     221           </widget>
     222          </item>
     223          <item row="0" column="2">
     224           <widget class="QGroupBox" name="scaleGroup">
     225            <property name="sizePolicy">
     226             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
     227              <horstretch>0</horstretch>
     228              <verstretch>0</verstretch>
     229             </sizepolicy>
     230            </property>
     231            <property name="maximumSize">
     232             <size>
     233              <width>16777215</width>
     234              <height>16777215</height>
     235             </size>
     236            </property>
     237            <property name="title">
     238             <string>Camera scale</string>
     239            </property>
     240            <layout class="QHBoxLayout" name="horizontalLayout">
     241             <property name="spacing">
     242              <number>4</number>
     243             </property>
     244             <property name="margin">
     245              <number>4</number>
     246             </property>
     247             <item>
     248              <widget class="QPushButton" name="zoomOutBtn">
     249               <property name="sizePolicy">
     250                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
     251                 <horstretch>0</horstretch>
     252                 <verstretch>0</verstretch>
     253                </sizepolicy>
     254               </property>
     255               <property name="text">
     256                <string>(-)</string>
     257               </property>
     258              </widget>
     259             </item>
     260             <item>
     261              <widget class="QPushButton" name="zoom11Btn">
     262               <property name="sizePolicy">
     263                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
     264                 <horstretch>0</horstretch>
     265                 <verstretch>0</verstretch>
     266                </sizepolicy>
     267               </property>
     268               <property name="text">
     269                <string>1:1</string>
     270               </property>
     271              </widget>
     272             </item>
     273             <item>
     274              <widget class="QPushButton" name="zoomInBtn">
     275               <property name="sizePolicy">
     276                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
     277                 <horstretch>0</horstretch>
     278                 <verstretch>0</verstretch>
     279                </sizepolicy>
     280               </property>
     281               <property name="text">
     282                <string>(+)</string>
     283               </property>
     284              </widget>
     285             </item>
     286            </layout>
     287           </widget>
     288          </item>
     289          <item row="1" column="2">
     290           <widget class="QGroupBox" name="groupBox_2">
     291            <property name="title">
     292             <string>Clipping plane</string>
     293            </property>
     294            <layout class="QGridLayout" name="gridLayout">
     295             <property name="margin">
     296              <number>4</number>
     297             </property>
     298             <item row="1" column="0">
     299              <widget class="DRangeSlider" name="clippingPlaneSlider" native="true"/>
     300             </item>
     301            </layout>
     302           </widget>
     303          </item>
     304         </layout>
     305        </widget>
     306       </item>
     307      </layout>
     308     </widget>
     309    </item>
     310    <item>
     311     <widget class="QScrollArea" name="rightScrollArea">
     312      <property name="sizePolicy">
     313       <sizepolicy hsizetype="Maximum" vsizetype="Expanding">
    29314        <horstretch>0</horstretch>
    30315        <verstretch>0</verstretch>
     
    33318      <property name="minimumSize">
    34319       <size>
    35         <width>200</width>
    36         <height>200</height>
    37        </size>
    38       </property>
    39       <property name="lineWidth" stdset="0">
    40        <number>0</number>
    41       </property>
    42       <property name="text" stdset="0">
    43        <string/>
    44       </property>
    45      </widget>
    46     </item>
    47     <item row="0" column="1" rowspan="2">
    48      <widget class="QScrollArea" name="rightScrollArea">
    49       <property name="sizePolicy">
    50        <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
    51         <horstretch>0</horstretch>
    52         <verstretch>0</verstretch>
    53        </sizepolicy>
    54       </property>
    55       <property name="minimumSize">
    56        <size>
    57         <width>0</width>
     320        <width>250</width>
    58321        <height>0</height>
    59322       </size>
     
    80343         <y>0</y>
    81344         <width>266</width>
    82          <height>728</height>
     345         <height>690</height>
    83346        </rect>
    84347       </property>
     
    286549             <property name="font">
    287550              <font>
    288                <pointsize>10</pointsize>
     551               <pointsize>9</pointsize>
    289552               <weight>75</weight>
    290553               <bold>true</bold>
     
    367630             <property name="font">
    368631              <font>
    369                <pointsize>10</pointsize>
     632               <pointsize>9</pointsize>
    370633               <weight>75</weight>
    371634               <bold>true</bold>
     
    442705           </item>
    443706           <item row="2" column="1" colspan="2">
    444             <widget class="QComboBox" name="blueCombo"/>
     707            <widget class="QComboBox" name="blueCombo">
     708             <property name="minimumSize">
     709              <size>
     710               <width>164</width>
     711               <height>0</height>
     712              </size>
     713             </property>
     714            </widget>
    445715           </item>
    446716           <item row="0" column="1" colspan="2">
    447             <widget class="QComboBox" name="redCombo"/>
     717            <widget class="QComboBox" name="redCombo">
     718             <property name="minimumSize">
     719              <size>
     720               <width>164</width>
     721               <height>0</height>
     722              </size>
     723             </property>
     724            </widget>
    448725           </item>
    449726           <item row="1" column="0">
     
    455732           </item>
    456733           <item row="1" column="1" colspan="2">
    457             <widget class="QComboBox" name="greenCombo"/>
     734            <widget class="QComboBox" name="greenCombo">
     735             <property name="minimumSize">
     736              <size>
     737               <width>164</width>
     738               <height>0</height>
     739              </size>
     740             </property>
     741            </widget>
    458742           </item>
    459743           <item row="2" column="0">
     
    461745             <property name="text">
    462746              <string>Blue:</string>
     747             </property>
     748            </widget>
     749           </item>
     750           <item row="4" column="0" colspan="3">
     751            <widget class="QWidget" name="moreChannelsWidget" native="true">
     752             <property name="minimumSize">
     753              <size>
     754               <width>0</width>
     755               <height>0</height>
     756              </size>
     757             </property>
     758             <layout class="QGridLayout" name="gridLayout_4">
     759              <property name="horizontalSpacing">
     760               <number>0</number>
     761              </property>
     762              <property name="verticalSpacing">
     763               <number>2</number>
     764              </property>
     765              <property name="margin">
     766               <number>0</number>
     767              </property>
     768              <item row="0" column="0">
     769               <widget class="QLabel" name="yellowLabel">
     770                <property name="text">
     771                 <string>Yellow:</string>
     772                </property>
     773               </widget>
     774              </item>
     775              <item row="0" column="1">
     776               <widget class="QComboBox" name="yellowCombo">
     777                <property name="minimumSize">
     778                 <size>
     779                  <width>164</width>
     780                  <height>0</height>
     781                 </size>
     782                </property>
     783               </widget>
     784              </item>
     785              <item row="1" column="0">
     786               <widget class="QLabel" name="magentaLabel">
     787                <property name="text">
     788                 <string>Magenta:</string>
     789                </property>
     790               </widget>
     791              </item>
     792              <item row="1" column="1">
     793               <widget class="QComboBox" name="magentaCombo">
     794                <property name="minimumSize">
     795                 <size>
     796                  <width>164</width>
     797                  <height>0</height>
     798                 </size>
     799                </property>
     800               </widget>
     801              </item>
     802              <item row="2" column="0">
     803               <widget class="QLabel" name="cyanLabel">
     804                <property name="text">
     805                 <string>Cyan:</string>
     806                </property>
     807               </widget>
     808              </item>
     809              <item row="2" column="1">
     810               <widget class="QComboBox" name="cyanCombo">
     811                <property name="minimumSize">
     812                 <size>
     813                  <width>164</width>
     814                  <height>0</height>
     815                 </size>
     816                </property>
     817               </widget>
     818              </item>
     819              <item row="3" column="0">
     820               <widget class="QLabel" name="grayLabel">
     821                <property name="text">
     822                 <string>Gray:</string>
     823                </property>
     824               </widget>
     825              </item>
     826              <item row="3" column="1">
     827               <widget class="QComboBox" name="grayCombo">
     828                <property name="minimumSize">
     829                 <size>
     830                  <width>164</width>
     831                  <height>0</height>
     832                 </size>
     833                </property>
     834               </widget>
     835              </item>
     836             </layout>
     837            </widget>
     838           </item>
     839           <item row="3" column="0" colspan="3">
     840            <widget class="QLabel" name="moreChannelsLabel">
     841             <property name="font">
     842              <font>
     843               <pointsize>8</pointsize>
     844               <weight>75</weight>
     845               <bold>true</bold>
     846              </font>
     847             </property>
     848             <property name="cursor">
     849              <cursorShape>PointingHandCursor</cursorShape>
     850             </property>
     851             <property name="text">
     852              <string>&lt;a href=&quot;triggerMoreChannels&quot;&gt;More...&lt;/a&gt;</string>
    463853             </property>
    464854            </widget>
     
    6461036            <widget class="QPushButton" name="createVolumeBtn">
    6471037             <property name="text">
    648               <string>Create Volume</string>
     1038              <string>Update volume</string>
    6491039             </property>
    6501040            </widget>
     
    7371127     </widget>
    7381128    </item>
    739     <item row="1" column="0">
    740      <widget class="QWidget" name="cameraControlWidget" native="true">
    741       <property name="sizePolicy">
    742        <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
    743         <horstretch>0</horstretch>
    744         <verstretch>0</verstretch>
    745        </sizepolicy>
    746       </property>
    747       <layout class="QGridLayout" name="gridLayout_3">
    748        <property name="margin">
    749         <number>0</number>
    750        </property>
    751        <property name="spacing">
    752         <number>0</number>
    753        </property>
    754        <item row="0" column="0" rowspan="2">
    755         <widget class="QGroupBox" name="groupBox_4">
    756          <property name="title">
    757           <string>Camera rotation</string>
    758          </property>
    759          <layout class="QGridLayout" name="gridLayout_2">
    760           <item row="0" column="0">
    761            <widget class="QLabel" name="label">
    762             <property name="text">
    763              <string>X: </string>
    764             </property>
    765            </widget>
    766           </item>
    767           <item row="0" column="1">
    768            <widget class="QSlider" name="xSlider">
    769             <property name="toolTip">
    770              <string>value</string>
    771             </property>
    772             <property name="orientation">
    773              <enum>Qt::Horizontal</enum>
    774             </property>
    775             <property name="tickPosition">
    776              <enum>QSlider::TicksBelow</enum>
    777             </property>
    778            </widget>
    779           </item>
    780           <item row="1" column="0">
    781            <widget class="QLabel" name="label_2">
    782             <property name="text">
    783              <string>Y: </string>
    784             </property>
    785            </widget>
    786           </item>
    787           <item row="1" column="1">
    788            <widget class="QSlider" name="ySlider">
    789             <property name="orientation">
    790              <enum>Qt::Horizontal</enum>
    791             </property>
    792             <property name="tickPosition">
    793              <enum>QSlider::TicksBelow</enum>
    794             </property>
    795            </widget>
    796           </item>
    797           <item row="2" column="0">
    798            <widget class="QLabel" name="label_3">
    799             <property name="text">
    800              <string>Z: </string>
    801             </property>
    802            </widget>
    803           </item>
    804           <item row="2" column="1">
    805            <widget class="QSlider" name="zSlider">
    806             <property name="orientation">
    807              <enum>Qt::Horizontal</enum>
    808             </property>
    809             <property name="tickPosition">
    810              <enum>QSlider::TicksBelow</enum>
    811             </property>
    812            </widget>
    813           </item>
    814          </layout>
    815         </widget>
    816        </item>
    817        <item row="0" column="1" rowspan="2">
    818         <widget class="QGroupBox" name="groupBox_3">
    819          <property name="sizePolicy">
    820           <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
    821            <horstretch>0</horstretch>
    822            <verstretch>0</verstretch>
    823           </sizepolicy>
    824          </property>
    825          <property name="title">
    826           <string>Camera move</string>
    827          </property>
    828          <layout class="QGridLayout">
    829           <property name="leftMargin">
    830            <number>2</number>
    831           </property>
    832           <property name="topMargin">
    833            <number>0</number>
    834           </property>
    835           <property name="rightMargin">
    836            <number>2</number>
    837           </property>
    838           <property name="bottomMargin">
    839            <number>0</number>
    840           </property>
    841           <property name="spacing">
    842            <number>0</number>
    843           </property>
    844           <item row="0" column="1">
    845            <widget class="QPushButton" name="cameraUpBtn">
    846             <property name="text">
    847              <string>^</string>
    848             </property>
    849            </widget>
    850           </item>
    851           <item row="1" column="0">
    852            <widget class="QPushButton" name="cameraLeftBtn">
    853             <property name="sizePolicy">
    854              <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
    855               <horstretch>0</horstretch>
    856               <verstretch>0</verstretch>
    857              </sizepolicy>
    858             </property>
    859             <property name="minimumSize">
    860              <size>
    861               <width>25</width>
    862               <height>0</height>
    863              </size>
    864             </property>
    865             <property name="text">
    866              <string>&lt;</string>
    867             </property>
    868            </widget>
    869           </item>
    870           <item row="1" column="1">
    871            <widget class="QPushButton" name="cameraResetBtn">
    872             <property name="text">
    873              <string>reset</string>
    874             </property>
    875            </widget>
    876           </item>
    877           <item row="1" column="2">
    878            <widget class="QPushButton" name="cameraRightBtn">
    879             <property name="text">
    880              <string>&gt;</string>
    881             </property>
    882            </widget>
    883           </item>
    884           <item row="2" column="1">
    885            <widget class="QPushButton" name="cameraDownBtn">
    886             <property name="text">
    887              <string>v</string>
    888             </property>
    889            </widget>
    890           </item>
    891          </layout>
    892         </widget>
    893        </item>
    894        <item row="0" column="2">
    895         <widget class="QGroupBox" name="scaleGroup">
    896          <property name="sizePolicy">
    897           <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
    898            <horstretch>0</horstretch>
    899            <verstretch>0</verstretch>
    900           </sizepolicy>
    901          </property>
    902          <property name="maximumSize">
    903           <size>
    904            <width>16777215</width>
    905            <height>16777215</height>
    906           </size>
    907          </property>
    908          <property name="title">
    909           <string>Camera scale</string>
    910          </property>
    911          <layout class="QHBoxLayout" name="horizontalLayout">
    912           <property name="spacing">
    913            <number>4</number>
    914           </property>
    915           <property name="margin">
    916            <number>4</number>
    917           </property>
    918           <item>
    919            <widget class="QPushButton" name="zoomOutBtn">
    920             <property name="sizePolicy">
    921              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
    922               <horstretch>0</horstretch>
    923               <verstretch>0</verstretch>
    924              </sizepolicy>
    925             </property>
    926             <property name="text">
    927              <string>(-)</string>
    928             </property>
    929            </widget>
    930           </item>
    931           <item>
    932            <widget class="QPushButton" name="zoom11Btn">
    933             <property name="sizePolicy">
    934              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
    935               <horstretch>0</horstretch>
    936               <verstretch>0</verstretch>
    937              </sizepolicy>
    938             </property>
    939             <property name="text">
    940              <string>1:1</string>
    941             </property>
    942            </widget>
    943           </item>
    944           <item>
    945            <widget class="QPushButton" name="zoomInBtn">
    946             <property name="sizePolicy">
    947              <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
    948               <horstretch>0</horstretch>
    949               <verstretch>0</verstretch>
    950              </sizepolicy>
    951             </property>
    952             <property name="text">
    953              <string>(+)</string>
    954             </property>
    955            </widget>
    956           </item>
    957          </layout>
    958         </widget>
    959        </item>
    960        <item row="1" column="2">
    961         <widget class="QGroupBox" name="groupBox_2">
    962          <property name="title">
    963           <string>Clipping plane</string>
    964          </property>
    965          <layout class="QGridLayout" name="gridLayout">
    966           <property name="margin">
    967            <number>4</number>
    968           </property>
    969           <item row="1" column="0">
    970            <widget class="DRangeSlider" name="clippingPlaneSlider" native="true"/>
    971           </item>
    972          </layout>
    973         </widget>
    974        </item>
    975       </layout>
    976      </widget>
    977     </item>
    9781129   </layout>
    9791130  </widget>
     
    9831134     <x>0</x>
    9841135     <y>0</y>
    985      <width>965</width>
     1136     <width>936</width>
    9861137     <height>21</height>
    9871138    </rect>
     
    12361387    <bool>true</bool>
    12371388   </property>
     1389   <property name="enabled">
     1390    <bool>false</bool>
     1391   </property>
    12381392   <property name="text">
    12391393    <string>Voxels</string>
  • bioView3D/src/window.cpp

    r128 r138  
    1818#define BV_APPLICATION     "BioView3D"
    1919#define BV_CONFIG_FILE     "bioview3d.ini"
    20 #define BV_VERSION         "0.0.14"
     20#define BV_VERSION         "0.0.15"
    2121
    2222#include <string>
     
    5252  ui.setupUi(this);
    5353
     54  ui.moreChannelsWidget->setVisible(false);
    5455  defineSlider(ui.xSlider);
    5556  defineSlider(ui.ySlider);
     
    6263  status_bar->addWidget(progress);
    6364
    64 
     65  splitter = new QSplitter(this);
     66  splitter->addWidget(ui.centralArea);
     67  splitter->addWidget(ui.rightScrollArea);
     68  this->setCentralWidget(splitter);
    6569
    6670  // menu
     
    133137  connect(ui.greenCombo, SIGNAL(activated(int)), this, SLOT(onComboActivated(int)));
    134138  connect(ui.blueCombo, SIGNAL(activated(int)), this, SLOT(onComboActivated(int)));
     139  connect(ui.yellowCombo, SIGNAL(activated(int)), this, SLOT(onComboActivated(int)));
     140  connect(ui.magentaCombo, SIGNAL(activated(int)), this, SLOT(onComboActivated(int)));
     141  connect(ui.cyanCombo, SIGNAL(activated(int)), this, SLOT(onComboActivated(int)));
     142  connect(ui.grayCombo, SIGNAL(activated(int)), this, SLOT(onComboActivated(int)));
    135143
    136144  connect(ui.glWidget, SIGNAL(startProgress()), this, SLOT(onStartProgress()));
     
    179187  connect(ui.enhancedLoadLabel, SIGNAL(linkActivated(const QString &)), this, SLOT(openEnhanced()));
    180188  connect(ui.gobjectsRenderingLabel, SIGNAL(linkActivated(const QString &)), this, SLOT(openGOBRenderingOptions()));
     189  connect(ui.moreChannelsLabel, SIGNAL(linkActivated(const QString &)), this, SLOT(triggerMoreChannels()));
    181190
    182191  //-------------------------------------
     
    284293  map.push_back( ui.greenCombo->currentIndex()-1 );
    285294  map.push_back( ui.blueCombo->currentIndex()-1 );
     295  map.push_back( ui.yellowCombo->currentIndex()-1 );
     296  map.push_back( ui.magentaCombo->currentIndex()-1 );
     297  map.push_back( ui.cyanCombo->currentIndex()-1 );
     298  map.push_back( ui.grayCombo->currentIndex()-1 );
    286299  ui.glWidget->setChannelMapping( map );
    287300}
     
    333346}
    334347
     348void Window::initCombo( QComboBox *cb, const QStringList &ls, const QString &color ) {
     349  cb->clear();
     350  cb->addItems( ls );
     351  QString color_name = "display_channel_"+color;
     352  int def = ui.glWidget->image_stack().get_metadata_tag_int( color_name.toStdString(), -1 )+1;
     353  cb->setCurrentIndex(def);
     354}
     355
    335356void Window::setSliders() {
    336357  QStringList ls;
     
    342363  }
    343364
    344   ui.redCombo->clear();
    345   ui.redCombo->addItems( ls );
    346   int def_red = ui.glWidget->image_stack().get_metadata_tag_int( "display_channel_red", -1 )+1;
    347   ui.redCombo->setCurrentIndex(def_red);
    348 
    349   ui.greenCombo->clear();
    350   ui.greenCombo->addItems( ls );
    351   int def_green = ui.glWidget->image_stack().get_metadata_tag_int( "display_channel_green", -1 )+1;
    352   ui.greenCombo->setCurrentIndex(def_green);
    353 
    354   ui.blueCombo->clear();
    355   ui.blueCombo->addItems( ls );
    356   int def_blue = ui.glWidget->image_stack().get_metadata_tag_int( "display_channel_blue", -1 )+1;
    357   ui.blueCombo->setCurrentIndex(def_blue);
     365  initCombo( ui.redCombo,     ls, "red" );
     366  initCombo( ui.greenCombo,   ls, "green" );
     367  initCombo( ui.blueCombo,    ls, "blue" );
     368  initCombo( ui.yellowCombo,  ls, "yellow" );
     369  initCombo( ui.magentaCombo, ls, "magenta" );
     370  initCombo( ui.cyanCombo,    ls, "cyan" );
     371  initCombo( ui.grayCombo,    ls, "gray" );
    358372
    359373  onComboActivated(0);
     
    786800void Window::flyOver() {
    787801  if (!rightPane) return;
    788  
    789802  DCamPath<double, double, double> flypath = generate_flypath();
    790   int num_frames = flypath.size();
    791 
    792   onStartProgressNow(true);
    793   TDimImage img;
    794   for (int page=0; page<num_frames; ++page) {
    795     int a = dim::round<int>( flypath[page].a() * 16.0 );
    796     int b = dim::round<int>( flypath[page].b() * 16.0 );
    797     int g = dim::round<int>( flypath[page].g() * 16.0 );
    798     ui.glWidget->setCameraRotation( a, b, g, false );
    799     ui.glWidget->setCameraPosition( flypath[page].x(), flypath[page].y(), flypath[page].z(), false );
    800     ui.glWidget->setCameraScale( flypath[page].s(), false );
    801     ui.glWidget->update();
    802     QApplication::processEvents();
    803     if (progress->isIdle()) break;
    804     onInProgress( "Previewing movie", page, num_frames );
    805   }
    806   onStopProgress();
     803  movieExport->showPreview( flypath );
    807804}
    808805
     
    10381035}
    10391036
     1037void Window::triggerMoreChannels() {
     1038  ui.moreChannelsWidget->setVisible( !ui.moreChannelsWidget->isVisible() );
     1039  if (!ui.moreChannelsWidget->isVisible())
     1040    ui.moreChannelsLabel->setText("<a href='triggerMoreChannels'>More...</a>");
     1041  else
     1042    ui.moreChannelsLabel->setText("<a href='triggerMoreChannels'>Less...</a>");
     1043}
    10401044
    10411045
  • bioView3D/src/window.h

    r128 r138  
    6464  void appendVideoPathPoint(); 
    6565  void setPreDefCoordinatesVideo();
     66  void triggerMoreChannels(); 
    6667
    6768  void openGOBRenderingOptions(); 
     
    132133
    133134private:
     135  void initCombo( QComboBox *cb, const QStringList &ls, const QString &title );
     136
     137private:
    134138  Ui::VoxelatorForm       ui;
    135139  Ui::ImageImportForm     uiImageImport;
     
    138142  Ui::GObjectRenderingOptionsForm uiGObjectOptions;
    139143
     144  QPointer<QSplitter>       splitter;
    140145  QPointer<QWidget>         rightPane;
    141146  QPointer<QStatusBar>      status_bar;
     
    150155
    151156  DCamPath<double, double, double> generate_flypath();
    152 
    153157};
    154158
Note: See TracChangeset for help on using the changeset viewer.