The inverse scattering transform for the focusing nonlinear Schrodinger equation is presented for a general class of initial conditions whose asymptotic behavior at infinity consists of counterpropagating waves. The formulation takes into account the branched nature of the two asymptotic eigenvalues of the associated scattering problem. The Jost eigenfunctions and scattering coefficients are defined explicitly as single-valued functions on the complex plane with jump discontinuities along certain branch cuts. The analyticity properties, symmetries, discrete spectrum, asymptotics and behavior at the branch points are discussed explicitly. The inverse problem is formulated as a matrix Riemann-Hilbert problem with poles. Reductions to all cases previously discussed in the literature are explicitly discussed. The scattering data associated to a few special cases consisting of physically relevant Riemann problems are explicitly computed.