text:
\subsection{Reconstruction without using Guide Image}
The measurements made with our imaging setup are linear in the unknown HSI, and hence, reconstruction can be posed as a simple linear inverse problem.
Let $H[x, y, l]$ be the discretized version of the HSI with $[x, y]$ representing discrete spatial coordinates and $l$ representing discrete wavelength coordinates.
Let $\Phi_k[x, y, l]$ be the spatially varying set of spectral filters for pattern $k$.
The set of measurements is then given by
\begin{align}
	I_k[x, y] &= \sum_{l=1}^{N_\lambda} H[x, y, l]\Phi_k[x, y, l].
\end{align}
If we vectorize $I_k[x, y]$ into a vector ${\bf i}_k \in \mathbb{R}^{N_xN_y \times 1}$, we can express the measurement model as
\begin{align}
	{\bf i}_k = X\Phi_k,
\end{align}
where $X\in\mathbb{R}^{N_x N_y \times N_\lambda}$ is the matrix representation of the HSI.
We can now formulate a convex optimization problem  to solve for ${\bf i}_k$:
\begin{align}
	\min_{X} \sum_{k=1}^{N}\| {\bf i}_k - X\Phi_k\|^2 + \mathcal{R}(X),
\end{align}
where $\mathcal{R}(\cdot)$ is a regularizer.
In our experiments, we use a combination of 2D total variation (TV) regularizer, and a 1D spectral smoothness regularizer, giving us
\begin{align}
	\min_{X} \sum_{k=1}^{N}\| {\bf i}_k - X\Phi_k\|^2 + \eta_{TV} TV_{2D}(X) + \eta_\text{spectral}\|XD_\lambda\|^2,
	\label{eq:tv}
\end{align}
where $D_\lambda$ is the 1D difference operator acting along spectral dimension.
The values of $\eta_{TV}$ and $\eta_\text{spectral}$ are estimated empirically based on the number of captured images and provide a trade-off between robustness to noise and fidelity between measurements and reconstruction.
We solved the optimization problem using stochastic gradient descent approach in PyTorch~\cite{pytorch2019}. We used Adam~\cite{kingma2014adam} optimizer for this purpose with a learning rate of $10^{-2}$ and $\beta_1=0.9, \beta_2=0.999$ for running averages of gradients and square of gradients, respectively. The optimization was run for a total of $200$ iterations.

\begin{figure}[!tt]
	\centering
	\includegraphics[width=\columnwidth]{figures/rank1_recon.pdf}
	\caption{\textbf{Rank-1 reconstruction with guide image.} In the presence of a guide image, we exploit spatial homogeneity to get accurate reconstruction. We divide the scene into homogeneous regions via superpixelation. We then represent the HSI within each superpixel as a rank-1 matrix, allowing us to robustly obtain the spectrum for each superpixel.}
	\label{fig:rank1}
\end{figure}
\subsection{Reconstruction using Guide Image}
The availability of an extra guide in the form of an RGB image can significantly increase the reconstruction accuracy.
While it is possible to consider the RGB image as another linear measurement of the scene's HSI and solve a joint optimization problem, we follow a non-linear approach that provides a better estimate.
Our guided reconstruction technique is inspired by recent work in hyperspectral imaging~\cite{saragadam2021sassi}, where superpixels are used to create a scene specific prior.

Given an RGB image $I_\text{RGB}[x, y]$ of the scene, we first partition the image into $Q$ superpixels using the simple linear iterative clustering (SLIC)~\cite{achanta2012slic} algorithm.
We make the assumption that the spectral profiles associated with pixels within any superpixel are scaled multiples of each other.
The underlying motivation for this approach is that superpixels adhere to object and depth boundaries and hence partition the image into regions of homogenous color, and thereby homogenous spectra.

Now consider the $q^{th}$ super pixel.
Let ${\bf g}_q$ be the grayscale pixel intensity of the guide image, ${\bf i}_{k,q}$ be the spectrally filtered measurements in the $k^{th}$ image, $\Phi_{k, q}$ be the measurement matrix corresponding to the $k^{th}$ image in the $q^{th}$ superpixel.
Since we have assumed that spectral information is identical, up to scale, in this superpixel, we rely on a simple rank-1 model to represent the HSI of the superpixel.
Specifically,
\begin{align}
	X_q &= {\bf g}_q {\bf s}_q^\top,
\end{align}
where ${\bf s}_q$ is the spectral basis in the $q^{th}$ super pixel.
With this model, we next solve the following regularized linear inverse problem at each superpixel using a simple least squares solution:
\begin{align}
\min_{{\bf s}_q} \sum_k \|{\bf i}_{k, q} - {\bf g}_q {\bf s}_q^\top\Phi_{k, q}\|^2 + \eta\|{\bf s}_q\|^2.
\label{eq:guided}
\end{align}
An overview of this approach is visualized in Fig.~\ref{fig:rank1}.
The number of superpixels is dependent on the noise levels and number of images.
As a general rule, the higher the noise, the fewer the superpixels so as to have a stable inversion.
Similarly, the more the images, the smaller the superpixels.

\subsection{Specifications of the Prototype}

Figure \ref{fig:proto} shows the lab prototype, on an optical benchtop, implementing the programmable spectral filter array.
For the most part, the prototype corresponds to the optical schematic presented earlier in Figure \ref{fig:layout}.
However, there are some important differences between the protoype and the schematic.
First, the fast and slow axes of the  SLM are typically aligned to it edges; since we need the  incident polarization  to be at $45^\circ$ to the fast axis, we would need to mount the SLM with an in-plane rotation.
This, while feasible, is cumbersome.
We instead use an achromatic quarterwave plate, immediately after the polarizing beamsplitter, with its fast axis aligned at $45^\circ$ to the transmitted polarization state of the beamsplitter.
The resulting light is circularly polarized, which has equal energy along both the fast and slow axes of the SLM, and hence, identical to rotating the SLM.
 %
 Second, we use a camera lens, focused at infinity, in the relay between the SLM and the main camera; the  superior multi-lens design of the camera lens has the effect of providing a dramatic improvement in the quality of captured images.
Finally, we have a second image sensor, an RGB unit, placed in the previously unused arm of the beamsplitter, and collocated with the image plane of the system and, hence, the SLM and the other image sensor.
We refer to this as the \textit{guide camera}, and use it for guided filter-based reconstruction techniques that resolve the loss of spatial resolution due to tiling of the spectral filters.

\paragraph{Specifications of the system.} The system is configured for a waveband spanning  visible  (VIS) and near-infrared (NIR) wavelengths, i.e., 400-1000nm,  which roughly matches  the sensor response of the  main camera that was used for making the spatio-spectral measurements.
We used a Holoeye Pluto2 NIR-015 SLM optimized for NIR wavebands, and endowed with a higher phase retardation which in turn provided a set of spectral filters with larger number of oscillations.
The SLM resolution was $1920 \times 1080$, with a pixel pitch of $8 \mu m$.
The pixel pitch of the camera observing the SLM is $6.5 \mu m$, at a resolution of $2048 \times 2048$ pixels.

The relay lenses used, except for the  one  immediately in front of the camera(s), were achromatic doublets, optimized for NIR transmissions, which we observed provided a smaller spot size over the VIS-NIR wavebands.
We used 100mm lenses here since the longer focal length results in smaller field distortions.
However, the use of doublets does lead to a chromatic blur in our captured images, which affects the captured imagery.
Clearly, using better optics, perhaps apochromatic lenses optimized to provide better chromatic correction, would naturally lead to better results.
The lab prototype above had a spatial field of size approximately $10.4 \times 8$ sq.mm; this field size, that is smaller than the dimensions of the SLM or camera, allowed us to avoid strong spherical and chromatic aberrations at its  periphery.
We also set the Fourier plane aperture to be 10mm wide; with 100mm relay lens,  this resulted in a  system with an $f/10$ aperture.
\begin{figure}
\includegraphics[width=0.475\textwidth]{figures/SpectrumCalibration.pdf}
\caption{{\textbf {Spectrum calibration.}} We use a spectrometer to obtain the spectral filter implemented by each SLM index. The set of filters obtained by this is visualized in the left image. It is worth comparing this image to that of Fig.\ \ref{subfig:sublabel1}, the set of filters obtained with linear voltage on the SLM index. The center and right images illustrate the intensity profiles with a few select rows and columns of the left image. }
\label{fig:spectrumcalib}
\end{figure}

\begin{figure*}
\centering
\includegraphics[width=\textwidth]{figures/patterns.pdf}
\caption{ \textbf{Pattern design.} We explore a range of SLM patterns that offer varying levels of smoothness, measured in terms of the phase gradient, and local richness, measured in terms of range of unique SLM values in a compact neighborhood. The smoothest of such patterns (not shown in the image above) are constant-valued SLM patterns, where there is no spatial gradient, that lack any diversity in spectral measurements. One-dimensional patterns offer the next smoothest alternative. (col 1,2) We design 1D patterns that are three pixels wide/tall and then stagger them to generate a diverse set of spectral in a local neighborhood. (col 3,4) We can also scale the patterns to generate more spectral filters at the cost of increase phase gradient. (col 5-8) Two-dimensional patterns offer the entire gamut of spectral filters in a small neighborhood, but generally at higher phase gradients than 1D patterns. We explore patterns that are tilted in two different ways: periodic and mirror symmetric, which avoid sharp transitions. (col-9) Finally, we design random tilings of $3 \times 3$ blocks; this provides a rich set of patterns, albeit with high phase gradients that make the measurement unreliable near the boundaries of each block. For each pattern, we show (row-1) the pattern displayed on the SLM, (row-2) a simulated image obtained from a full scan of all spectral filters, (row-3) the measured image, and (row-4) the absolute difference between the simulated and measured image. Note the high levels of inaccuracies near discontinuities in the SLM image.}
\label{fig:pattern}
\end{figure*}

