Rotate Header table
This should be a good start:
\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{multirow}
\usepackage{amsfonts}
\begin{document}
\def\yes{$\color{green!50!black} \checkmark$}
\def\no{\color{red} X}
\begin{tabular}{|c|c|l|c|c|c||c|}
\hline
\multirow{3}{*}{\rotatebox{90}{\bf Image}} &
\multirow{3}{*}{\rotatebox{90}{\bf Differ}} &
Cavalero et al. 2005 & F/D & \yes & \yes & - \\
& & Cheng et al & \yes & \no & - & \no \\
& & Li et al & \no & \no & - & \yes \\
\hline
\hline
\multirow{5}{*}{\rotatebox{90}{\bf Statistical}} &
\multirow{3}{*}{\rotatebox{90}{\bf Differ}} &
Cavalero et al. 2005 & F/D & \yes & \yes & - \\
& & Cheng et al & \yes & \no & - & \no \\
& & Li et al & \no & \no & - & \yes \\
\cline{2-2}
& PF & Cheng et al & \yes & \no & - & \no \\
\cline{2-2}
& EM & Li et al & \no & \no & - & \yes \\
\hline
\multicolumn{2}{l}{} & & & & & \\
\cline{1-3}
\multicolumn{3}{|l}{Features(F) / Dense (D)} & & & & \\
\cline{1-4}
\multicolumn{4}{|l}{Occlusion} & & & \\
\cline{1-5}
\multicolumn{5}{|l}{Multiple Objects} & & \\
\cline{1-6}
\multicolumn{6}{|l}{Spatial continuity} & \\
\hline
\end{tabular}
\end{document}
This is the result:
Maybe I am a little bit late, but this tabular was interesting, and surprisingly easy to typeset using cals. Since cals does not have double rules, I have faked those using narrow columns and rows (2pt
). I have not removed padding above and below the narrow rows. Therefore, there are some Overfull hbox
warnings.
\documentclass[12pt,a4paper]{article}
\usepackage{lmodern, cals}
\usepackage[T1]{fontenc}
\usepackage[top=1cm, bottom=1cm, left=1.2cm, right=1.2cm]{geometry}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{amsfonts}
\def\yes{\textcolor{green!50!black}{$\checkmark$}}
\def\no{\textcolor{red}{X}}
\newcommand*\bfrot[1]{\rotatebox[origin=c]{90}{\bfseries#1}}
\pagestyle{empty}
% Set up the carlstable
\makeatletter
%% All rules of same weight
\def\cals@framers@width{0.4pt} % Outside frame rules, reduce if the rule is too heavy
\def\cals@framecs@width{0.4pt}
\def\cals@bodyrs@width{0.4pt}
\def\cals@AtBeginCell{\vfil} % All cell contents vertically centred
% Shorthands for spanning cells
\let\nc=\nullcell
\let\sc=\spancontent
\def\rb{\ifx\cals@borderR\relax % Right Border (rules) switch (off-on)
\def\cals@borderR{0.0pt}
\else \let\cals@borderR\relax\fi}
\def\lb{\ifx\cals@borderL\relax % Left Border switch (off-on)
\def\cals@borderL{0.0pt}
\else \let\cals@borderL\relax\fi}
\def\bb{\ifx\cals@borderB\relax % Bottom Border switch (off-on)
\def\cals@borderB{0.0pt}
\else \let\cals@borderB\relax\fi}
\def\lp{\ifdim\cals@paddingL=0.0pt\relax % Left padding switch (off-on)
\setlength{\cals@paddingL}{3pt}
\else \setlength{\cals@paddingL}{0pt}\fi}
\def\rp{\ifdim\cals@paddingR=0.0pt\relax % Right padding switch (off-on)
\setlength{\cals@paddingR}{3pt}
\else \setlength{\cals@paddingR}{0.0pt}\fi}
\makeatother
\begin{document}
\begin{table}
\begin{calstable}[c]
% Defining 16 columns, 2 are for double vertical rules (col2)
\colwidths{{\dimexpr(\columnwidth/128*8)}
{\dimexpr(\columnwidth/128*8)}
{\dimexpr(\columnwidth/64*22)}
{2pt}
{\dimexpr(\columnwidth/128*8)}
{\dimexpr(\columnwidth/128*6)}
{\dimexpr(\columnwidth/128*6)}
{\dimexpr(\columnwidth/128*6)}
{\dimexpr(\columnwidth/128*6)}
{\dimexpr(\columnwidth/128*5)}
{\dimexpr(\columnwidth/128*6)}
{\dimexpr(\columnwidth/128*6)}
{\dimexpr(\columnwidth/128*6)}
{\dimexpr(\columnwidth/128*6)}
{2pt}
{\dimexpr(\columnwidth/128*6)}
}
\makeatletter
%\setlength{\cals@paddingL}{2pt} % Changes to padding has to go inside the tables preamble
%\setlength{\cals@paddingR}{2pt} % Decrease tabcolsep from 4.96pt to 2pt
\setlength{\cals@paddingB}{2.5pt} % Uncomment if you want less space between cells
\setlength{\cals@paddingT}{2.5pt}
%R1B1
\small
\brow
\rb\nc{lrt}\rb
\nc{lrt}
\alignL\cell{\emph{Cavalaro et al. 2005} [11]}
\cell{}
\alignC\cell{F/D}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{}
\erow
%R2B2
\brow
\rb\nc{lr}\rb
\nc{lr}
\alignL\cell{\emph{Cheng et al. 2006} [17]}
\cell{}
\alignC\cell{D}
\cell{\yes}
\cell{S}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{\no}
\erow
%R3B3
\brow
\rb\nc{lr}\rb
\nc{lr}
\alignL\cell{\emph{ Li et al. 2007} [18]}
\cell{}
\alignC\cell{D}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{}
\erow
%R4B4
\brow
\rb\nc{lrb}\alignC\sc{\bfrot{\bfseries Image}}\rb
\nc{lrb}\alignC\sc{\bfrot{\bfseries Differ.}}
\alignL\cell{\emph{Colombari et al. 2009} [19]}
\cell{}
\alignC\cell{D}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{}
\erow
%R5Doubleline
\brow
\nc{ltb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{rtb}\sc{}
\ht\cals@current@row=2pt
\erow
%R6R5
\brow
\rb\nc{lrt}\rb
\nc{lrt}
\alignL\cell{\emph{Rasmussen et al. 2001} [20]}
\cell{}
\alignC\cell{D}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{\no}
\erow
%R7R6
\brow
\rb\nc{lr}\rb
\nc{lr}
\alignL\cell{\emph{Cremers et al. 2005} [21]}
\cell{}
\alignC\cell{D}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{\no}
\erow
%R8R7
\brow
\rb\nc{lr}\rb
\nc{lrb}\alignC\sc{\bfrot{\bfseries MAP}}
\alignL\cell{\emph{Shen et al. 2007} [22]}
\cell{}
\alignC\cell{D}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{\no}
\erow
%R9R8
\brow
\rb\nc{lr}\rb
\cell{PF}
\alignL\cell{\emph{Rathi et al. 2007} [24]}
\cell{}
\alignC\cell{D}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{--}
\cell{--}
\cell{}
\cell{--}
\cell{}
\cell{\no}
\erow
%R10R9
\brow
\rb\nc{lrb}\alignC\sc{\bfrot{\bfseries Statistical}}\rb
\cell{EM}
\alignL\cell{\emph{Stolkin et al. 2008} [13]}
\cell{}
\alignC\cell{D}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{--}
\cell{--}
\cell{}
\cell{--}
\cell{}
\cell{\no}
\erow
%R11Doubleline
\brow
\nc{ltb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{rtb}\sc{}
\ht\cals@current@row=2pt
\erow
%R12B10
\brow
\nc{lt}
\nc{rt}
\alignL\cell{\emph{Wiskott 1997} [27]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{}
\cell{--}
\cell{--}
\cell{}
\cell{--}
\cell{}
\cell{}
\erow
%R13B11
\brow
\nc{lb}
\nc{rb}\alignC\sc{\bfseries Wavelets}
\alignL\cell{\emph{Kong et al. 1998} [28]}
\cell{}
\alignC\cell{F}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{}
\erow
%R14Doubleline
\brow
\nc{ltb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{rtb}\sc{}
\ht\cals@current@row=2pt
\erow
%R15R12
\brow
\nc{ltb}
\nc{rtb}\alignC\sc{\bfseries O.F.}
\alignL\cell{\emph{Zhang et al. 2007} [30]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{}
\cell{}
\cell{--}
\cell{}
\cell{--}
\cell{}
\cell{\no}
\erow
%R16Doubleline
\brow
\nc{ltb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{rtb}\sc{}
\ht\cals@current@row=2pt
\erow
%R17B13
\brow
\nc{ltb}
\nc{rtb}\alignC\sc{\bfseries Layers}
\alignL\cell{\emph{Kumar et al. 2008} [14]}
\cell{}
\alignC\cell{F}
\cell{\yes}
\cell{S}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{--}
\cell{--}
\cell{\yes}
\cell{--}
\cell{}
\cell{\textcolor{red}{T}}
\erow
%R18Doubleline
\brow
\nc{ltb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{tb}\nc{tb}
\nc{rtb}\sc{}
\ht\cals@current@row=2pt
\erow
%R19B14
\brow
\nc{lt}
\nc{rt}
\alignL\cell{\emph{Coteira et al. 1998} [4]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R20B15
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Ichimura et al. 2000} [42]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R21B16
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Kanatani et al. 2002} [43]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R22B17
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Brand 2002} [53]}
\cell{}
\alignC\cell{F}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{O}
\cell{}
\cell{}
\erow
%R23B18
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Zelnik-Manor et al. 2003} [45]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R24B19
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Zhou et al. 2003} [54]}
\cell{}
\alignC\cell{F}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{p}
\cell{}
\cell{}
\erow
%R25B20
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Sugaya et al. 2004} [46]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R26B21
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Zelnik.Manor a et al. 2004} [47]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R27B22
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Gruber et al. 2004} [55]}
\cell{}
\alignC\cell{F}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{}
\cell{\yes}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R28B23
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Vidal et al. 2004} [49]}
\cell{}
\alignC\cell{F}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{}
\cell{\yes}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R29B24
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Yan et al. 2006/08} [1,2]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{}
\cell{}
\cell{\yes}
\cell{O}
\cell{}
\cell{\no}
\erow
%R30B25
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Gruber et al. 2006} [57]}
\cell{}
\alignC\cell{F}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R31B26
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Del Bue et al. 2007} [61]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{}
\cell{\yes}
\cell{P}
\cell{}
\cell{}
\erow
%R32B27
\brow
\nc{l}
\nc{r}
\alignL\cell{\emph{Goh et al. 2007} [58]}
\cell{}
\alignC\cell{F}
\cell{}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{P}
\cell{}
\cell{\no}
\erow
%R33B28
\brow
\nc{lb}
\nc{rb}\alignC\sc{\bfrot{\bfseries Factorization}}
\alignL\cell{\emph{Julià et al. 2007} [60]}
\cell{}
\alignC\cell{F}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{\yes}
\cell{}
\cell{\yes}
\cell{}
\cell{O}
\cell{}
\cell{}
\erow
%R34B29
\brow
\lb\cell{\phantom{Pj}}
\cell{}
\cell{}\lb
\cell{}
\bb\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}\bb
\erow
%R35B30
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Feature (F) / Dense (D)}\rb
\cell{}
\bb\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}\bb
\erow
%R36B31
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Occlusion}\rb
\cell{}
\bb\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}\rb\bb
\erow
%R37B32
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Multiple Objects (S static camera)}
\bb\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}\rb\bb
\erow
%R38B33
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Spatial Continuity}
\bb\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}\rb\bb
\erow
%R39B34
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Temporary Stopping}
\bb\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}\rb\bb
\erow
%R40B35
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Robustness}
\bb\cell{}
\cell{}
\cell{}
\cell{}
\cell{}
\cell{}\rb\bb
\erow
%R41B36
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Sequentiality}
\bb\cell{}
\cell{}
\cell{}
\cell{}
\cell{}\rb\bb
\erow
%R42B37
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Missing data}
\bb\cell{}
\cell{}
\cell{}
\cell{}\rb\bb
\erow
%R43B38
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Non-rigid objects}
\bb\cell{}
\cell{}
\cell{}\rb\bb
\erow
%R44B39
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Camara Model (O Orthographic, p para-persp., P Persp.)}
\cell{}
\bb\cell{}\rb\bb
\erow
%R45B40
\brow
\rb\nc{ltb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{tb}
\nc{rtb}\alignL\sc{Prior knowledge (\textcolor{red}{X}/Training (\textcolor{red}{T})}
\erow
\makeatletter
\end{calstable}\par
\caption{Summary of the examined techniques with respect to the most important attributes. Note the methods are classified into 6 categories: Image Difference, Statistical, Optical Flow, Wavelets, Layers and Factorization methods. When an attribute is not relevant for a technique the symbols “--” is used.}
\end{table}
\end{document}