What is the right term for a person who has the ability to put himself in other's shoes and understand their part? [duplicate]

Here https://www.youtube.com/watch?v=kXMnc2Xjj-o is a show dealing with psychopaths, centered on the neurologist James Fallon, who famously studied the brain function of condemned serial killers who were diagnosed as being psychopath. Quite by accident he discovered that, if brain function is diagnostic, he was a psychopath himself.

During the discussion, the distinction is made between cognitive empathy and emotional empathy. Cognitive empathy is the ability to detect and recognize the emotional state of another person, while emotional empathy results in caring about them.

Finally, some analysts also include "compassionate empathy" http://www.danielgoleman.info/three-kinds-of-empathy-cognitive-emotional-compassionate/ In this view, emotional empathy produces a sharing of feeling, while "compassionate empathy" produces a desire to help the other.


perceptive might fit.

perceptive adjective having or showing sensitive insight.

eg.

'Did you notice how quiet Bill was when Sue was talking about their holiday together? It makes me wonder if something happened that they're not telling us about.'

'Hmm! Now that you mention it, you're right. That's rather perceptive of you.'


"to read someone [like a book]"

Example

I don't understand John.

Oh, I can. I can read him like a book.

Yes, you are very good at reading people.

That's right I can read him and I can read his motives.

read someone like a book ... 2 Understand someone’s thoughts and motives easily.

http://www.oxforddictionaries.com/definition/english/read


[It was as though] he could see inside my head.

(Pretty similar to "he could read me like a book," which is also very good.)


In psychology, this is called theory of mind:

[T]he ability to attribute mental states . . . to oneself and others and to understand that others have beliefs, desires, intentions, and perspectives that are different from one's own.