\paragraph{Calibration.}
The proposed system requires  key calibration steps that need to be performed for correct operation.
First, we need to measure the spectral filter created by the LC cells under different input voltage, or what we refer to as spectral calibration.
This is achieved using the same procedure as described for estimating the gamma curve of the system.
Specifically, we mount a spectrometer (OceanOptics FLAME-S-VIS-NIR-ES)  in place of the  main camera and sweep $256$ constant-valued patterns on the SLM, corresponding to its 8-bit input.
For each displayed pattern, we capture a spectral measurement over the range $[380, 1010]nm$ at a spectral resolution of $0.35nm$.
Recall, that the actual voltage across the LC cells in the SLM is determined by the gamma curve, which was determined using the procedure described in Section \ref{sec:gamma} and shown in Figure \ref{subfig:sublabel3}.
Figure \ref{fig:spectrumcalib} visualizes the resulting calibration data.

We also need to obtain a pixel-to-pixel mapping between the SLM and the spectral camera; this step is especially important since our object is to implement a filter array and hence, this $XY$ calibration provides critical information on the filter applied to obtain the measurement at a sensor pixel.
We use conventional techniques to obtain this calibration, where we sequentially scan rows and columns on the SLM, detect the corresponding activated row/column on the image sensor, and finally, robustly fit a polynomial mapping between the two.
We provide details of this calibration procedure in the supplemental material.
Finally, the guide RGB camera is registered first to the spectral camera by imaging a texture-rich scene and fitting a homography between the images captured on the two cameras.

\section{Introduction}
\label{sec:intro}
\input{intro.tex}

\section{Prior Work}
\label{sec:prior}
\input{prior.tex}

\section{Programmable Spectral Filter Arrays}
\label{sec:proaspix}
\input{proaspix.tex}

\section{Designing Spatially-Varying  Filters}
\label{sec:pattern}
\input{patterns.tex}
\input{restorenet.tex}

\section{Hyperspectral Reconstruction Algorithms}
\label{sec:algo}
\input{algo.tex}

\section{Simulation Results}
\label{sec:sim}
\input{sim.tex}

\section{Real Results}
\label{sec:real}
\input{real.tex}

\section{Discussions}
\label{sec:discuss}
\input{discuss.tex}

\section*{Acknowledgements}
This work was support in part by a Sony Faculty Innovation Award and the National Science Foundation under the following awards:  1652569, 1730147, and 1801382.

\bibliographystyle{ACM-Reference-Format}

\subsection{Mitigating the Effect of Phase Modulation}
\label{sec:gamma}

Since the amount of wavefront distortion is directly related to the phase gradient, we begin by deriving the expression for the phase gradient, with the goal of identifying the factors that determine it.
From (\ref{eq:lc04}), the phase delays $\phi( {\bf x}; \lambda)$, where ${\bf x} = (x, y)$, induced by the SLM is given as
\begin{equation}
 \phi({\bf x}; \lambda) =  2\pi \frac{\Delta n(v({\bf x})) d_{LC}}{\lambda}.
 \end{equation}
The local distortions to the wavefront can be characterized by the spatial gradients of $\phi$.

In its normal mode of operation, we do not have arbitrary control over the SLM voltage $v(x, y)$ due to constraints on bandwidth of data on the video port used to control the SLM patterns.
Instead, the voltage $v(x, y)$ is given as
\begin{equation}
v(x, y) = \gamma(p(x, y)), \end{equation}

where $p(x, y)$ is the $8$-bit image displayed on the video port and $\gamma(\cdot)$ is the ``gamma curve'' of the SLM, or the mapping of this $8$-bit number to voltage applied at the SLM.
With this, the expression for the spatial gradients of $\phi({\bf x}; \lambda)$ can be written as
\begin{equation}
\frac{\nabla \phi}{d{\bf x}} = \frac{2\pi}{\lambda} d_{LC} \frac{\partial \Delta n}{d \gamma} \frac{\partial \gamma}{\partial p} \frac{\partial p}{d {\bf x}}
\label{eq:phasegrad01}
\end{equation}
The expression of the gradient above can be broken into three terms:
\begin{itemize}[leftmargin=*]
\item $ \frac{\partial \Delta n}{d \gamma}:$ the change in birefringence as a function of voltage across the LC cell --- this is a device-specific property,
\item $\frac{\partial \gamma}{\partial p}:$ gradient of the voltage applied at an SLM pixel as a function of the SLM index value used to control the SLM; this is a term that is determined by the \textit{gamma} curve that we select, and
\item $\frac{\partial p}{\partial {\bf x}}:$ the spatial gradients of the display pattern sent to the SLM.
\end{itemize}
Our goal is to keep the gradient as small as possible so as to minimize the undesirable effect of light tilts.
While it is possible to get a zero-valued gradient simply by displaying a constant pattern $p(x, y) = p$, such a choice is inconsistent with a spectral filter array.

\begin{figure*}
\centering
\includegraphics[width=\textwidth]{figures/patterns.pdf}
\caption{ \textbf{Pattern design.} We explore a range of SLM patterns that offer varying levels of smoothness, measured in terms of the phase gradient, and local richness, measured in terms of range of unique SLM values in a compact neighborhood. The smoothest of such patterns (not shown in the image above) are constant-valued SLM patterns, where there is no spatial gradient, that lack any diversity in spectral measurements. One-dimensional patterns offer the next smoothest alternative. (col 1,2) We design 1D patterns that are three pixels wide/tall and then stagger them to generate a diverse set of spectral in a local neighborhood. (col 3,4) We can also scale the patterns to generate more spectral filters at the cost of increase phase gradient. (col 5-8) Two-dimensional patterns offer the entire gamut of spectral filters in a small neighborhood, but generally at higher phase gradients than 1D patterns. We explore patterns that are tilted in two different ways: periodic and mirror symmetric, which avoid sharp transitions. (col-9) Finally, we design random tilings of $3 \times 3$ blocks; this provides a rich set of patterns, albeit with high phase gradients that make the measurement unreliable near the boundaries of each block. For each pattern, we show (row-1) the pattern displayed on the SLM, (row-2) a simulated image obtained from a full scan of all spectral filters, (row-3) the measured image, and (row-4) the absolute difference between the simulated and measured image. Note the high levels of inaccuracies near discontinuities in the SLM image.}
\label{fig:pattern}
\end{figure*}

\paragraph{Designing the gamma curve.}
To simplify the overall design problem, while minimizing the effect of the phase gradient, we choose a gamma curve $\gamma$ for the SLM such that
\begin{equation}
\frac{\partial \gamma}{\partial p} = c_0 \left[ d_{LC}   \frac{\partial \Delta n}{d \gamma} \right]^{-1}
\label{eq:gamma01}
\end{equation}
where $c_0$ is a constant.
This is equivalent to the selecting a $\gamma$ such that $\Delta n(\gamma(p))$ is affine in $p$.
The procedure for designing this gamma curve requires knowledge of the phase retardance induced by the SLM at different input voltages; we illustrate the procedure for this in Figure \ref{fig:gamma} and provide a detailed description in the Appendix.
With this choice, the phase gradient in (\ref{eq:phasegrad01}) reduces to
\begin{equation}
\frac{\nabla \phi}{d{\bf x}} = \frac{2\pi c_0}{\lambda} \frac{\nabla p}{d {\bf x}},
\label{eq:phasegrad02}
\end{equation}
and hence, the phase gradient is directly controlled by the smoothness of the pattern we display.

\subsection{Designing SLM Patterns}
The design of the patterns displayed on the SLM needs to balance two key criteria.
At one end, we need a diverse set of spectral filters in any local patch, so that we have  a rich measurement operator.
This richness criteria is  best satisfied with patterns that are endowed with very different filters in immediate proximity.
At the other end, we need to ensure that the spatial gradient of the displayed pattern is small; this is necessary so as to avoid the adverse effects of the distortions introduced by the spatially-varying phase modulation.
This smoothness criteria is best satisfied by a constant pattern.
Clearly, these two criteria are in direct opposition with one another.
Armed with these two criteria, we consider a number of patterns, discuss the rationale behind each, and detail their relative merits.
This discussion is summarized in Figure \ref{fig:pattern}.

\paragraph{Linear patterns and staggered variants.}  We can introduce some diversity into the SLM pattern by varying it linearly in a single direction.
An example of this pattern is
\[ p(x, y) = x \textrm{ mod } 255, \]
which has a spatial gradient of  $1$ intensity per SLM pixel (we will ignore these units in the sequel).
This pattern is a slight improvement over the constant pattern, but has tiles that are stretched along one of the axis, which results in severe loss in spatial resolution.
One approach to decrease this loss in resolution is to scale the pattern by displaying
\[ p(x, y) = (2x) \textrm{ mod } 255, \]
which increases the gradient by a factor of two, but decreases the tiling size by a commensurate amount.
A richer way to balance out this loss of resolution is to stagger the pattern across different rows, as shown in Figure \ref{fig:pattern}.
This staggering intentionally introduces vertical discontinuities, whose effects can be minimized simply by repeating the pattern for a few rows and rejecting measurements at the discontinuity.
Staggering allows us to avoid suffering a severe loss in resolution along one axis.

\paragraph{Two-dimensional patterns.} Smooth two-dimensional patterns can be designed by tiling the 256 spectral filters into a $16 \times 16$ tile.
Here, we have multiple choices in the form of the direction of tiling, which can be horizontal, or vertical, as well as in the nature of the tiling, which can be periodic or mirror symmetric.
Among these, the spatial gradients for the horizontal and vertical oriented patterns are $240/16 \approx 15$.
Periodic tiling have strong discontinuities at the edge of each tile, but any $16 \times 16$ tile has all the choices of filters that the SLM can offer.
In contrast, symmetric tilings have no discontinuities, but do not guarantee that any $16 \times 16$ patch covers all possible filters.

\paragraph{Random patterns.} Finally, it is worth considering random tiling of filters, which greatly increases the diversity of filters available in any local patch.
To improve the smoothness of such patterns, we can repeat each random pattern in a small local window of $3\times 3$ or $5\times 5$ pixels so that the measurements at the center of each window have little aberrations.

\subsection{Dataset}
We collected a dataset of scans with our lab prototype.
The dataset comprised of indoor scenes, comprising mainly of single or multiple objects.
Figure \ref{fig:dataset} provides the RGB image, captured with the guide camera, for each of the scenes.
We illuminated the scenes with a number of different sources including an NIR-enhanced incandescent light, a cool white LED, and CFL lamps.
All acquired images, both from the grayscale camera and the RGB camera, are registered to the SLM using the calibration.
After mapping to the SLM, the images are cropped to the central $1024 \times 1024$ pixels.
For each scene, we captured two sets of patterns that we describe next.

\begin{figure}
\centering
\includegraphics[width=0.475\textwidth]{figures/real/dataset_montage}
\caption{\textbf{Dataset.} We capture of dataset of 42 scenes. For each scene, we capture a Nyquist scan of 256 images, corresponding to constant patterns displayed on the SLM, and the 92 spatially-varying patterns as described in  Table \ref{tab:patterntable}. The scenes marked with a green boundary were used for testing and the rest for training the restoration network.}
\label{fig:dataset}
\end{figure}

\textit{Full Scan.}
For each scene, we acquire a set of 256 images, corresponding to the SLM displaying a constant intensity pattern --- one for each of the 8-bit intensity control that we have.
Note that this results in a constant voltage for all SLM pixels, via the ``gamma'' function that we derive in Section \ref{sec:gamma}.
We refer to this set as the \textit{full scan} measurements.
We use it as the  baseline and  reconstruct a nominal ground truth hyperspectral image.
This set also has none of the aberrations introduced due to phase modulation, since we are displaying a constant pattern on the SLM.
Further, we can use this set of 256 images to simulate the ideal measurement that we would obtain when displaying a spatially-varying pattern.
We term these as ``simulated measurements''; example of such measurements are shown in the second row of Figure \ref{fig:pattern}.

\begin{table}\centering
\caption{Each of the patterns in Fig.\ \ref{fig:pattern} under different pertubations. For the non-random patterns, these are circular shifts in one or both directions, as appropriate for the pattern. For the random pattern, we simply regenerate the random patterns. In total, we capture each scene with 92 patterns.}
\label{tab:patterntable}
\ra{1}
\small
\begin{tabular}{@{}ccc@{}}\toprule
 Name  & \#patterns & perturbation \\
\midrule
1D horizontal   & 16  & horizontal shifts\\
 1D vertical  & 16 & vertical shifts\\
 1D horizontal (scale 2x)   & 8 & horizontal shifts\\
 1D horizontal (scale 4x)   & 4  & horizontal shifts \\ \midrule
 2D vertical (periodic)   &  8 & 2D shifts \\
 2D vertical (mirror)   &  8 & 2D shifts  \\
 2D horizontal (periodic)  &  8 & 2D shifts \\
 2D horizontal (mirror)   &  8 & 2D shifts \\
random  & 16 & random tiles\\
\bottomrule
 \textbf{Total}  & 92  & \\
\bottomrule
\end{tabular}
\end{table}

\textit{Spatially-varying filtered images.} For each scene, we acquire a set of 92 images corresponding to the SLM displaying the patterns types described in Figure \ref{fig:pattern}.
For each  type, we display multiple patterns by performing circular shifts of the patterns as appropriate to the type.
For example, 1D patterns are shifted in just one dimension, while 2D patterns are perturbed along both dimensions.
Random patterns are simply regenerated to get entirely independent images.
The list of patterns with an enumeration of how we obtain a set of 92 patterns is provided in Table \ref{tab:patterntable}.
The third row of Figure \ref{fig:pattern} illustrates the actual patterns captured for a scene where a diffuser is placed in the image plane of the setup.
These measurements have a significant mismatch against the  measurements simulated with the full scan data.
We visualize these differences in the last row of the figure.
The differences are especially significant near discontinuities of the pattern as is clearly seen in the 1D measurements, and extend beyond the discontinuities for the 2D patterns.

The mismatch between the simulated and measured images can be attributed to  the following reasons.
First,  the SLM displays a smoothened version of the pattern we display; hence, we can expect significant mismatch between what we want to display and what the SLM implements at  discontinuities.
Second, there are aberrations induced due to phase distortions introduced by the SLM when we display a spatially-varying pattern; as described earlier, this leads to pattern specific errors that is prominent at places with large phase gradient.
Third, the doublet lenses used  in the relays introduced chromatic blur, which can be quite large given our operating range of 450-950nm, a span of wavelengths that covers visible and near-infrared bands.
Due to this, a single sensor pixel measures light from multiple SLM pixels, which leads to a corrupted measurement that corresponds to a blurred measurement in both space as well as the spectrum.
Note that this chromatic blur is also present in the full scan data; however, since the full scan data is measured with a constant spectral filter, the resulting blur is purely spatial.
To reduce all of these non-idealities in measured data, we rely on a learning-based approach using neural networks.

\subsection{Spectral Modulation}

\subsection{Compressive Hyperspectral Imaging}

Classic techniques for hyperspectral imaging, such as the pushbroom camera and tunable filters, perform a time-consuming sequential scan along the spatial or spectral dimensions.
One way to speed up the acquisition is a class of techniques, referred to as compressive sensing (CS), where   lower-dimensional signal models for  HSIs are leveraged to reconstruct the HSI  from an underdetermined set of linear measurements.
There are many such signal models that apply to HSIs.
Since natural images enjoy sparsity in transform domain as well as spatial gradients, HSIs are well represented by group sparsity across the spectral channels as well as cross-channel gradient priors.
Other popular choices include modeling the HSI as a low-rank matrix or a sum of low-rank and sparse matrices.
Immaterial of the model used, CS relies on taking coded linear measurements and solving a linear inverse problem, regularized by the chosen low-dimensional representation.
The ideas of CS and its associated reconstruction techniques apply to the proposed system as its measurement operator is both linear and under-determined.

There have been many imaging architectures proposed to enable compressive sensing of HSIs.
The coded aperture snapshot spectral imaging (CASSI) architecture \cite{gehm2007single,wagadarikar2008single} modifies the pushbroom camera by replacing the  slit on the image plane with a random 2D binary mask.
The captured image forms an underdetermined set of linear measurements from which the HSI is computationally reconstructed.

Compressive hyperspectral imaging has benefited from many interesting optical architectures.
\citet{lin2014dual} perform a spatial coding followed by spectral coding, before capturing an RGB image of the scene. Within each exposure of the sensor, multiple spatio-spectral patterns are used to create a rich spatially-varying spectral filter; in this regard, this technique is similar to the proposed approach.
However, a  limitation of time multiplexed measurements is the severe loss in light levels by an amount equal to the number of patterns used within each exposure.
\citet{sun2009compressive} perform spatial coding on the HSI using a digital micromirror device (DMD), and subsequently use a spectrometer to get the spectral profile of the coded HSI.
\citet{baek2017compact} place a prism in front of the lens of a camera, which introduces spectral blur on the captured image, from which the HSI is reconstructed using a deep neural network.

The spectral modulation property of LC cells have been used for compressive sensing of HSIs.
\citet{oiknine2019compressive} and \citet{august2013compressive}  capture multiple images of a scene, each with a different but spatially \textit{invariant} spectral filter, and reconstruct the HSI using traditional transform domain sparsity.
The main drawback of this approach is the number of images needed to recover the HSI.
The proposed work is a direct extension of this body of work, where we use a \textit{spatially-varying} counterpart of LC-based spectral filters to provide significant reduction in the number of images needed.
There has been some work that uses an LC SLM for spectral imaging \cite{Zhu:13,Tsai:15}, but none of them use the spatial programmability of the SLM to create a spatially-varying filter, which forms the main contribution of this work.

\subsection{Assorted Pixels}
Assorted pixels \cite{narasimhan2005enhancing} refers to a technique where a grayscale image sensor is augmented by placing an array of filters on top to provide enhanced perception of spectrum, polarization and/or dynamic range.
Assorted pixels have been extended to hyperspectral imaging as well, where a narrowband spectral filter array is tiled on top of the sensor \cite{Lambrechts2014cmos}.
This approach can be interpreted as an extension of the commonly used Bayer patterns, or color filter arrays \cite{bayer1976color}.
While spectral filter arrays do speedup the acquisition time, down to a single image, there is an inherent loss in spatial resolution due to the tiling of the filter array, which can be quite significant when we seek to resolve at high spectral resolutions, over a large waveband.
The main contribution of this paper is in the spirit of assorted pixels; but unlike existing work, where the spectral arrays are fixed at fabrication, the proposed optical design permits a \textit{programmable} array of spectral filters which enhances the scope of the technique in many interesting ways.

\subsection{Basics of Spectral Filtering with LC Cells}
\label{sec:lccells}

We briefly go over the principle of operation of an LC cell when used to implement a spectral filter.
The reader is referred to \cite{Wu:84}  as well as the Appendix for a detailed treatment.

Consider an imaging setup consisting of an LC cell of thickness $d_{LC}$ that is sandwiched between two linear cross polarizers, with their polarization axes oriented at $\pm 45^\circ$ to the LC cell's fast axis.
Suppose that we apply a voltage $v$ across the LC cell\footnote{Typically, an LC cell is operated by applying a high-frequency signal to  avoid ion formation and  damage to the device. The specifics of this often controlled by the driver associated with the device. So, when we refer to the control voltage, we refer to the RMS value as opposed to the specific waveform used.} which produces a birefringence of $\Delta n(v)$.
Now, \textit{unpolarized} light incident on this setup experiences a spectral filter of the form:
\begin{equation}
\frac{1}{2} \left( 1 - \cos\left( 2\pi \frac{\Delta n(v) d_{LC}}{\lambda} \right)\right), \label{eq:lc04}
\end{equation}
where $\lambda$ is the wavelength of light.
This filter is sinusoidal in the wavenumber, or the reciprocal of the wavelength.
The frequency of this sinusoid is determined by the term $\Delta n(v) d_{LC}$,  which quantizes the path difference introduced by the LC cell.
As is to be expected, thicker LC cells  introduce a large path difference which creates spectral filters with more cycles  over $\lambda$.
Similarly, higher levels of birefringence $\Delta n$, that typically happens for low values of $v$, also creates a larger number of cycles over the waveband of interest.

\begin{figure}
\centering
\includegraphics[width=0.475\textwidth]{figures/Layout.pdf}
\caption[]{\textbf{Spectral filtering with SLMs.}   We optically align an LC-based SLM to an image sensor, using optical relays and a polarizing beamsplitter that acts as a pair of cross-polarizers before and after the SLM. This allows us to build a programmable spectral filter array, where a spatially-varying and programmable spectral filter can be realized by displaying different patterns on the SLM.}
\label{fig:schematics}
\end{figure}

\subsection{Programmable Spectral Arrays using  SLMs}
We now describe the basic ideas underlying the proposed programmable spectral filter array.
Our key insight is that an LC SLM is in essence an array of LC cells, each of which acts as a programmable spectral filter.
Collocating the SLM with an image sensor, hence, allows us to obtain a device whose spectral response can be changed spatially, upto the limits imposed by the device construction.
Figure \ref{fig:schematics} shows the  optical schematic such a device, where the SLM and an image sensor are optically collocated to the image plane of a main lens.
The polarizing beamsplitter between the SLM and the camera acts as a pair of cross-polarizers.

For sake of simplicity, let us assume that the SLM pixel size is identical to that of the sensor and that the image relay provides a one-to-one mapping between them.
Suppose we display a spatially-varying voltage pattern $v(x, y)$ on the SLM, then the image $i(x, y)$ observed at the sensor is given as
\begin{equation}
i(x, y) = \frac{1}{2} \int_\lambda h(x, y, \lambda) \left(1 - \cos\left( 2\pi \frac{ \Delta n(v(x,y)) d_{LC}}{\lambda} \right) \right) s(\lambda) d\lambda,
\label{eq:proaspix01}
\end{equation}
where $s(\lambda)$ is the spectral sensitivity of the image sensor and $h(x, y, \lambda)$ is the unmodulated hyperspectral image formed on the sensor.
Hence, by appropriate choice of the pattern that we display on the SLM, we can implement spatially-varying spectral filters.
The set of filters we can obtain depends on the birefringence of the SLM, the range of input voltage we can provide, and the thickness of the SLM, all of which are device specific.

\subsection{Hardware Prototype}

Figure \ref{fig:proto} shows the lab prototype, on an optical benchtop, implementing the programmable spectral filter array.
For the most part, the prototype corresponds to the optical schematic presented earlier in Figure \ref{fig:schematics}.
However, there are some important differences between the prototype and the schematic.
First, the fast and slow axes of the  SLM are typically aligned to it edges; since we need the  incident polarization  to be at $45^\circ$ to the fast axis, we would need to mount the SLM with an in-plane rotation.
This, while feasible, is cumbersome.
We instead use an achromatic quarterwave plate, immediately after the polarizing beamsplitter, with its fast axis aligned at $45^\circ$ to the transmitted polarization state of the beamsplitter.
The resulting light is circularly polarized, which has equal energy along both the fast and slow axes of the SLM, and hence, identical to rotating the SLM.
 %
Second, we use a camera lens, focused at infinity, in the relay between the SLM and the main camera; the  superior multi-lens design of the camera lens has the effect of providing a dramatic improvement in the quality of captured images.
Finally, we have a second image sensor, an RGB unit, placed in the previously unused arm of the beamsplitter, and collocated with the image plane of the system and, hence, the SLM and the other image sensor.
We refer to this as the \textit{guide camera}, and use it for guided filter-based reconstruction techniques that resolve the loss of spatial resolution due to tiling of the spectral filters.

\paragraph{Specifications of the system.} The system is configured for a waveband spanning  visible  (VIS) and near-infrared (NIR) wavelengths, i.e., 400-1000nm,  which roughly matches  the sensor response of the  main camera that was used for making the spatio-spectral measurements.
We used a Holoeye Pluto2 NIR-015 SLM optimized for NIR wavebands, and endowed with a higher phase retardation which in turn provided a set of spectral filters with larger number of oscillations.
The SLM resolution was $1920 \times 1080$, with a pixel pitch of $8 \mu m$.
The pixel pitch of the camera observing the SLM is $6.5 \mu m$, at a resolution of $2048 \times 2048$ pixels.

The relay lenses used, except for the  one  immediately in front of the camera(s), were achromatic doublets, optimized for NIR transmissions, which we observed provided a smaller spot size over the VIS-NIR wavebands.
However, the use of doublets does lead to a chromatic blur in our captured images, which affects the captured imagery.
Clearly, using better optics, perhaps apochromatic lenses optimized to provide better chromatic correction, would naturally lead to better results.
The lab prototype above had a spatial field of size approximately $10.4 \times 8$ sq.mm; this field size, that is smaller than the dimensions of the SLM or camera, allowed us to avoid strong spherical and chromatic aberrations at its  periphery.
We also set the Fourier plane aperture to be 10mm wide; with 100mm relay lens,  this resulted in a  system with an $f/10$ aperture.

\begin{figure}
\includegraphics[width=0.475\textwidth]{figures/Prototype.pdf}
\caption{\textbf{Lab prototype.}}
\label{fig:proto}
\end{figure}

\paragraph{Calibration.} There are two critical calibration procedures that we need for operating this system.
The first is that of spectral calibration, where we obtain the spectral filter implemented for a specific value displayed on the SLM.
To do this, we mount  a spectrometer (OceanOptics FLAME-S-VIS-NIR-ES)  in place of the  main camera and sweep $256$ constant-valued patterns on the SLM, corresponding to its 8-bit input.
For each displayed pattern, we capture a spectral measurement over the range $[380, 1010]nm$ at a spectral resolution of $0.35nm$.
The specific filters we obtain depend critically on the gamma curve used in the control of the SLM; we will discuss this in detail in the next section, where we also visualize the set of filters that we obtain with our setup.

We  also need to obtain a pixel-to-pixel mapping between the SLM and the spectral camera; this step is especially important since our object is to implement a filter array and hence, this $XY$ calibration provides critical information on the filter applied to obtain the measurement at a sensor pixel.
We use conventional techniques to obtain this calibration, where we sequentially scan rows and columns on the SLM, detect the corresponding activated row/column on the image sensor, and finally, robustly fit a polynomial mapping between the two.
We provide details of this calibration procedure in the Appendix.
Finally, the guide RGB camera is registered first to the spectral camera by imaging a texture-rich scene and fitting a homography between the images captured on the two cameras.

\subsection{Restoration of Assorted Measurements}
\label{sec:restorenet}
Our goal is to learn a mapping that takes the distorted measurements and produce clean ``simulated" measurements.
Since interactions between neighboring spatial filters are non-linear, and often spatially varying, simple models may not capture the non-idealities. We instead rely on a learning-based approach to produce accurate measurements.

We design a single neural network that takes the measured image as input, for any spatially-varying pattern on the SLM that is also provided as input, and outputs the ``simulated" measurement for that pattern produced from the full scan data.
To account for the spatially varying artifacts, we include the coordinates $(x, y)$, the pattern index $p$ to the inputs, in addition to the measured intensity at each pixel.
Based on the recent works of \cite{vaswani:2017:attention} and \cite{mildenhall:2020:nerf} in positional encoding, we transform each of $x, y$, and $p$ into 64-length encoded vectors instead of using their original scalar values.
Given a $pos \in \{x, y, p\}$, we use
$[\cos{(pos \cdot f^{2i/N})},$
$\sin{(pos \cdot f^{2i/N})}]$,
for $i = 0, \ldots, N/2-1$ with $N = 64$ and $f = 10^{-4}$
as the 64-length positional encoding vector as suggested by \cite{vaswani:2017:attention}.
Thus, the input to the network consists of a measurement intensity channel,
and 64 channels each for $x, y$ and $p$, resulting in a total of 193 channels, as shown in Figure \ref{fig:restore_net_arch}.
The output of the network is a single restored image channel corresponding to the simulated measurement.

\paragraph{Network Architecture.} We use an encoder-decoder architecture similar to that of U-net proposed by \cite{ronneberger:2015:unet} with four downsampling and four upsampling blocks as shown in Figure \ref{fig:restore_net_arch}. The specifics of this network and how it was trained is provided in the supplement.

\begin{figure}
    \centering
    \includegraphics[width=0.99\linewidth]{figures/restore_net/restore_net_arch_without_guide_v2.pdf}
    \caption{\textbf{Restoration network architecture.} Our pattern-oblivious encoder-decoder architecture rectifies the distortions in the measurement image using positional codes based on coordinates and pattern index.}
    \label{fig:restore_net_arch}
\end{figure}

\begin{figure
    \centering
    \includegraphics[width=0.99\linewidth]{figures/restore_net/restore_net_outputs_without_guide_v4_psnr.pdf}
    \caption{\textbf{Restoration of measured image.} We show $128 \times 128$ patches of a scene from our test data.

    Each row in the left and right page columns corresponds to some of the different patterns that we employed during capture. The simulated measurement in (a) is the ``ground-truth'' image for each pattern. The measured image in (b) is very much distorted as can be seen by its absolute difference with the simulated measurement in (c). Our restoration network cleans up the distortions and produces the restored measurement image shown in (d) which has much lower distortions as can seen in (e). The efficacy of our restoration network can also be seen from much higher reconstruction PSNR values which are shown as insets.}
    \label{fig:restore_net_outputs}
\end{figure}

\begin{figure}
    \centering
    \includegraphics[width=0.475\textwidth]{figures/real/PatternSweepFig_v2/Pattern_Measurement.pdf}
    \caption{\textbf{Improvements from restoration.} The restoration network provides measurements that have a higher fidelity to the ideal model, by correcting for blur and vignetting introduced by impreciseness in the optical implementation. We can see that, across all 92 SLM patterns, it provides an improvement of 7 dB or higher, as compared to the raw measurements. The numbers shown here are averages, over all the test scenes.}
    \label{fig:restore_patterns}
\end{figure}

\begin{figure
    \centering
    \includegraphics[width=0.99\linewidth]{figures/restore_net/restore_net_outputs_without_guide_v4_psnr_Plants3.pdf}
    \caption{\textbf{Restoration of measured image for unseen patterns.} Our trained network successfully cleans up the distortions in the measured image even for completely unseen patterns such as for the checkerboard-like patterns shown here.}
    \label{fig:restore_net_outputs_unseen}
\end{figure}

\paragraph{Restoration.} During inference, we input the measured image along with the positional encoding channels (all as $1024 \times 1024$ images) to the trained network to get the restored image as output which will be used for hyperspectral image reconstruction. We show the results of our restoration network for a test scene which is not used in training and validation in Figure \ref{fig:restore_net_outputs}.

\paragraph{Performance of the restoration strategy.} Figure \ref{fig:restore_patterns} evaluates the performance of the restoration network on a test set of seven scenes.
We quantify the error between the simulated and restored measurements, averaged across the seven scenes, for each of the 92 patterns, and compare them to that of the error associated with the measured images.
We use peak signal-to-noise ratio (PSNR), measured in dB, as our choice of metric which is defined as:
\begin{equation}
 \textrm{PSNR }  = 20 \log_{10} \left( \frac{ \| {\bf x} \|_\infty}{ \textrm{RMSE}({\bf x}; \widehat{{\bf x}})  } \right),
 \end{equation}
where ${{\bf x}}$ and ${\widehat{{\bf x}}}$ are the simulated image and the restored/measurement image, respectively, with an intensity range [0--1].
We observe an improvement that is often greater than
7 dB,
indicating significant increase in measurement fidelity to the simulated data once we apply the restoration network.

\paragraph{Restoration of unseen patterns.} Since our restoration network is trained with the pattern code as well as an input, it is capable of restoring unseen patterns as well. We show the restoration outputs of patterns, previously unseen during training, in Figure \ref{fig:restore_net_outputs_unseen}.
Our network successfully restores these patterns, albeit with a slight loss in performance as compared to the patterns used at training.
This indicates that our trained network does not merely memorize a pseudo-random distribution of the patterns present in the training set, but can generalize for any pattern.

redpajama_set_name: RedPajamaArXiv


Miguel "Siu", 40 years old, self-taught photographer since 2012. In 2014 he specialized in wildlife, especially arthropods, birds, and land animals.
Julio Abdiel Gonzalez G., 42 years old, dedicated to photography in general, and with great interest in wildlife photography. Self-taught and thirsty for knowledge.
Angel Sanchez, 36 years old, PADI Open Water Scuba Instructor, diver since 2008, underwater photographer since 2010. Has great interest in underwater life conservation, so that other people can see this amazing world.
Ramiro Solis, Marine Biology undergraduate student, Open Water Diver since 2013. Amateur underwater photographer.
Rafael Gutierrez, naturalist guide and amateur photographer.
To become leaders at connecting people in Panama to wildlife and conservation through artistic photographic material .
All images on this site are copyrighted to their author(S). If you'd like to purchase rights or prints please contact us. Under Fair Use laws these images can only be used for non-profit, educational, research or scholarly; any other use requires permission of the author(s).
To promote conservation of Panama's natural heritage, inspiring understanding and love for nature and wildlife, and raising public perception of the value of these resources.
We photograph free and wild animals, in situ, as found in their natural settings (unless noted), and minimal staging. The well-being of animals takes priority over the photo.
We are a non-profit organisation promoting conservation of Panama's biodiversity, and supporting other non-profit organisations providing them "pro-bono publico" photographic material.
Our logo depicts a Rufous-vented Groud-Cuckoo, one of the most wanted species in Panama.


My first encounter with lavender jelly was at an arts and craft fair in Christchurch, New Zealand. The year was 2005, and there were many different things shown there that day. Pottery, soap carving, you name it.
4-6 jam jars, depending on the size; I bought mine from the nearby Mitre 10 hardware store. You can reuse your jam jars, nothing wrong with that.
(edit: the pectin I bought was only 9% pectin, the rest was glucose. My jelly turned out very runny. Next batch I make, I'll add more. Trial and error, eh?) Also, you can also use your own lavender buds. Just harvest the flowers before they open,and dry them in a cool area for a few days. Don't heat them up or anything as it will destroy or evaporate he essential oils that gives them that distinct lavender aroma.
To sterilize the jars, wash them properly (do not wipe dry) and microwave them for 30 seconds or so. Put the lids in a bowl with the under side facing upwards (damp, of course, we don't want sparks flying in there) in the microwave and nuke! Or you can always do the old boiling method.
Firstly, put the lavender buds in a pyrex jug and pour in 500 ml (2 cups worth) of boiling water. Steep the buds for 20 minutes or so. It should look like tea. And it smells very nice. Make sure you cover the top with plastic wrap to prevent dust from settling in there, and to reduce evaporation.
Step 4: On the Stove!
Strain the lavender 'tea' and pour into the pot. Add the lemon juice, sugar and pectin. Once it reaches the boiling point, make sure it stays that way no longer than 4 minutes; this should provide you with firm jelly, whilst boiling for 2 minutes should give you a softer jelly.
Once done boiling, take off the heat and pour into the jars.
Cap the bottles while mixture is still hot. BE CAREFUL WHEN HANDLING at this stage as the glass jars can be very hot.
You can serve this on toast, on scones, and if you feel like being generous, bottle it up nicely and give it to your friends and neighbours.
I have yet to try mine to see how the texture is as they are still cooling but I can tell you that it tastes delicious.
There are different variations out there on the internet. I've seen violet jelly, rose jelly, dandelion jelly, and even tea jelly. You can substitute the dry lavender buds for tea leaves (earl grey, perhaps?), dried rose petals, or anything you think would make an interesting spread.
If you plan on using flowers, make sure they're pesticide free.
It turned out like syrup, but it tastes good. Next time I'll be adding more pectin. It tastes great in tea with milk and on pikelets, though.
I am in the process of making earl grey tea jelly. I reduced everything but the pectin by half. It looks promising. I'll let you know when it sets. It tastes like lemon juice as I used bottled lemon juice instead of fresh ones.
Fantastic idea, I have a couple #'s of #1 grade organic lavendar... Was looking for a way to use it.
duck meat... i'll need to find a halal supplier for that.
isn't duck very fatty? not that it's a bad thing. but i heard that it's a very fatty meat.
Great that you have canning instructions!
Excellent instructable. I first tried lavender jelly at a lavender farm on Cape Cod and loved it. And you are correct - fresh lavender jams and jellys are a red color, but they often add coloring or sometimes small amounts of blueberry or blackberry into the mix to get a deep purply-red color.
I wonder if what you have now would be good on waffles or pancakes? It sounds like the perfect consistency for a good crepe sauce or syrup. I'm definitely going to try this as soon as I find some jars.
it's very syrupy, so it definitely would make awesome waffle syrup.


Guild Optical Associates has an established ISO 9001:2008 certified quality system and our manual is available upon request.
All records are retained for a minimum of 5 years unless otherwise specifically requested by the customer.
Monitoring our performance through our records, in order to continually improve our processes and services.
If you are not 100% satisfied with your purchase, you can contact us with the reasoning and return the items to Guild Optics using an RMA # provided by us.
We ask that you inspect your items within 30 days of receipt. You can return a product for up to 30 days from the date you received it.


text:
Asaperda stenostola är en skalbaggsart som först beskrevs av Ernst Gustav Kraatz 1873.  Asaperda stenostola ingår i släktet Asaperda och familjen långhorningar.

Artens utbredningsområde är Kazakstan. Inga underarter finns listade.

Källor

Långhorningar
stenostola

redpajama_set_name: RedPajamaWikipedia


text:
Hasaacas
GFA boss Kurt Okraku lauds Hasaacas Ladies performance at WAFU and Africa level
President of the Ghana Football Association (GFA) Kurt Okraku has lauded the performance of Hasaacas Ladies at the WAFU Zone B tournament and the CAF Women's Champions League.Hasaacas won the WAFU Zone B title but finished as runner-up in the maiden edition of the Champions League in Egypt.The...
2021/22 DOL: Hasaacas fall to Ebusua Dwarfs, New Edubiase beat Holy Stars – Zone Two Results
Rivalry was rekindled on Sunday when Hasaacas battled Ebusua Dwarfs at the Sekondi Gyandu Park in a Match Day seven...
Yusif Basigi discloses he's been coaching Hasaacas Ladies for 18 years without salary
Hasaacas Ladies head coach Yusif Basigi says he has been coaching the club for the past 18 years without salary....
Hasaacas Ladies to play Ampem Darkoa Ladies in First Lady's Cup
Hasaacas Ladies will be competing for a historic 5th title in a calendar year on Friday, December 10, 2021 against...
Hasaacas Ladies grateful to GFA for CAF Women's Champions League support
Hasaacas Ladies Football Club will in the coming days present their TotalEnegies CAF Women's Champions League silver medals to the...
Women's Premier Super Cup: Hasaacas Ladies beat LadyStrikers in five-goal thriller to win maiden trophy
Hasaacas Ladies emerged winners of the maiden Women's Premier Super after defeating LadyStrikers 3-2 in a thrilling final at the...
Women's Premier League Super Cup: Hasaacas Ladies beat Ampem Darkoa to book final berth
Hasaacas Ladies have qualified to play in the finals of the maiden edition of the Women's Premier League Super Cup...
FEATURE: When the world wasn't watching, Hasaacas Ladies grabbed our attention
Hasaacas Ladies have been a strong force to reckon with in women football in Ghana. The success of the team...
Hasaacas Ladies arrive in Accra after CAF Women's Champions League heroics
Hasaacas Ladies have arrived in Accra after picking up silver at the maiden TotalEnergies CAF Women's Champions League in Cairo,...
Hasaacas Ladies to arrive in Accra on Monday after Champions League heroics
Hasaacas Ladies FC will arrive in Accra this afternoon after picking up silver at the maiden TotalEnergies CAF Women's Champions...
CAF WCL: Hasaacas Ladies dominate best eleven
Four Hasaacas Ladies FC players were chosen in the just ended TotalEnergies CAF Women's Champions League as part of the...
CAF Women's Champions League: GFA sends good will message Hasaacas Ladies ahead of Sundowns clash
The Ghana Football Association has sent a Goodwill message to Hasaacas Ladies ahead of the finals of the CAF Women's...
CAF Women's Champions League: We are Hassacas Ladies!
Few hours before the TotalEnergies CAF Women's Champions League, Egypt 2021 final between Ghana's Hasaacas Ladies and South Africa's Mamelodi...
CAF WCL: We are coming to win the title and there's no turning back - Hasaacas Ladies coach Yussif Basigi
Hasaacas Ladies coach Yussif Basigi has set sights on beating Mamelodi Sundowns in the final to lift the maiden CAF...
Hasaacas Ladies' girls are a blessing for me - Yussif Basigi
Yussif Basigi has been Hasaacas Ladies coach sine the team was founded in 2003. The well renowned coach has a...
Black Stars striker John Antwi visits Hasaacas Ladies ahead of CAF WCL final
Black Stars striker, John Antwi visited Hasaacas Ladies FC at the team's camp in Cairo, Egypt on Tuesday, November 16,...
'This is a dream coming true for us' - Hasaacas Ladies skipper Janet Egyir on reaching CAF WCL final
Hasaaacas Ladies skipper, Janet Egyir says her side's dream is coming true after reaching the final of the maiden CAF...
Hasaacas Ladies coach Yusif Basigi delighted to reach maiden CAF WCL final
Hasaacas Ladies head coach, Yusif Basigi has expressed his delight after guiding his team to the final of the maiden...
Dr. Mahmudu Bawumia congratulates Hasaacas Ladies for beating ASFAR to reach CAF WCL final
Ghana's Vice President , Dr. Mahmudu Bawumia has congratulated Hasaacas Ladies for beating Moroccan side, ASFAR Club to reach the...
Hasaacas Ladies Evelyn Badu scores 5th goal in the CAF WCL
Evelyn Badu, a Ghanaian attacker, extended her scoring run in the maiden 2021 CAF Women's Champions League by netting her...

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: How to know duration of any media file My application shows list of media(audio and Video) files in the sdcard along with file size,mime type. I now want to add total duration of the media file in the every list item.
I tried fetching the duration using following code
String[] proj = { MediaStore.Video.VideoColumns.DURATION };
 Cursor cursor = managedQuery(contentUri, proj, null, null, null);
 int column_index
  = cursor.getColumnIndexOrThrow(MediaStore.Video.VideoColumns.DURATION);

but MediaStore returns correct duration only if the media is played before, if not it returns 0. I cannot use videoview.getDuration since I don't want to play the video.
I want your help to know if I am making any mistake in above code or if there is any other way to fetch duration without playing it first.

A: You should be able to use MediaMetadataRetriever to read the duration from the file. But using this class will require your project to be at least API level 10 (Android 2.3.3).

redpajama_set_name: RedPajamaStackExchange


text:
Vast Majority of European Public Think Chinese Government Covered Up Severity of Virus, Think China is Significantly to Blame
Coronavirus | France | Germany | Health | International Relations | Italy | Relations with China | Spain
Share this research:
Our Most Recent Research
Amid Dramatic Rise in Cases, British Public Feels More Unsafe Than Ever Before in the Coronavirus Crisis
More Than a Quarter of Londoners Say Pandemic Has Decreased Their Desire to Live in the City
Latest London Mayoral and General Elections Voting Intentions
(13 – 14 January 2021)
Latest GB Voting Intention
In December Poll, 40% of Americans Agreed with Statement, "The 2020 Presidential Election Was Rigged."
40% of Americans Admit They Had Told Someone in Person That They Were Going to Vote for a Candidate Other than the One They Voted For
See more of our research
The European Union is China's top trading partner, yet the coronavirus pandemic, concerns about security threats posed by the Chinese 5G provider Huawei, and recent reports of human rights abuses in Xinjiang have strained the relationship. A year on from the start of the coronavirus pandemic, pluralities in France (41%), Germany (37%), Italy (45%), and Spain (29%) think that China is significantly to blame for the coronavirus crisis. Only 8% to 13% do not think China is to blame at all. The proportion of Italians who think China is significantly to blame has increased by 9 points in Italy since May while declining by 3 points in Germany in the same period.
Across all of the countries polled, the proportion of respondents who think China is not at all to blame for the crisis does not vary significantly by recent voting patterns, suggesting that scepticism about China's role in the pandemic is widespread across political groups in the four countries.
A poll conducted by Redfield & Wilton Strategies in October found that while pluralities in Germany and France considered China to be a threat, Italy viewed China far more favourably. However, our recent polling demonstrates that while some Italians may consider China an overall ally rather than an overall threat, the Italian public still thinks China is to blame for the pandemic. For example, in October's poll, 29% of those who voted for the Five Star Movement in the 2018 Election considered China an ally and only 16% considered China a threat, yet our latest polling found that 47% of Five Star Movement voters think China is significantly to blame for the pandemic and a further 34% think China is somewhat to blame.
Indeed, the vast majority in France (67%), Germany (65%), Italy (75%), and Spain (70%), think China covered up the seriousness of the threat from coronavirus when it first emerged. In Italy, only a tenth (11%) think the Chinese Government was transparent about the seriousness of the virus––the lowest of any of the countries polled––which may be because Italy was one of the first countries to be seriously hit by the pandemic.
In every country polled, the majority in every age group think the Chinese Government initially covered up the seriousness of the pandemic, but the size of that majority does vary with age in France and Spain. In France, for example, 56% of 18-to-24-year-olds think the Chinese Government covered up the severity of the situation while a quarter (24%) of this age group think it was transparent. But only a tenth (11%) of those 65 and over think the Chinese Government was transparent while three-quarters (73%) think it covered up the seriousness of the virus.
Ultimately, while the EU has maintained a healthy trading relationship with China in recent years, there is cross-party political scepticism towards China's role in the pandemic. The European public overwhelmingly think China is to blame for the pandemic and also consider that the Chinese Government covered up the severity of the virus when it first emerged.
To find out more information about this research contact our research team. Redfield & Wilton Strategies is a member of the British Polling Council and abides by its rules.
Share our research:
Redfield & Wilton Strategies are accredited members of the American Association for Public Opinion Research's Transparency Initiative and British Polling Council and abides by their rules. Address 5th Floor, 22 East Cheap
EC3M 1EU
Email Menu Home Research Contact Hire Us Media Twitter Privacy Policy Cookie Policy Disclaimer Copyright © 2021 | Redfield & Wilton Strategies Limited | Company #12424541
Home – Working
Redfield & Wilton Strategies are accredited members of the British Polling Council and abide by its rules.


text:
Council Members >
Hon Greg Crafter AO
The Hon Neville Owen
Archbishop Mark Coleridge
Professor Maria Harries AM
Professor Rosemary Sheehan AM
Sr Maree Marsh
Bishop Bill Wright
Professor Greg Craven AO
Ms Elizabeth Proust AO
Mr Stephen Elder OAM
Dr Marian Sullivan
The Hon. Gregory Crafter AO was admitted as a legal practitioner of the Supreme Court of South Australia in 1978.
In March 1979 Greg was elected to the seat of Norwood in the South Australian Parliament following the resignation of the sitting Member for some 26 years, Don Dunstan.
He contested seven elections in Norwood and served the Parliament for more than 14 years, eleven as a Minister of the Crown holding eight portfolios including Education and Children's Services, Community Welfare; Aboriginal Affairs; Housing, Urban Development, Local Government Relations, Recreation and Sport.
He was the South Australian Minister of Education for seven years.
Greg is a former President of the Geneva-based International Baccalaureate Organisation and Chairman of its Executive Committee.
He is also a former Director of the Queen Elizabeth II Silver Jubilee Trust for Young Australians and Chair of the South Australian Regional Committee (1995-2005) – now called The Foundation for Young Australians.
Mr Crafter was Chair of the Board of Trustees of the Don Dunstan Foundation from 1999 to 2010.
Since 1994 Greg has been a consultant at the Adelaide law firm Johnston Withers.
He has developed a career as a Non Executive Director and consultant serving on private company, public and charitable boards and has been appointed to Public Sector Boards and Commissions of Enquiry by both Liberal and Labor governments.


As more Americans are beginning to take advantage of the benefits of cannabidiol (CBD), more companies are trying to find their place in the rapidly growing market. There are a variety of CBD products to choose from, and many of them have attractive packaging with great promises.
So how do you choose which product to use? What matters when it comes to choosing a brand? Whether you are just learning about CBD or have been using it for years, one of the best methods of introducing CBD into your body is with CBD hemp oil drops. In this article, we will be focusing on Endoca Hemp Oil Drops.
Endoca claims to offer "the world's best hemp CBD oil". The brand has a great responsibility to live up to their claim. Of course, anytime a brand makes such a statement, it is important to perform the proper research. This will help you to see exactly what you are getting when investing in their product. So, when it comes to their CBD hemp oil drops, does Endoca live up to the standard they have set for themselves?
Endoca was founded by Henry Vincenty, a world traveler who spent decades seeking out the best holistic and organic medicines and remedies from around the globe. Based in Denmark, Endoca also has a longevity that many American companies simply can not match. Federal laws and regulations in the U.S. have only recently begun to allow the widespread use of hemp and hemp products such as CBD hemp oil drops.
All of Endoca's products, including the CBD hemp oil drops, are made from 100 percent certified organic hemp plants. They are free of harmful pesticides and herbicides. In addition, all the company's equipment was built to be environmentally friendly without sacrificing quality.
Endoca is constantly working towards becoming 100% sustainable. Respecting and caring for the environment is of great importance as Endoca aims to be one of the eco-friendliest brands in any industry. Vincenty believes we can thrive without poisoning our bodies.
Endoca's hemp oil is extracted with a process that does not use any chemicals or solvents, but rather a high-quality CO2. This process ensures that the hemp oil is free of impurities that could affect the taste and overall quality of the product. A fantastic tasting product and organic cultivation make Endoca a Five Star Approved CBD Oil Brand, among other reasons.
Endoca Hemp Oil Drops are pure and very high quality. You can select a 10ml bottle of either 300mg or 1,500mg concentration. Both concentrations are also available in a "raw" or standard version formula.
Endoca uses the entire hemp plant to produce their hemp oil drops. They refer to it as "whole-plant liquid formulation". This means that whether you choose the "raw" or the standard version, your hemp oil will contain more than 80 different powerful and effective cannabinoids.
Endoca uses all-natural ingredients. The primary ingredient is hemp seed oil which is naturally full of beneficial cannabinoids. This includes CBD, CBC, CBG, and CBN. The oil also contains omega-3, omega-6, and vitamin E. Other natural molecules are combined with terpenes, alkanes, vitamins, and cannabis plant waxes, and the oil is finished with glycosides, nitrogenous compounds, amino acids, aldehydes, ketones flavonoids, pigments, water, co-nutrients, and co-factors.
This unique combination of components is what makes hemp oil so beneficial. Endoca's full-spectrum hemp oil is just another example of the company's effort to offer "the world's best hemp CBD oil". While both the "raw" and the standard versions offer beneficial compounds, there is one primary difference between the two.
So, what is the difference between Endoca's "Raw" and Standard Versions? There are two similar compounds derived from hemp through the extraction process: CBD and CBDa. The "Raw" version of the hemp oil drops contains both compounds, while the standard version only contains CBD.
The standard version of the oil undergoes a process called decarboxylation. This process involves gently heating the oil so that all of the CBDa is converted into CBD. Everyone's body will react differently to each of the compounds. It is recommended that you experiment with both to find what compounds work best in your system.
While cannabinoids are the major player when it comes to using hemp oil, they are not the only compounds that can provide amazing benefits. Terpenes also play a large role in how the hemp oil interacts with our body. All plants contain terpenes. These are the compounds responsible for the distinct flavors, aromas, and benefits derived from essential oils.
Endoca includes a variety of terpenes in their hemp oil. Some of the specific terpenes used include limonene, alpha & beta-pinene, linalool, B-caryophyllene, Caryophyllene oxide, Terpinolene, and Humulene.
Endoca offers a variety when it comes to their Hemp Oil Drops. You have the option to choose the "Raw" version if you find benefit from CBDa. With both 3 percent and 15 percent concentrations available, you are certain to find relief for both minimal and major ailments. One particular benefit of the 15 percent concentration is that you can experience the same wellness benefits with much smaller servings.
Of course, cannabidiol is the most present cannabinoid derived from hemp. Research and studies have shown that cannabidiol influences our endocannabinoid system (ECS). For those who are new to using CBD, or if you have not heard about the ECS, it is essentially a network of receptors called CB1 and CB2 receptors. These receptors are attached to cells throughout your body.
Studies show that cannabinoid receptors influence our immune system, nervous systems, and our brain. It has been discovered that all mammals have these receptors and naturally produce endocannabinoids.
Endoca's Hemp Oil is derived from quality organic hemp extracts. The purity of their oil offers a powerful and effective serving of cannabinoids. Most of Endoca's competitors do not offer a potency of 1,500mg. Depending on your needs, you may only need 1-5 drops per day to receive your full serving. This is another great benefit of choosing Endoca.
If you decide to give Endoca Hemp Oil a try, use code TRYENDOCA10 for 10% off.
Introducing CBD and the benefits of hemp into your system does not get much easier than using Endoca Hemp Oil CBD Drops.
Depending on what ailments you are seeking relief from, you may not need the higher 1500mg concentration; however, the servings are much smaller with the higher concentration. One drop of the 1500mg oil is approximately the same as five drops of the 300 mg oil. So, if you are new to using CBD hemp oil drops, you may want to consider starting with the 300 mg concentration until you know how it will affect you.
When implementing CBD hemp oil into your daily routine, the easiest method is to place 1-5 drops of hemp oil below your tongue for about 90 seconds before swallowing. Taking hemp oil this way is one of the fastest ways for the CBD and other cannabinoids to find their way into your system and provide the quickest relief.
If you are already familiar with how CBD interacts with your body, you can go straight for the higher concentration drops. You will just need to use less, so perhaps start with between 1 and 3 drops per serving. Typically, it is convenient to take your CBD oil drops in the morning when you wake up, the middle of the day, or in the evening before bed.
If you are completely unsure of how and when to take CBD oil, you can always start with a recommended schedule. Endoca recommends starting with 1 drop, 3 times per day the first week, 2 drops, 3 times per day during the second week, and so on, until you find which tier, between 1 and 5 drops, works best for you. You can always adjust your dosing according to your needs.
If you ever feel as though you are not taking enough, or are taking more than enough, you can safely adjust your serving accordingly. CBD has no side effects that can cause an overdose. Everyone's metabolism is different, so experiment and make the appropriate changes as your needs change.
It is clear that Endoca strives to live up to their claim of supplying "the world's best hemp CBD oil". From sustainable production methods to the highest CBD concentration available, Endoca has it covered. Decades of research did not end with the founder, Henry Vincenty. It appears that Endoca will only continue to grow and improve from here. The taste is pure and smooth in both the "Raw" and standard versions. The only task you are left with is finding the right serving for you.
This entry was posted in CBD Products. Bookmark the permalink.


Michigan State University website talks about mega-fires in the Michigan area in the past and mentions NFPA's Firewise USA program as a solution for the future.
The right conditions, including extended drought, dry, hot weather, and high winds can create high wildfire risk anywhere. The Michigan State University website described some horrific wildfires that occurred in the Michigan and Wisconsin areas. After learning about the wildfires last year in Fort McMurray in Canada and the Gatlinburg fires in Tennessee that both caused substantial loss, I realized now more than ever that the potential for a mega wildfire can occur anywhere.
The Peshtigo fire that devastated an area of 2,400 square miles in 1871 on the Wisconsin-Michigan state line and claimed 1,300-1,500 lives.
The Thumb fire in Michigan 10 years later that claimed 282 lives.
The Mack fire of 1980 in Michigan that claimed the life of one firefighter and destroyed 44 homes.
The 2006 Hughes Fire that incurred suppression costs of almost million dollars.
These fires caused terrible losses in an area of the country that many people don't think of when they think of a wildfire risk. The site has some PSA's that highlight how working together as a Firewise Community can lessen the risk of loss due to a wildfire. The site highlighted a Firewise community in Michigan, AuSable River Community Estates, that is still a Firewise community today! Duane Pinkleman the chair of the Firewise Community, shares in the PSA how it is only "common sense" and is not an expensive thing to do, to use Firewise principles to protect your home.
Download the Firewise toolkit today and learn how you can protect your home. You can take steps starting today to make wildfire preparedness changes in your community happen!


text:
Warcraft (2016) Review
September 27, 2016 by J.R. in Warcraft and tagged blizzard, duncan jones, orc, To Watch Pile, video game, world of warcraft
The Australian Bluray cover to Warcraft.
Film: Unfortunately for video game to film adaptations, there have been several cinematic crimes committed over the years that have scarred the eyes of all who watched them: Super Mario Bros., Far Cry, Alone in the Dark, Doom, House of the Dead and Double Dragon. I do have to own up and claim that some of the 'guilty pleasures' in my regular spin list, even though they aren't the greatest movies, are video game based: DOA and Pixels (sure not a 'proper' video game film, but there are enough 8 bit legends in that film for me to count it).
People seem to forget about the actual hits though: the first Tomb Raider was good enough to spawn a sequel, Resident Evil is a multi-sequeled series of various quality, but generally enjoyable, the Silent Hill films have ticked several boxes and I liked the Hitman films as well.
Warcraft (which has had the subtitle "The Beginning" attached to it here and there) is based on the massively multiplayer online game (MMOG) World of Warcraft, the sensation from entertainment company Blizzard who also gave us Starcraft, Overwatch, and Warcraft associated games like Hearthstone and Heroes of the Storm, and none of that is to mention my favourite game from them, Diablo (and it's sequels).
You have to give the filmmakers credit for attempting this film. Not only do they have millions of World of Warcraft fans to keep happy, but a big budget fantasy film in a post-Lord of the Rings/ The Hobbit genre would be a difficult sell to, well 'normal' people.
Perhaps in the hands of director Duncan Jones, who previously gave us Moon and Source Code, it could be successful. Jones co-wrote the screenplay with Charles Leavitt, who also wrote Seventh Son, another not entirely bad fantasy film, but different enough from the Hobbit films for it not to be associated, which brings us to the problem this film faced.
Ben Schnetzer as Khadgar
In a world where those aforementioned 'normal' folk have become fantasy fans (pfft: 'muggles') it's difficult to sell the tropes of the fantasy genre without seeming to be merely emulating it, even though those of us who have played Dungeons and Dragons or Warhammer, or read associated fiction, have been familiar with 'orcs' and other fantasy beasts for our entire fandom, and we are accustomed to them being borrowed from Tolkien's tomes and other traditional mythologies.
This film does however break the bonds of the traditional fantasy film, and tells a different tale than the 'a band of brothers of different races overcome their prejudices to fight a common evil', which is the plot line of SO many fantasy films. Warcraft instead tells the story of two sides of war: of the trials the humans have to endure when an invading force enters their realm, and also that of an army under control of a corrupted leader who don't all necessarily agree with his motives.
Seeing a fantasy film… or any film that deals with war, fantasy or otherwise, that shows that even in the enemy's camp there may be dissent is an interesting concept to me, as you perhaps stop and think about the deaths of the bad guys. Though not like in Austin Powers, where it is dealt with in a comedic manner.
I have not played World of Warcraft, but I am a Hearthstone player so I am aware of some of the races and images and even with my limited knowledge it was pretty cool to see some of the beasts and locations that appear in the game pop up here and there (I have to admit to be delighted by the image and sound of a Murloc popping up!)
Haters of CGI are definitely not going to like this film, as there is an astonishing amount of CGI characters and environments, and seeing as how they are keeping to that video game aesthetic, it does all look very artificial. This is no doubt to not alienate those who love the game as they are the people you don't want to aggravate. I don't think it's detrimental to the film at all as the orcs, locations and beasts in general look great. Bare in mind that occasionally the film has little 'real' elements in it and it could be best described as an animated feature!
The acting is fine and the direction and fight choreography is exciting, and the production design is certainly on a grand scale. My favourite actor choice though is that of Ben Foster as Medivh. I've liked him since I saw him in the teen flick Get Over It and he is quite the intense human being when playing these sort of roles.
Toby Kebbell as Durotan
All in all I enjoyed this film for a couple of reasons. The first is the fact that it is a first, and doesn't have the plot weight that continuing series's of films have. This could be just because it's the first, but I suspect that after the six Tolkien films (which I am still angry at for dumping Tom Bombadil and Goldberry in The Two Towers, but had no problems adding a whole pile of extra crap to three Hobbit films) it might just be a relief to see something free of the shackles of continuing plots. The second reason is it's just damned fun: just fun with orcs and dwarves and elves and traitors and kings and magic and wizards and giant animals and all that good fantasy stuff.
In my research of this film, to the casual observer and not the obsessive fan, they have certainly been quite faithful to the game with some of the characters and kingdoms appearing, though some of the motives for decisions made may not be entirely fleshed out in the film, but I imagine it is hard to adapt such an open plotted, character driven game in a story driven environment. They managed to do this without that weight I mentioned feeling at all present, but this is due to the fact we are at the origin of the war between orcs and humans. That's not to say that there perhaps aren't unresolved plot lines, but we are at the beginning of these plots, rather than halfway through.
I mean it's not gonna change your life, and the comparisons it receives both to Peter Jackson's films, and to the Dungeons and Dragons movie from 2000 are certainly unfair for different reasons, but it certainly is a hoot.
Warcraft bluray menu screen
Format: Warcraft was reviewed on the Australian, JB Hifi exclusive release (with extra extras which will be discussed in 'Extras') and runs for approximately 122 minutes. It is presented in an immaculate 2.40:1 image with an outstanding Dolby Atmos soundtrack. I must point out that the colours of this film have been amped up for what I guess would be to firstly give it its own identity in a world where the natural-looking Lord of the Rings series exists, and also to have a slightly artificial look to connect it to the video game.
There is also a 3D edition of this film available, as well as a UHD 4K one, for those who have those home cinema capabilities available to them.
Extras: The disc opens with a trailers for Jason Bourne, and one for the Harry Potter-land thing at Universal Studios before we get to the guts of the disc.
Disc one has a bunch of extras:
11 deleted and extended scenes which are interesting, but as one would expect, not necessary.
Gag reel: I love me a good gag reel, and this provided several smiles and a giggle, but no guffaws.
The World of Warcraft on Film is divided into 6 mini features, including Origin Story, The World of Talent, The World of VFX, Outfitting a World, The World of Mo-cap and The World of Stunts. These features explore all the aspects of making the film, as can be seen by the titles, are are each interesting in different ways, though I think they could have been merged together into one single interesting feature.
Travis Fimmel as Anduin and Paula Patton as Garona
The Fandom of Warcraft is a cool look at the fans of Warcraft, though it may appear to be a little disturbing for non-fandom folk. From the gaming to the cosplay, the fans are pretty hardcore, and awesome! I totally get people who meet friends from gaming as I made really good friends both from Warhammer and Call of Duty, all of whom are still friends today.
Warcraft: Bonds of Brotherhood Motion Comic is one of those special features I'm not really a fan of. I'd rather buy a comic or see a proper animated feature rather than something half animated with a voiceover. That's not to say it's a bad story, but I just don't like this sort of extra.
Warcraft: The Madam Tussauds Experience explores the beautiful waxwork characters Tussauds have created for the Warcraft display.
ILM: Behind the Magic of Warcraft shows the CGI breakdowns of some of the VFX in the film.
Warcraft Teaser is, as you would expect by the name, the sneak peak trailer for the movie.
The second disc is a JB Hifi exclusive in Australia and is a DVD with even MORE extras on it, including Welcome to Warcraft, which explains the origins of the Blizzard game, The Weaponised Magic of Warcraft looks at the physical performance of magic used in the film and The World Within Warcraft explored the locations within the film.
The consistent theme throughout all the extras seems to be the efforts taken to accurately represent the Warcraft game and lore accurately. I reckon that is a pretty cool aspect to take when basing a film on an existing product.
Also, the packaging contains a digital copy of the film, and some bonuses from Blizzard for the games World of Warcraft, Heroes of the Storm and Hearthstone.
WISIA: I don't think it will be on high rotation, but I doubt if it will gather a year's worth of dust.
← R. I. P. Herschell Gordon Lewis
Come Out and Plaaaaaaa-aaaaaaaaaaay →


text:
Daniel Pinard, né en 1942, est un sociologue, animateur de télévision, chroniqueur et écrivain québécois.
Il est surtout connu pour les différentes émissions gastronomiques qu'il a animées pendant des années à la télévision.

Ouvertement homosexuel, Pinard n'hésite pas à blaguer sur son orientation et est, à quelques reprises, monté aux barricades pour la défense des homosexuels du Québec.

Biographie
Il est le fils de Roch Pinard, ancien député à la Chambre des communes et ministre fédéral.

Médiagraphie

Émissions télévisées
 Le 60, Radio-Canada (1975-1977)
Télémag, Radio-Canada (1977-1981)
Consommaction, Radio-Québec (1992-1995)
 Fleurs et jardins, TVA (1995-?)
 Ciel! mon Pinard, Télé-Québec, (1998-2000)
 Les pieds dans les plats, Télé-Québec (2000-2002)
 Jean-Louis Millette, portrait d'un comédien
 Du cœur au ventre, Radio-Canada (2007-2009)

Livres
 Pinardises: Recettes et propos culinaires (1994) Éditions Boréal
 Encore des Pinardises (2000) Éditions Boréal

Émissions radiophoniques
 Bonjour Montréal
 Il est chroniqueur pour l'émission Puisqu'il faut se lever à la station de radio de Montréal 98,5 FM.

Liens externes

  Du Cœur au Ventre, site officiel

Animateur québécois de radio
Écrivain québécois
Animateur québécois de télévision
Personnalité de Télé-Québec
Personnalité ayant fait son coming out
Naissance en 1942


emPolygonizer, is a plug in for Softimage which generates metaballs. The basic technique used by this plug-in is called "polygonising a scalar field" or "marching cubes". It was invented in the mid-eighties by Lorensen and Cline.
Following video by the creator shows what is new in emPolygonizer. Following a video tutorial walk through of the emPolygonizer.
Two and a half minutes of meshed particles using the new emPolygonizer4 (version 4.0).
So what's the big deal about this new version? It has - amongst several other things - texture coordinates, a.k.a. UVWs!
As usual this video was made to show a bit of what one can do with the new UVW functionality and also to test the new version for stability, bugs, etc.
All simulations (particles and meshes) were done on my workstation 1 x Intel i7).
The rendering was done on my workstation as well as on my two little laptops (1 x Intel i5m and 1 x Intel i7m ).
starting at 00:00 > "The new texture coordinate functionality".
starting at 07:40 > "The other new stuff".


Community service and probation are alternative punishments. In Alabama, a second time DUI would be punishable by a minimum of 5 days in jail, but a judge would probate that and send the person for 240 hours of community service, which would be a lot of community service. Things like community service, probation, alcohol classes, and defensive driving school are not necessarily considered punishments, whereas the alcohol classes and defensive driving school would be an alternative requirement to complete in lieu of jail time or potential jail time in many cases.
Is There Such A Thing As Drug Court In Alabama?
The drug court obviously handles drug charges instead of DUI, although it would be similar to a deferred prosecution in a DUI case whereby the client would probably subject himself to community service and probably do some counseling or drug treatment type sessions. They would have to report back to court on a regular basis to make sure they were staying out of trouble, and they would probably be randomly monitored for drugs and alcohol. They would have to go through this for probably 6 to 12 months if they were having a DUI conviction processed in the court.
Part of the epidemic lately is that the general public thinks drug court and deferred prosecution are something they would be able to handle without the assistance of a lawyer, and although they might be able to do that in some instances, I would not advise going into court without a lawyer because the person would not understand what they were signing up for. They would not understand how long they may keep them in there and the court system generally does a poor job of explaining exactly what is going on to criminal defendants.
It is not out of maliciousness or anything like that, but it would simply be because they are such a large and vast system that it allows people who work in it to think that everybody on earth deals with criminal court everyday of their lives. For somebody who had never been charged with a crime before, it would be a massively confusing process when they showed up for court, so they should certainly try to have somebody there whose sole purpose it was to protect their rights and guide them through the system.
What Happens If Someone Does Not Successfully Complete One Of These Alternative Programs?
This could potentially end up in jail time, which is why the person should make sure they understood what they had signed up for. It could result in a conviction on their record that would then result in an additional license suspension, potentially the cancellation of their insurance and potentially the loss of their job. It would be critically important to complete these programs if someone entered into it and they should have their attorney with them to fully explain what they would actually be getting into.
Is Everyone Who Is Charged Or Convicted Of A DUI In Alabama Required To Have An Ignition Interlock Device?
This is a relatively new law in Alabama, and it is just now starting to take hold because judges and other state officials do not really know how to implement the ignition interlock device, even though it has been around for a few years. The ignition interlock device is essentially a breathalyzer machine that is installed into the car and will not allow the car to run until the driver blew in it and registered no alcohol in their system.
The legislator in Alabama hastily passed the law regarding the ignition interlock because they felt like it made the public safer and made Alabama seem tougher on DUIs, although they did not really do much planning on how it was actually going to be implemented, what companies were going to manufacture these devices, who was going to install them, who was going to get paid to maintain them, and all of the things that go along with passing such a law.
It is still really new in Alabama and it is just now starting to take hold so not everybody who is convicted would be required to have an ignition interlock device. There are certain instances where someone charged with DUI may request to have an ignition interlock device installed because it might reduce or eliminate the period of driver's license suspension.
For more information on Alternatives To Jail, a free initial consultation is your next best step. Get the information and legal answers you're seeking by calling (205) 871-9990 today.
Home > DUI Defense > DUI Defense Laws > What Are Some Alternative Punishments To Jail For A DUI Conviction?